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
Name | Value | Comment |
---|---|---|
EK_BlockAddress | 0 | EK_BlockAddress - Each entry is a plain address of block, e.g.: .word LBB123 |
EK_GPRel64BlockAddress | 1 | EK_GPRel64BlockAddress - Each entry is an address of block, encoded with a relocation as gp-relative, e.g.: .gpdword LBB123 |
EK_GPRel32BlockAddress | 2 | EK_GPRel32BlockAddress - Each entry is an address of block, encoded with a relocation as gp-relative, e.g.: .gprel32 LBB123 |
EK_LabelDifference32 | 3 | EK_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_Inline | 4 | EK_Inline - Jump table entries are emitted inline at their point of use. It is the responsibility of the target to emit the entries. |
EK_Custom32 | 5 | EK_Custom32 - Each entry is a 32-bit value that is custom lowered by the TargetLowering::LowerCustomJumpTableEntry hook. |