llvm::MachineJumpTableInfo

Keeps track of jump tables referenced by lowered switch instructions.

Synopsis

Declared in <llvm/CodeGen/MachineJumpTableInfo.h>

class MachineJumpTableInfo;

Description

Instructions reference the address of these jump tables through MO_JumpTableIndex values. When emitting assembly or machine code, these virtual address references are converted to refer to the address of the function jump tables.

Enums

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

Member Functions

NameDescription
MachineJumpTableInfo [constructor]Construct jump table info with the given entry encoding kind.
RemoveJumpTable RemoveJumpTable - Mark the specific index as being dead. This will prevent it from being emitted.
RemoveMBBFromJumpTables RemoveMBBFromJumpTables - If MBB is present in any jump tables, remove it.
ReplaceMBBInJumpTable ReplaceMBBInJumpTable - If Old is a target of the jump tables, update the jump table to branch to New instead.
ReplaceMBBInJumpTables ReplaceMBBInJumpTables - If Old is the target of any jump tables, update the jump tables to branch to New instead.
createJumpTableIndex createJumpTableIndex - Create a new jump table.
dump dump - Call to stderr.
getEntryAlignment getEntryAlignment - Return the alignment of each entry in the jump table.
getEntryKind Return how each jump table entry is represented and emitted.
getEntrySize getEntrySize - Return the size of each entry in the jump table.
getJumpTables Return the jump tables owned by this function.
isEmpty isEmpty - Return true if there are no jump tables.
print print - Used by the MachineFunction printer to print information about jump tables. Implemented in MachineFunction.cpp
updateJumpTableEntryHotness Update the hotness of the jump table entry at index JTI.