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:302

Enumerators

NameValueComment
IK_First0
IK_FirstTypedInit1
IK_BitInit2
IK_BitsInit3
IK_CodeInit4
IK_DagInit5
IK_DefInit6
IK_FieldInit7
IK_IntInit8
IK_ListInit9
IK_FirstOpInit10
IK_BinOpInit11
IK_TernOpInit12
IK_UnOpInit13
IK_LastOpInit14
IK_CondOpInit15
IK_FoldOpInit16
IK_IsAOpInit17
IK_StringInit18
IK_VarInit19
IK_VarListElementInit20
IK_VarBitInit21
IK_VarDefInit22
IK_LastTypedInit23
IK_UnsetInit24