LLVM: lib/Support/AArch64BuildAttributes.cpp Source File (original) (raw)
1
2
3
4
5
6
7
8
11
12using namespace llvm;
14
16 switch (Vendor) {
18 return "aeabi_feature_and_bits";
20 return "aeabi_pauthabi";
22 return "";
23 default:
24 assert(0 && "Vendor name error");
25 return "";
26 }
27}
34
36 switch (Optional) {
38 return "required";
40 return "optional";
42 default:
43 return "";
44 }
45}
53 return "unknown AArch64 build attributes optionality, expected "
54 "required|optional";
55}
56
58 switch (Type) {
60 return "uleb128";
62 return "ntbs";
64 default:
65 return "";
66 }
67}
71 .Cases({"ntbs", "NTBS"}, NTBS)
73}
75 return "unknown AArch64 build attributes type, expected uleb128|ntbs";
76}
77
79 switch (PauthABITag) {
81 return "Tag_PAuth_Platform";
83 return "Tag_PAuth_Schema";
85 default:
86 return "";
87 }
88}
89
96
99 switch (FeatureAndBitsTag) {
101 return "Tag_Feature_BTI";
103 return "Tag_Feature_PAC";
105 return "Tag_Feature_GCS";
107 default:
108 return "";
109 }
110}
111
assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")
This file implements the StringSwitch template, which mimics a switch() statement whose cases are str...
StringRef - Represent a constant reference to a string, i.e.
A switch()-like statement whose cases are string literals.
StringSwitch & Case(StringLiteral S, T Value)
StringSwitch & Cases(std::initializer_list< StringLiteral > CaseStrings, T Value)
The instances of the Type class are immutable: once they are created, they are never changed.
SubsectionType getTypeID(StringRef Type)
Definition AArch64BuildAttributes.cpp:68
StringRef getPauthABITagsStr(unsigned PauthABITag)
Definition AArch64BuildAttributes.cpp:78
StringRef getVendorName(unsigned const Vendor)
Definition AArch64BuildAttributes.cpp:15
StringRef getOptionalStr(unsigned Optional)
Definition AArch64BuildAttributes.cpp:35
@ FEATURE_AND_BITS_TAG_NOT_FOUND
VendorID
AArch64 build attributes vendors IDs (a.k.a subsection name)
StringRef getSubsectionTypeUnknownError()
Definition AArch64BuildAttributes.cpp:74
SubsectionOptional getOptionalID(StringRef Optional)
Definition AArch64BuildAttributes.cpp:46
StringRef getSubsectionOptionalUnknownError()
Definition AArch64BuildAttributes.cpp:52
FeatureAndBitsTags getFeatureAndBitsTagsID(StringRef FeatureAndBitsTag)
Definition AArch64BuildAttributes.cpp:113
VendorID getVendorID(StringRef const Vendor)
Definition AArch64BuildAttributes.cpp:28
PauthABITags getPauthABITagsID(StringRef PauthABITag)
Definition AArch64BuildAttributes.cpp:90
StringRef getTypeStr(unsigned Type)
Definition AArch64BuildAttributes.cpp:57
StringRef getFeatureAndBitsTagsStr(unsigned FeatureAndBitsTag)
Definition AArch64BuildAttributes.cpp:98
This is an optimization pass for GlobalISel generic memory operations.
@ Default
The result values are uniform if and only if all operands are uniform.