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:84
Enumerators
| Name | Value | Comment |
|---|---|---|
| None | 0 | No attributes have been set |
| FirstEnumAttr | 1 | |
| AllocAlign | 1 | |
| AllocatedPointer | 2 | |
| AlwaysInline | 3 | |
| ArgMemOnly | 4 | |
| Builtin | 5 | |
| Cold | 6 | |
| Convergent | 7 | |
| DisableSanitizerInstrumentation | 8 | |
| FnRetThunkExtern | 9 | |
| Hot | 10 | |
| ImmArg | 11 | |
| InReg | 12 | |
| InaccessibleMemOnly | 13 | |
| InaccessibleMemOrArgMemOnly | 14 | |
| InlineHint | 15 | |
| JumpTable | 16 | |
| MinSize | 17 | |
| MustProgress | 18 | |
| Naked | 19 | |
| Nest | 20 | |
| NoAlias | 21 | |
| NoBuiltin | 22 | |
| NoCallback | 23 | |
| NoCapture | 24 | |
| NoCfCheck | 25 | |
| NoDuplicate | 26 | |
| NoFree | 27 | |
| NoImplicitFloat | 28 | |
| NoInline | 29 | |
| NoMerge | 30 | |
| NoProfile | 31 | |
| NoRecurse | 32 | |
| NoRedZone | 33 | |
| NoReturn | 34 | |
| NoSanitizeBounds | 35 | |
| NoSanitizeCoverage | 36 | |
| NoSync | 37 | |
| NoUndef | 38 | |
| NoUnwind | 39 | |
| NonLazyBind | 40 | |
| NonNull | 41 | |
| NullPointerIsValid | 42 | |
| OptForFuzzing | 43 | |
| OptimizeForSize | 44 | |
| OptimizeNone | 45 | |
| PresplitCoroutine | 46 | |
| ReadNone | 47 | |
| ReadOnly | 48 | |
| Returned | 49 | |
| ReturnsTwice | 50 | |
| SExt | 51 | |
| SafeStack | 52 | |
| SanitizeAddress | 53 | |
| SanitizeHWAddress | 54 | |
| SanitizeMemTag | 55 | |
| SanitizeMemory | 56 | |
| SanitizeThread | 57 | |
| ShadowCallStack | 58 | |
| Speculatable | 59 | |
| SpeculativeLoadHardening | 60 | |
| StackProtect | 61 | |
| StackProtectReq | 62 | |
| StackProtectStrong | 63 | |
| StrictFP | 64 | |
| SwiftAsync | 65 | |
| SwiftError | 66 | |
| SwiftSelf | 67 | |
| WillReturn | 68 | |
| WriteOnly | 69 | |
| ZExt | 70 | |
| LastEnumAttr | 70 | |
| FirstTypeAttr | 71 | |
| ByRef | 71 | |
| ByVal | 72 | |
| ElementType | 73 | |
| InAlloca | 74 | |
| Preallocated | 75 | |
| StructRet | 76 | |
| LastTypeAttr | 76 | |
| FirstIntAttr | 77 | |
| Alignment | 77 | |
| AllocKind | 78 | |
| AllocSize | 79 | |
| Dereferenceable | 80 | |
| DereferenceableOrNull | 81 | |
| StackAlignment | 82 | |
| UWTable | 83 | |
| VScaleRange | 84 | |
| LastIntAttr | 84 | |
| EndAttrKinds | 85 | Sentinal value useful for loops |
| EmptyKey | 86 | Use as Empty key for DenseMap of AttrKind |
| TombstoneKey | 87 | Use as Tombstone key for DenseMap of AttrKind |