LLVM  8.0.1
Public Types | Public Member Functions | List of all members
llvm::StatepointOpers Class Reference

MI-level Statepoint operands. More...

#include "llvm/CodeGen/StackMaps.h"

Public Types

enum  {
  IDPos, NBytesPos, NCallArgsPos, CallTargetPos,
  MetaEnd
}
 
enum  { CCOffset = 1, FlagsOffset = 3, NumDeoptOperandsOffset = 5 }
 

Public Member Functions

 StatepointOpers (const MachineInstr *MI)
 
unsigned getVarIdx () const
 Get starting index of non call related arguments (calling convention, statepoint flags, vm state and gc state). More...
 
uint64_t getID () const
 Return the ID for the given statepoint. More...
 
uint32_t getNumPatchBytes () const
 Return the number of patchable bytes the given statepoint should emit. More...
 
const MachineOperandgetCallTarget () const
 Returns the target of the underlying call. More...
 

Detailed 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...], <gc base/derived pairs...> <gc allocas...> Note that the last two sets of arguments are not currently length prefixed.

Definition at line 155 of file StackMaps.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
IDPos 
NBytesPos 
NCallArgsPos 
CallTargetPos 
MetaEnd 

Definition at line 163 of file StackMaps.h.

◆ anonymous enum

anonymous enum
Enumerator
CCOffset 
FlagsOffset 
NumDeoptOperandsOffset 

Definition at line 167 of file StackMaps.h.

Constructor & Destructor Documentation

◆ StatepointOpers()

llvm::StatepointOpers::StatepointOpers ( const MachineInstr MI)
inlineexplicit

Definition at line 169 of file StackMaps.h.

Member Function Documentation

◆ getCallTarget()

const MachineOperand& llvm::StatepointOpers::getCallTarget ( ) const
inline

Returns the target of the underlying call.

Definition at line 186 of file StackMaps.h.

References MI.

◆ getID()

uint64_t llvm::StatepointOpers::getID ( ) const
inline

Return the ID for the given statepoint.

Definition at line 178 of file StackMaps.h.

References llvm::StackMapOpers::IDPos, and MI.

◆ getNumPatchBytes()

uint32_t llvm::StatepointOpers::getNumPatchBytes ( ) const
inline

Return the number of patchable bytes the given statepoint should emit.

Definition at line 181 of file StackMaps.h.

References MI, and llvm::StackMapOpers::NBytesPos.

◆ getVarIdx()

unsigned llvm::StatepointOpers::getVarIdx ( ) const
inline

Get starting index of non call related arguments (calling convention, statepoint flags, vm state and gc state).

Definition at line 173 of file StackMaps.h.

References MI.

Referenced by foldPatchpoint(), and matchPair().


The documentation for this class was generated from the following file: