class StatepointOpers
Declaration
class StatepointOpers { /* full declaration omitted */ };
Description
MI-level Statepoint operands Statepoint operands take the form: <id >, <num patch bytes >, <num call arguments>, <call target>, [call arguments...], <StackMaps ::ConstantOp>, <calling convention>, <StackMaps ::ConstantOp>, <statepoint flags>, <StackMaps ::ConstantOp>, <num deopt args>, [deopt args...], <StackMaps ::ConstantOp>, <num gc pointer args>, [gc pointer args...], <StackMaps ::ConstantOp>, <num gc allocas>, [gc allocas args...], <StackMaps ::ConstantOp>, <num entries in gc map>, [base/derived pairs] base/derived pairs in gc map are logical indices into <gc pointer args> section. All gc pointers assigned to VRegs produce new value (in form of MI Def operand) and are tied to it.
Declared at: llvm/include/llvm/CodeGen/StackMaps.h:158
Member Variables
- private const llvm::MachineInstr* MI
- private unsigned int NumDefs
Method Overview
- public StatepointOpers(const llvm::MachineInstr * MI)
- public unsigned int getCCIdx() const
- public const llvm::MachineOperand & getCallTarget() const
- public CallingConv::ID getCallingConv() const
- public int getFirstGCPtrIdx()
- public uint64_t getFlags() const
- public unsigned int getFlagsIdx() const
- public unsigned int getGCPointerMap(SmallVectorImpl<std::pair<unsigned int, unsigned int>> & GCMap)
- public uint64_t getID() const
- public unsigned int getIDPos() const
- public unsigned int getNBytesPos() const
- public unsigned int getNCallArgsPos() const
- public unsigned int getNumAllocaIdx()
- public uint64_t getNumDeoptArgs() const
- public unsigned int getNumDeoptArgsIdx() const
- public unsigned int getNumGCPtrIdx()
- public unsigned int getNumGcMapEntriesIdx()
- public uint32_t getNumPatchBytes() const
- public unsigned int getVarIdx() const
Methods
¶StatepointOpers(const llvm::MachineInstr* MI)
StatepointOpers(const llvm::MachineInstr* MI)
Declared at: llvm/include/llvm/CodeGen/StackMaps.h:173
Parameters
- const llvm::MachineInstr* MI
¶unsigned int getCCIdx() const
unsigned int getCCIdx() const
Description
Get index of Calling Convention operand.
Declared at: llvm/include/llvm/CodeGen/StackMaps.h:193
¶const llvm::MachineOperand& getCallTarget() const
const llvm::MachineOperand& getCallTarget() const
Description
Return the target of the underlying call.
Declared at: llvm/include/llvm/CodeGen/StackMaps.h:212
¶CallingConv::ID getCallingConv() const
CallingConv::ID getCallingConv() const
Description
Return the calling convention.
Declared at: llvm/include/llvm/CodeGen/StackMaps.h:217
¶int getFirstGCPtrIdx()
int getFirstGCPtrIdx()
Description
Get index of first GC pointer operand of -1 if there are none.
Declared at: llvm/include/llvm/CodeGen/StackMaps.h:238
¶uint64_t getFlags() const
uint64_t getFlags() const
Description
Return the statepoint flags.
Declared at: llvm/include/llvm/CodeGen/StackMaps.h:222
¶unsigned int getFlagsIdx() const
unsigned int getFlagsIdx() const
Description
Get index of Flags operand.
Declared at: llvm/include/llvm/CodeGen/StackMaps.h:196
¶unsigned int getGCPointerMap(
SmallVectorImpl<
std::pair<unsigned int, unsigned int>>&
GCMap)
unsigned int getGCPointerMap(
SmallVectorImpl<
std::pair<unsigned int, unsigned int>>&
GCMap)
Description
Get vector of base/derived pairs from statepoint. Elements are indices into GC Pointer operand list (logical). Returns number of elements in GCMap.
Declared at: llvm/include/llvm/CodeGen/StackMaps.h:244
Parameters
- SmallVectorImpl< std::pair<unsigned int, unsigned int>>& GCMap
¶uint64_t getID() const
uint64_t getID() const
Description
Return the ID for the given statepoint.
Declared at: llvm/include/llvm/CodeGen/StackMaps.h:204
¶unsigned int getIDPos() const
unsigned int getIDPos() const
Description
Get index of statepoint ID operand.
Declared at: llvm/include/llvm/CodeGen/StackMaps.h:178
¶unsigned int getNBytesPos() const
unsigned int getNBytesPos() const
Description
Get index of Num Patch Bytes operand.
Declared at: llvm/include/llvm/CodeGen/StackMaps.h:181
¶unsigned int getNCallArgsPos() const
unsigned int getNCallArgsPos() const
Description
Get index of Num Call Arguments operand.
Declared at: llvm/include/llvm/CodeGen/StackMaps.h:184
¶unsigned int getNumAllocaIdx()
unsigned int getNumAllocaIdx()
Description
Get index of number of gc allocas.
Declared at: llvm/include/llvm/CodeGen/StackMaps.h:232
¶uint64_t getNumDeoptArgs() const
uint64_t getNumDeoptArgs() const
Declared at: llvm/include/llvm/CodeGen/StackMaps.h:224
¶unsigned int getNumDeoptArgsIdx() const
unsigned int getNumDeoptArgsIdx() const
Description
Get index of Number Deopt Arguments operand.
Declared at: llvm/include/llvm/CodeGen/StackMaps.h:199
¶unsigned int getNumGCPtrIdx()
unsigned int getNumGCPtrIdx()
Description
Get index of number of GC pointers.
Declared at: llvm/include/llvm/CodeGen/StackMaps.h:235
¶unsigned int getNumGcMapEntriesIdx()
unsigned int getNumGcMapEntriesIdx()
Description
Get index of number of gc map entries.
Declared at: llvm/include/llvm/CodeGen/StackMaps.h:229
¶uint32_t getNumPatchBytes() const
uint32_t getNumPatchBytes() const
Description
Return the number of patchable bytes the given statepoint should emit.
Declared at: llvm/include/llvm/CodeGen/StackMaps.h:207
¶unsigned int getVarIdx() const
unsigned int getVarIdx() const
Description
Get starting index of non call related arguments (calling convention, statepoint flags, vm state and gc state).
Declared at: llvm/include/llvm/CodeGen/StackMaps.h:188