enum Init::InitKind

Description

Discriminator enum (for isa < >, dyn_cast < >, et al.) This enum is laid out by a preorder traversal of the inheritance hierarchy, and does not contain an entry for abstract classes, as per the recommendation in docs/HowToSetUpLLVMStyleRTTI.rst. We also explicitly include "first" and "last" values for each interior node of the inheritance tree, to make it easier to read the corresponding classof(). We could pack these a bit tighter by not having the IK_FirstXXXInit and IK_LastXXXInit be their own values, but that would degrade readability for really no benefit.

Declared at: llvm/include/llvm/TableGen/Record.h:296

Enumerators

NameValueComment
IK_First0
IK_FirstTypedInit1
IK_BitInit2
IK_BitsInit3
IK_DagInit4
IK_DefInit5
IK_FieldInit6
IK_IntInit7
IK_ListInit8
IK_FirstOpInit9
IK_BinOpInit10
IK_TernOpInit11
IK_UnOpInit12
IK_LastOpInit13
IK_CondOpInit14
IK_FoldOpInit15
IK_IsAOpInit16
IK_ExistsOpInit17
IK_AnonymousNameInit18
IK_StringInit19
IK_VarInit20
IK_VarListElementInit21
IK_VarBitInit22
IK_VarDefInit23
IK_LastTypedInit24
IK_UnsetInit25