# enum LLVM::Attribute

##
Defined in:

llvm/enums.cr

##
Enum Members

Alignment = `1_u64`
AllocSize = `2_u64`
AlwaysInline = `4_u64`
ArgMemOnly = `8_u64`
Builtin = `16_u64`
ByVal = `32_u64`
Cold = `64_u64`
Convergent = `128_u64`
Dereferenceable = `256_u64`
DereferenceableOrNull = `512_u64`
InAlloca = `1024_u64`
InReg = `2048_u64`
InaccessibleMemOnly = `4096_u64`
InaccessibleMemOrArgMemOnly = `8192_u64`
InlineHint = `16384_u64`
JumpTable = `32768_u64`
MinSize = `65536_u64`
Naked = `131072_u64`
Nest = `262144_u64`
NoAlias = `524288_u64`
NoBuiltin = `1048576_u64`
NoCapture = `2097152_u64`
NoDuplicate = `4194304_u64`
NoFree = `8388608_u64`
NoImplicitFloat = `16777216_u64`
NoInline = `33554432_u64`
NoRecurse = `67108864_u64`
NoRedZone = `134217728_u64`
NoReturn = `268435456_u64`
NoSync = `536870912_u64`
NoUnwind = `1073741824_u64`
NonLazyBind = `2147483648_u64`
NonNull = `4294967296_u64`
OptimizeForSize = `8589934592_u64`
OptimizeNone = `17179869184_u64`
ReadNone = `34359738368_u64`
ReadOnly = `68719476736_u64`
Returned = `137438953472_u64`
ImmArg = `274877906944_u64`
ReturnsTwice = `549755813888_u64`
SExt = `1099511627776_u64`
SafeStack = `2199023255552_u64`
SanitizeAddress = `4398046511104_u64`
SanitizeMemory = `8796093022208_u64`
SanitizeThread = `17592186044416_u64`
StackAlignment = `35184372088832_u64`
StackProtect = `70368744177664_u64`
StackProtectReq = `140737488355328_u64`
StackProtectStrong = `281474976710656_u64`
StructRet = `562949953421312_u64`
SwiftError = `1125899906842624_u64`
SwiftSelf = `2251799813685248_u64`
UWTable = `4503599627370496_u64`
WillReturn = `9007199254740992_u64`
WriteOnly = `18014398509481984_u64`
ZExt = `36028797018963968_u64`
None = `0_u64`
All = `72057594037927935_u64`

##
Class Method Summary

- .from_kind(kind)
- .kind_for(member)
- .requires_type?(kind)

##
Instance Method Summary

- #alignment?
- #alloc_size?
- #always_inline?
- #arg_mem_only?
- #builtin?
- #by_val?
- #cold?
- #convergent?
- #dereferenceable?
- #dereferenceable_or_null?
- #each_kind(& : UInt32 -> )
- #imm_arg?
- #in_alloca?
- #in_reg?
- #inaccessible_mem_only?
- #inaccessible_mem_or_arg_mem_only?
- #inline_hint?
- #jump_table?
- #min_size?
- #naked?
- #nest?
- #no_alias?
- #no_builtin?
- #no_capture?
- #no_duplicate?
- #no_free?
- #no_implicit_float?
- #no_inline?
- #no_recurse?
- #no_red_zone?
- #no_return?
- #no_sync?
- #no_unwind?
- #non_lazy_bind?
- #non_null?
- #none?
- #optimize_for_size?
- #optimize_none?
- #read_none?
- #read_only?
- #returned?
- #returns_twice?
- #s_ext?
- #safe_stack?
- #sanitize_address?
- #sanitize_memory?
- #sanitize_thread?
- #stack_alignment?
- #stack_protect?
- #stack_protect_req?
- #stack_protect_strong?
- #struct_ret?
- #swift_error?
- #swift_self?
- #uw_table?
- #will_return?
- #write_only?
- #z_ext?

### Instance methods inherited from struct `Enum`

&(other : self) : self &, +(other : Int) : self +, -(other : Int) : self -, <=>(other : self) <=>, ==(other : self)
==(other) ==, ^(other : self) : self ^, |(other : self) : self |, ~ : self ~, clone clone, each(& : self -> ) each, hash(hasher) hash, includes?(other : self) : Bool includes?, inspect(io : IO) : Nil inspect, to_f32 : Float32 to_f32, to_f32! : Float32 to_f32!, to_f64 : Float64 to_f64, to_f64! : Float64 to_f64!, to_i : Int32 to_i, to_i128 : Int128 to_i128, to_i128! : Int128 to_i128!, to_i16 : Int16 to_i16, to_i16! : Int16 to_i16!, to_i32 : Int32 to_i32, to_i32! : Int32 to_i32!, to_i64 : Int64 to_i64, to_i64! : Int64 to_i64!, to_i8 : Int8 to_i8, to_i8! : Int8 to_i8!, to_json(json : JSON::Builder) to_json, to_s(io : IO) : Nil
to_s : String to_s, to_u128 : UInt128 to_u128, to_u128! : UInt128 to_u128!, to_u16 : UInt16 to_u16, to_u16! : UInt16 to_u16!, to_u32 : UInt32 to_u32, to_u32! : UInt32 to_u32!, to_u64 : UInt64 to_u64, to_u64! : UInt64 to_u64!, to_u8 : UInt8 to_u8, to_u8! : UInt8 to_u8!, to_yaml(yaml : YAML::Nodes::Builder) to_yaml, value : Int value

