class PatchPointOpers
Declaration
class PatchPointOpers { /* full declaration omitted */ };
Description
MI-level patchpoint operands. MI patchpoint operations take the form: [ <def >], <id >, <numBytes >, <target >, <numArgs >, <cc >, ... IR patchpoint intrinsics do not have the <cc > operand because calling convention is part of the subclass data. SD patchpoint nodes do not have a def operand because it is part of the SDValue. Patchpoints following the anyregcc convention are handled specially. For these, the stack map also records the location of the return value and arguments.
Declared at: llvm/include/llvm/CodeGen/StackMaps.h:76
Method Overview
- public PatchPointOpers(const llvm::MachineInstr * MI)
- public unsigned int getArgIdx() const
- public const llvm::MachineOperand & getCallTarget() const
- public CallingConv::ID getCallingConv() const
- public uint64_t getID() const
- public unsigned int getNextScratchIdx(unsigned int StartIdx = 0) const
- public uint32_t getNumCallArgs() const
- public uint32_t getNumPatchBytes() const
- public unsigned int getStackMapStartIdx() const
- public unsigned int getVarIdx() const
- public bool hasDef() const
- public bool isAnyReg() const
Methods
¶PatchPointOpers(const llvm::MachineInstr* MI)
PatchPointOpers(const llvm::MachineInstr* MI)
Declared at: llvm/include/llvm/CodeGen/StackMaps.h:95
Parameters
- const llvm::MachineInstr* MI
¶unsigned int getArgIdx() const
unsigned int getArgIdx() const
Declared at: llvm/include/llvm/CodeGen/StackMaps.h:118
¶const llvm::MachineOperand& getCallTarget() const
const llvm::MachineOperand& getCallTarget() const
Description
Returns the target of the underlying call.
Declared at: llvm/include/llvm/CodeGen/StackMaps.h:109
¶CallingConv::ID getCallingConv() const
CallingConv::ID getCallingConv() const
Description
Returns the calling convention
Declared at: llvm/include/llvm/CodeGen/StackMaps.h:114
¶uint64_t getID() const
uint64_t getID() const
Description
Return the ID for the given patchpoint.
Declared at: llvm/include/llvm/CodeGen/StackMaps.h:101
¶unsigned int getNextScratchIdx(
unsigned int StartIdx = 0) const
unsigned int getNextScratchIdx(
unsigned int StartIdx = 0) const
Description
Get the next scratch register operand index.
Declared at: llvm/include/llvm/CodeGen/StackMaps.h:140
Parameters
- unsigned int StartIdx = 0
¶uint32_t getNumCallArgs() const
uint32_t getNumCallArgs() const
Description
Return the number of call arguments
Declared at: llvm/include/llvm/CodeGen/StackMaps.h:121
¶uint32_t getNumPatchBytes() const
uint32_t getNumPatchBytes() const
Description
Return the number of patchable bytes the given patchpoint should emit.
Declared at: llvm/include/llvm/CodeGen/StackMaps.h:104
¶unsigned int getStackMapStartIdx() const
unsigned int getStackMapStartIdx() const
Description
Get the index at which stack map locations will be recorded. Arguments are not recorded unless the anyregcc convention is used.
Declared at: llvm/include/llvm/CodeGen/StackMaps.h:133
¶unsigned int getVarIdx() const
unsigned int getVarIdx() const
Description
Get the operand index of the variable list of non-argument operands. These hold the "live state".
Declared at: llvm/include/llvm/CodeGen/StackMaps.h:127
¶bool hasDef() const
bool hasDef() const
Declared at: llvm/include/llvm/CodeGen/StackMaps.h:98
¶bool isAnyReg() const
bool isAnyReg() const
Declared at: llvm/include/llvm/CodeGen/StackMaps.h:97