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

NameValueComment
None0No attributes have been set
FirstEnumAttr1
AllocAlign1
AllocatedPointer2
AlwaysInline3
ArgMemOnly4
Builtin5
Cold6
Convergent7
DisableSanitizerInstrumentation8
FnRetThunkExtern9
Hot10
ImmArg11
InReg12
InaccessibleMemOnly13
InaccessibleMemOrArgMemOnly14
InlineHint15
JumpTable16
MinSize17
MustProgress18
Naked19
Nest20
NoAlias21
NoBuiltin22
NoCallback23
NoCapture24
NoCfCheck25
NoDuplicate26
NoFree27
NoImplicitFloat28
NoInline29
NoMerge30
NoProfile31
NoRecurse32
NoRedZone33
NoReturn34
NoSanitizeBounds35
NoSanitizeCoverage36
NoSync37
NoUndef38
NoUnwind39
NonLazyBind40
NonNull41
NullPointerIsValid42
OptForFuzzing43
OptimizeForSize44
OptimizeNone45
PresplitCoroutine46
ReadNone47
ReadOnly48
Returned49
ReturnsTwice50
SExt51
SafeStack52
SanitizeAddress53
SanitizeHWAddress54
SanitizeMemTag55
SanitizeMemory56
SanitizeThread57
ShadowCallStack58
Speculatable59
SpeculativeLoadHardening60
StackProtect61
StackProtectReq62
StackProtectStrong63
StrictFP64
SwiftAsync65
SwiftError66
SwiftSelf67
WillReturn68
WriteOnly69
ZExt70
LastEnumAttr70
FirstTypeAttr71
ByRef71
ByVal72
ElementType73
InAlloca74
Preallocated75
StructRet76
LastTypeAttr76
FirstIntAttr77
Alignment77
AllocKind78
AllocSize79
Dereferenceable80
DereferenceableOrNull81
StackAlignment82
UWTable83
VScaleRange84
LastIntAttr84
EndAttrKinds85Sentinal value useful for loops
EmptyKey86Use as Empty key for DenseMap of AttrKind
TombstoneKey87Use as Tombstone key for DenseMap of AttrKind