llvm::StatepointOpers

MI-level Statepoint operands

Synopsis

Declared in <llvm/CodeGen/StackMaps.h>

class StatepointOpers;

Description

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.

Member Functions

NameDescription
StatepointOpers [constructor]Construct an accessor for the operands of statepoint instruction MI.
getCCIdx Get index of Calling Convention operand.
getCallTarget Return the target of the underlying call.
getCallingConv Return the calling convention.
getFirstGCPtrIdx Get index of first GC pointer operand of -1 if there are none.
getFlags Return the statepoint flags.
getFlagsIdx Get index of Flags operand.
getGCPointerMap Get vector of base/derived pairs from statepoint. Elements are indices into GC Pointer operand list (logical).
getID Return the ID for the given statepoint.
getIDPos Get index of statepoint ID operand.
getNBytesPos Get index of Num Patch Bytes operand.
getNCallArgsPos Get index of Num Call Arguments operand.
getNumAllocaIdx Get index of number of gc allocas.
getNumDeoptArgs Return the number of deoptimization arguments.
getNumDeoptArgsIdx Get index of Number Deopt Arguments operand.
getNumGCPtrIdx Get index of number of GC pointers.
getNumGcMapEntriesIdx Get index of number of gc map entries.
getNumPatchBytes Return the number of patchable bytes the given statepoint should emit.
getVarIdx Get starting index of non call related arguments (calling convention, statepoint flags, vm state and gc state).
isFoldableReg Return true if Reg is used only in operands which can be folded to stack usage.

Static Member Functions

NameDescription
isFoldableReg Return true if Reg is used only in operands of MI which can be folded to stack usage and MI is a statepoint instruction.