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.