enum MachineJumpTableInfo::JTEntryKind

Description

JTEntryKind - This enum indicates how each entry of the jump table is represented and emitted.

Declared at: llvm/include/llvm/CodeGen/MachineJumpTableInfo.h:46

Enumerators

NameValueComment
EK_BlockAddress0EK_BlockAddress - Each entry is a plain address of block, e.g.: .word LBB123
EK_GPRel64BlockAddress1EK_GPRel64BlockAddress - Each entry is an address of block, encoded with a relocation as gp-relative, e.g.: .gpdword LBB123
EK_GPRel32BlockAddress2EK_GPRel32BlockAddress - Each entry is an address of block, encoded with a relocation as gp-relative, e.g.: .gprel32 LBB123
EK_LabelDifference323EK_LabelDifference32 - Each entry is the address of the block minus the address of the jump table. This is used for PIC jump tables where gprel32 is not supported. e.g.: .word LBB123 - LJTI1_2 If the .set directive is supported, this is emitted as: .set L4_5_set_123, LBB123 - LJTI1_2 .word L4_5_set_123
EK_Inline4EK_Inline - Jump table entries are emitted inline at their point of use. It is the responsibility of the target to emit the entries.
EK_Custom325EK_Custom32 - Each entry is a 32-bit value that is custom lowered by the TargetLowering::LowerCustomJumpTableEntry hook.