enum Attribute::AttrKind
Description
This enumeration lists the attributes that can be associated with parameters, function results, or the function itself. Note: The `uwtable' attribute is about the ABI or the user mandating an entry in the unwind table. The `nounwind' attribute is about an exception passing by the function. In a theoretical system that uses tables for profiling and SjLj for exceptions, they would be fully independent. In a normal system that uses tables for both, the semantics are: nil = Needs an entry because an exception might pass by. nounwind = No need for an entry uwtable = Needs an entry because the ABI says so and because an exception might pass by. uwtable + nounwind = Needs an entry because the ABI says so.
Declared at: llvm/include/llvm/IR/Attributes.h:70
Enumerators
Name | Value | Comment |
---|---|---|
None | 0 | No attributes have been set |
FirstEnumAttr | 1 | |
AlwaysInline | 1 | |
ArgMemOnly | 2 | |
Builtin | 3 | |
Cold | 4 | |
Convergent | 5 | |
DisableSanitizerInstrumentation | 6 | |
Hot | 7 | |
ImmArg | 8 | |
InReg | 9 | |
InaccessibleMemOnly | 10 | |
InaccessibleMemOrArgMemOnly | 11 | |
InlineHint | 12 | |
JumpTable | 13 | |
MinSize | 14 | |
MustProgress | 15 | |
Naked | 16 | |
Nest | 17 | |
NoAlias | 18 | |
NoBuiltin | 19 | |
NoCallback | 20 | |
NoCapture | 21 | |
NoCfCheck | 22 | |
NoDuplicate | 23 | |
NoFree | 24 | |
NoImplicitFloat | 25 | |
NoInline | 26 | |
NoMerge | 27 | |
NoProfile | 28 | |
NoRecurse | 29 | |
NoRedZone | 30 | |
NoReturn | 31 | |
NoSanitizeCoverage | 32 | |
NoSync | 33 | |
NoUndef | 34 | |
NoUnwind | 35 | |
NonLazyBind | 36 | |
NonNull | 37 | |
NullPointerIsValid | 38 | |
OptForFuzzing | 39 | |
OptimizeForSize | 40 | |
OptimizeNone | 41 | |
ReadNone | 42 | |
ReadOnly | 43 | |
Returned | 44 | |
ReturnsTwice | 45 | |
SExt | 46 | |
SafeStack | 47 | |
SanitizeAddress | 48 | |
SanitizeHWAddress | 49 | |
SanitizeMemTag | 50 | |
SanitizeMemory | 51 | |
SanitizeThread | 52 | |
ShadowCallStack | 53 | |
Speculatable | 54 | |
SpeculativeLoadHardening | 55 | |
StackProtect | 56 | |
StackProtectReq | 57 | |
StackProtectStrong | 58 | |
StrictFP | 59 | |
SwiftAsync | 60 | |
SwiftError | 61 | |
SwiftSelf | 62 | |
UWTable | 63 | |
WillReturn | 64 | |
WriteOnly | 65 | |
ZExt | 66 | |
LastEnumAttr | 66 | |
FirstTypeAttr | 67 | |
ByRef | 67 | |
ByVal | 68 | |
ElementType | 69 | |
InAlloca | 70 | |
Preallocated | 71 | |
StructRet | 72 | |
LastTypeAttr | 72 | |
FirstIntAttr | 73 | |
Alignment | 73 | |
AllocSize | 74 | |
Dereferenceable | 75 | |
DereferenceableOrNull | 76 | |
StackAlignment | 77 | |
VScaleRange | 78 | |
LastIntAttr | 78 | |
EndAttrKinds | 79 | Sentinal value useful for loops |