### Constructor methods inherited from struct `Enum`

from_value(value : Int) : self from_value, new(ctx : YAML::ParseContext, node : YAML::Nodes::Node)
new(value : self)
new(pull : JSON::PullParser) new, parse(string : String) : self parse

### Class methods inherited from struct `Enum`

each(& : self -> ) each, from_value?(value : Int) : self | Nil from_value?, names : Array(String) names, parse?(string : String) : self | Nil parse?, valid?(value : self) : Bool valid?, values : Array(self) values

### Macros inherited from struct `Enum`

[](*values) [], flags(*values) flags

### Instance methods inherited from module `Comparable(Enum)`

<(other : T) : Bool <, <=(other : T) <=, <=>(other : T) <=>, ==(other : T) ==, >(other : T) : Bool >, >=(other : T) >=, clamp(min, max)
clamp(range : Range) clamp

### Instance methods inherited from struct `Value`

==(other : JSON::Any)
==(other : YAML::Any)
==(other) ==, dup dup

### Instance methods inherited from class `Object`

! : Bool !, !=(other) !=, !~(other) !~, ==(other) ==, ===(other : JSON::Any)
===(other : YAML::Any)
===(other) ===, =~(other) =~, as(type : Class) as, as?(type : Class) as?, class class, dup dup, hash(hasher)
hash hash, in?(collection : Object) : Bool
in?(*values : Object) : Bool in?, inspect(io : IO) : Nil
inspect : String inspect, is_a?(type : Class) : Bool is_a?, itself itself, nil? : Bool nil?, not_nil!(message)
not_nil! not_nil!, pretty_inspect(width = 79, newline = "\n", indent = 0) : String pretty_inspect, pretty_print(pp : PrettyPrint) : Nil pretty_print, responds_to?(name : Symbol) : Bool responds_to?, tap(&) tap, to_json(io : IO) : Nil
to_json : String to_json, to_pretty_json(indent : String = " ") : String
to_pretty_json(io : IO, indent : String = " ") : Nil to_pretty_json, to_s(io : IO) : Nil
to_s : String to_s, to_yaml(io : IO) : Nil
to_yaml : String to_yaml, try(&) try, unsafe_as(type : T.class) forall T unsafe_as

### Class methods inherited from class `Object`

from_json(string_or_io, root : String)
from_json(string_or_io) from_json, from_yaml(string_or_io : String | IO) from_yaml

### Macros inherited from class `Object`

class_getter(*names, &block) class_getter, class_getter!(*names) class_getter!, class_getter?(*names, &block) class_getter?, class_property(*names, &block) class_property, class_property!(*names) class_property!, class_property?(*names, &block) class_property?, class_setter(*names) class_setter, def_clone def_clone, def_equals(*fields) def_equals, def_equals_and_hash(*fields) def_equals_and_hash, def_hash(*fields) def_hash, delegate(*methods, to object) delegate, forward_missing_to(delegate) forward_missing_to, getter(*names, &block) getter, getter!(*names) getter!, getter?(*names, &block) getter?, property(*names, &block) property, property!(*names) property!, property?(*names, &block) property?, setter(*names) setter

##
Class Method Detail

def self.from_kind(kind) #
def self.kind_for(member) #
def self.requires_type?(kind) #

##
Instance Method Detail

def alignment? #
def alloc_size? #
def always_inline? #
def arg_mem_only? #
def builtin? #
def by_val? #
def cold? #
def convergent? #
def dereferenceable? #
def dereferenceable_or_null? #
def each_kind(& : UInt32 -> ) #
def imm_arg? #
def in_alloca? #
def in_reg? #
def inaccessible_mem_only? #
def inaccessible_mem_or_arg_mem_only? #
def inline_hint? #
def jump_table? #
def min_size? #
def naked? #
def nest? #
def no_alias? #
def no_builtin? #
def no_capture? #
def no_duplicate? #
def no_free? #
def no_implicit_float? #
def no_inline? #
def no_recurse? #
def no_red_zone? #
def no_return? #
def no_sync? #
def no_unwind? #
def non_lazy_bind? #
def non_null? #
def none? #
def optimize_for_size? #
def optimize_none? #
def read_none? #
def read_only? #
def returned? #
def returns_twice? #
def s_ext? #
def safe_stack? #
def sanitize_address? #
def sanitize_memory? #
def sanitize_thread? #
def stack_alignment? #
def stack_protect? #
def stack_protect_req? #
def stack_protect_strong? #
def struct_ret? #
def swift_error? #
def swift_self? #
def uw_table? #
def will_return? #
def write_only? #
def z_ext? #