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

Methods

StatepointOpers(const llvm::MachineInstr* MI)

Declared at: llvm/include/llvm/CodeGen/StackMaps.h:173

Parameters

const llvm::MachineInstr* MI

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

Description

Return the target of the underlying call.

Declared at: llvm/include/llvm/CodeGen/StackMaps.h:212

CallingConv::ID getCallingConv() const

Description

Return the calling convention.

Declared at: llvm/include/llvm/CodeGen/StackMaps.h:217

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

Description

Return the statepoint flags.

Declared at: llvm/include/llvm/CodeGen/StackMaps.h:222

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)

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

Description

Return the ID for the given statepoint.

Declared at: llvm/include/llvm/CodeGen/StackMaps.h:204

unsigned int getIDPos() const

Description

Get index of statepoint ID operand.

Declared at: llvm/include/llvm/CodeGen/StackMaps.h:178

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

Description

Get index of Num Call Arguments operand.

Declared at: llvm/include/llvm/CodeGen/StackMaps.h:184

unsigned int getNumAllocaIdx()

Description

Get index of number of gc allocas.

Declared at: llvm/include/llvm/CodeGen/StackMaps.h:232

uint64_t getNumDeoptArgs() const

Declared at: llvm/include/llvm/CodeGen/StackMaps.h:224

unsigned int getNumDeoptArgsIdx() const

Description

Get index of Number Deopt Arguments operand.

Declared at: llvm/include/llvm/CodeGen/StackMaps.h:199

unsigned int getNumGCPtrIdx()

Description

Get index of number of GC pointers.

Declared at: llvm/include/llvm/CodeGen/StackMaps.h:235

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

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

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