LLVM
20.0.0git
lib
Support
ARMBuildAttrs.cpp
Go to the documentation of this file.
1
//===-- ARMBuildAttrs.cpp - ARM Build Attributes --------------------------===//
2
//
3
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
// See https://llvm.org/LICENSE.txt for license information.
5
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
//
7
//===----------------------------------------------------------------------===//
8
9
#include "
llvm/Support/ARMBuildAttributes.h
"
10
#include "
llvm/ADT/Twine.h
"
11
#include "
llvm/Support/LEB128.h
"
12
#include <iomanip>
13
#include <sstream>
14
15
using namespace
llvm
;
16
17
static
const
TagNameItem
tagData
[] = {
18
{
ARMBuildAttrs::File
,
"Tag_File"
},
19
{
ARMBuildAttrs::Section
,
"Tag_Section"
},
20
{
ARMBuildAttrs::Symbol
,
"Tag_Symbol"
},
21
{
ARMBuildAttrs::CPU_raw_name
,
"Tag_CPU_raw_name"
},
22
{
ARMBuildAttrs::CPU_name
,
"Tag_CPU_name"
},
23
{
ARMBuildAttrs::CPU_arch
,
"Tag_CPU_arch"
},
24
{
ARMBuildAttrs::CPU_arch_profile
,
"Tag_CPU_arch_profile"
},
25
{
ARMBuildAttrs::ARM_ISA_use
,
"Tag_ARM_ISA_use"
},
26
{
ARMBuildAttrs::THUMB_ISA_use
,
"Tag_THUMB_ISA_use"
},
27
{
ARMBuildAttrs::FP_arch
,
"Tag_FP_arch"
},
28
{
ARMBuildAttrs::WMMX_arch
,
"Tag_WMMX_arch"
},
29
{
ARMBuildAttrs::Advanced_SIMD_arch
,
"Tag_Advanced_SIMD_arch"
},
30
{
ARMBuildAttrs::MVE_arch
,
"Tag_MVE_arch"
},
31
{
ARMBuildAttrs::PCS_config
,
"Tag_PCS_config"
},
32
{
ARMBuildAttrs::ABI_PCS_R9_use
,
"Tag_ABI_PCS_R9_use"
},
33
{
ARMBuildAttrs::ABI_PCS_RW_data
,
"Tag_ABI_PCS_RW_data"
},
34
{
ARMBuildAttrs::ABI_PCS_RO_data
,
"Tag_ABI_PCS_RO_data"
},
35
{
ARMBuildAttrs::ABI_PCS_GOT_use
,
"Tag_ABI_PCS_GOT_use"
},
36
{
ARMBuildAttrs::ABI_PCS_wchar_t
,
"Tag_ABI_PCS_wchar_t"
},
37
{
ARMBuildAttrs::ABI_FP_rounding
,
"Tag_ABI_FP_rounding"
},
38
{
ARMBuildAttrs::ABI_FP_denormal
,
"Tag_ABI_FP_denormal"
},
39
{
ARMBuildAttrs::ABI_FP_exceptions
,
"Tag_ABI_FP_exceptions"
},
40
{
ARMBuildAttrs::ABI_FP_user_exceptions
,
"Tag_ABI_FP_user_exceptions"
},
41
{
ARMBuildAttrs::ABI_FP_number_model
,
"Tag_ABI_FP_number_model"
},
42
{
ARMBuildAttrs::ABI_align_needed
,
"Tag_ABI_align_needed"
},
43
{
ARMBuildAttrs::ABI_align_preserved
,
"Tag_ABI_align_preserved"
},
44
{
ARMBuildAttrs::ABI_enum_size
,
"Tag_ABI_enum_size"
},
45
{
ARMBuildAttrs::ABI_HardFP_use
,
"Tag_ABI_HardFP_use"
},
46
{
ARMBuildAttrs::ABI_VFP_args
,
"Tag_ABI_VFP_args"
},
47
{
ARMBuildAttrs::ABI_WMMX_args
,
"Tag_ABI_WMMX_args"
},
48
{
ARMBuildAttrs::ABI_optimization_goals
,
"Tag_ABI_optimization_goals"
},
49
{
ARMBuildAttrs::ABI_FP_optimization_goals
,
"Tag_ABI_FP_optimization_goals"
},
50
{
ARMBuildAttrs::compatibility
,
"Tag_compatibility"
},
51
{
ARMBuildAttrs::CPU_unaligned_access
,
"Tag_CPU_unaligned_access"
},
52
{
ARMBuildAttrs::FP_HP_extension
,
"Tag_FP_HP_extension"
},
53
{
ARMBuildAttrs::ABI_FP_16bit_format
,
"Tag_ABI_FP_16bit_format"
},
54
{
ARMBuildAttrs::MPextension_use
,
"Tag_MPextension_use"
},
55
{
ARMBuildAttrs::DIV_use
,
"Tag_DIV_use"
},
56
{
ARMBuildAttrs::DSP_extension
,
"Tag_DSP_extension"
},
57
{
ARMBuildAttrs::PAC_extension
,
"Tag_PAC_extension"
},
58
{
ARMBuildAttrs::BTI_extension
,
"Tag_BTI_extension"
},
59
{
ARMBuildAttrs::BTI_use
,
"Tag_BTI_use"
},
60
{
ARMBuildAttrs::PACRET_use
,
"Tag_PACRET_use"
},
61
{
ARMBuildAttrs::nodefaults
,
"Tag_nodefaults"
},
62
{
ARMBuildAttrs::also_compatible_with
,
"Tag_also_compatible_with"
},
63
{
ARMBuildAttrs::T2EE_use
,
"Tag_T2EE_use"
},
64
{
ARMBuildAttrs::conformance
,
"Tag_conformance"
},
65
{
ARMBuildAttrs::Virtualization_use
,
"Tag_Virtualization_use"
},
66
67
// Legacy Names
68
{
ARMBuildAttrs::FP_arch
,
"Tag_VFP_arch"
},
69
{
ARMBuildAttrs::FP_HP_extension
,
"Tag_VFP_HP_extension"
},
70
{
ARMBuildAttrs::ABI_align_needed
,
"Tag_ABI_align8_needed"
},
71
{
ARMBuildAttrs::ABI_align_preserved
,
"Tag_ABI_align8_preserved"
},
72
};
73
74
constexpr
TagNameMap
ARMAttributeTags
{
tagData
};
75
const
TagNameMap
&
llvm::ARMBuildAttrs::getARMAttributeTags
() {
76
return
ARMAttributeTags
;
77
}
ARMBuildAttributes.h
ARMAttributeTags
constexpr TagNameMap ARMAttributeTags
Definition:
ARMBuildAttrs.cpp:74
tagData
static const TagNameItem tagData[]
Definition:
ARMBuildAttrs.cpp:17
LEB128.h
Twine.h
llvm::ArrayRef< TagNameItem >
llvm::ARMBuildAttrs::getARMAttributeTags
const TagNameMap & getARMAttributeTags()
Definition:
ARMBuildAttrs.cpp:75
llvm::ARMBuildAttrs::CPU_arch
@ CPU_arch
Definition:
ARMBuildAttributes.h:39
llvm::ARMBuildAttrs::CPU_raw_name
@ CPU_raw_name
Definition:
ARMBuildAttributes.h:37
llvm::ARMBuildAttrs::ABI_PCS_R9_use
@ ABI_PCS_R9_use
Definition:
ARMBuildAttributes.h:47
llvm::ARMBuildAttrs::ABI_FP_16bit_format
@ ABI_FP_16bit_format
Definition:
ARMBuildAttributes.h:68
llvm::ARMBuildAttrs::T2EE_use
@ T2EE_use
Definition:
ARMBuildAttributes.h:87
llvm::ARMBuildAttrs::PCS_config
@ PCS_config
Definition:
ARMBuildAttributes.h:46
llvm::ARMBuildAttrs::ABI_FP_exceptions
@ ABI_FP_exceptions
Definition:
ARMBuildAttributes.h:54
llvm::ARMBuildAttrs::CPU_unaligned_access
@ CPU_unaligned_access
Definition:
ARMBuildAttributes.h:66
llvm::ARMBuildAttrs::ARM_ISA_use
@ ARM_ISA_use
Definition:
ARMBuildAttributes.h:41
llvm::ARMBuildAttrs::Virtualization_use
@ Virtualization_use
Definition:
ARMBuildAttributes.h:77
llvm::ARMBuildAttrs::ABI_align_needed
@ ABI_align_needed
Definition:
ARMBuildAttributes.h:57
llvm::ARMBuildAttrs::BTI_use
@ BTI_use
Definition:
ARMBuildAttributes.h:78
llvm::ARMBuildAttrs::FP_HP_extension
@ FP_HP_extension
Definition:
ARMBuildAttributes.h:67
llvm::ARMBuildAttrs::ABI_WMMX_args
@ ABI_WMMX_args
Definition:
ARMBuildAttributes.h:62
llvm::ARMBuildAttrs::Section
@ Section
Legacy Tags.
Definition:
ARMBuildAttributes.h:82
llvm::ARMBuildAttrs::ABI_optimization_goals
@ ABI_optimization_goals
Definition:
ARMBuildAttributes.h:63
llvm::ARMBuildAttrs::ABI_FP_user_exceptions
@ ABI_FP_user_exceptions
Definition:
ARMBuildAttributes.h:55
llvm::ARMBuildAttrs::MVE_arch
@ MVE_arch
Definition:
ARMBuildAttributes.h:72
llvm::ARMBuildAttrs::ABI_PCS_RO_data
@ ABI_PCS_RO_data
Definition:
ARMBuildAttributes.h:49
llvm::ARMBuildAttrs::Advanced_SIMD_arch
@ Advanced_SIMD_arch
Definition:
ARMBuildAttributes.h:45
llvm::ARMBuildAttrs::ABI_FP_rounding
@ ABI_FP_rounding
Definition:
ARMBuildAttributes.h:52
llvm::ARMBuildAttrs::BTI_extension
@ BTI_extension
Definition:
ARMBuildAttributes.h:74
llvm::ARMBuildAttrs::DIV_use
@ DIV_use
Definition:
ARMBuildAttributes.h:70
llvm::ARMBuildAttrs::ABI_VFP_args
@ ABI_VFP_args
Definition:
ARMBuildAttributes.h:61
llvm::ARMBuildAttrs::ABI_FP_number_model
@ ABI_FP_number_model
Definition:
ARMBuildAttributes.h:56
llvm::ARMBuildAttrs::Symbol
@ Symbol
Definition:
ARMBuildAttributes.h:83
llvm::ARMBuildAttrs::ABI_FP_optimization_goals
@ ABI_FP_optimization_goals
Definition:
ARMBuildAttributes.h:64
llvm::ARMBuildAttrs::MPextension_use
@ MPextension_use
Definition:
ARMBuildAttributes.h:69
llvm::ARMBuildAttrs::ABI_enum_size
@ ABI_enum_size
Definition:
ARMBuildAttributes.h:59
llvm::ARMBuildAttrs::WMMX_arch
@ WMMX_arch
Definition:
ARMBuildAttributes.h:44
llvm::ARMBuildAttrs::ABI_HardFP_use
@ ABI_HardFP_use
Definition:
ARMBuildAttributes.h:60
llvm::ARMBuildAttrs::DSP_extension
@ DSP_extension
Definition:
ARMBuildAttributes.h:71
llvm::ARMBuildAttrs::ABI_PCS_RW_data
@ ABI_PCS_RW_data
Definition:
ARMBuildAttributes.h:48
llvm::ARMBuildAttrs::FP_arch
@ FP_arch
Definition:
ARMBuildAttributes.h:43
llvm::ARMBuildAttrs::PACRET_use
@ PACRET_use
Definition:
ARMBuildAttributes.h:79
llvm::ARMBuildAttrs::ABI_align_preserved
@ ABI_align_preserved
Definition:
ARMBuildAttributes.h:58
llvm::ARMBuildAttrs::ABI_PCS_wchar_t
@ ABI_PCS_wchar_t
Definition:
ARMBuildAttributes.h:51
llvm::ARMBuildAttrs::CPU_arch_profile
@ CPU_arch_profile
Definition:
ARMBuildAttributes.h:40
llvm::ARMBuildAttrs::THUMB_ISA_use
@ THUMB_ISA_use
Definition:
ARMBuildAttributes.h:42
llvm::ARMBuildAttrs::ABI_FP_denormal
@ ABI_FP_denormal
Definition:
ARMBuildAttributes.h:53
llvm::ARMBuildAttrs::PAC_extension
@ PAC_extension
Definition:
ARMBuildAttributes.h:73
llvm::ARMBuildAttrs::CPU_name
@ CPU_name
Definition:
ARMBuildAttributes.h:38
llvm::ARMBuildAttrs::also_compatible_with
@ also_compatible_with
Definition:
ARMBuildAttributes.h:75
llvm::ARMBuildAttrs::ABI_PCS_GOT_use
@ ABI_PCS_GOT_use
Definition:
ARMBuildAttributes.h:50
llvm::ARMBuildAttrs::File
@ File
Definition:
ARMBuildAttributes.h:36
llvm::ARMBuildAttrs::compatibility
@ compatibility
Definition:
ARMBuildAttributes.h:65
llvm::ARMBuildAttrs::nodefaults
@ nodefaults
Definition:
ARMBuildAttributes.h:86
llvm::ARMBuildAttrs::conformance
@ conformance
Definition:
ARMBuildAttributes.h:76
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition:
AddressRanges.h:18
llvm::TagNameItem
Definition:
ELFAttributes.h:18
Generated on Mon Nov 11 2024 17:46:28 for LLVM by
1.9.6