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

MI-level stackmap operands. More...

#include "llvm/CodeGen/StackMaps.h"

Public Types

enum  { IDPos, NBytesPos }
 Enumerate the meta operands. More...
 

Public Member Functions

 StackMapOpers (const MachineInstr *MI)
 
uint64_t getID () const
 Return the ID for the given stackmap. More...
 
uint32_t getNumPatchBytes () const
 Return the number of patchable bytes the given stackmap should emit. More...
 
unsigned getVarIdx () const
 Get the operand index of the variable list of non-argument operands. More...
 

Detailed Description

MI-level stackmap operands.

MI stackmap operations take the form: <id>, <numBytes>, live args...

Definition at line 36 of file StackMaps.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

Enumerate the meta operands.

Enumerator
IDPos 
NBytesPos 

Definition at line 39 of file StackMaps.h.

Constructor & Destructor Documentation

◆ StackMapOpers()

StackMapOpers::StackMapOpers ( const MachineInstr MI)
explicit

Definition at line 49 of file StackMaps.cpp.

References assert(), llvm::MachineInstr::getNumOperands(), and getVarIdx().

Member Function Documentation

◆ getID()

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

Return the ID for the given stackmap.

Definition at line 48 of file StackMaps.h.

References llvm::MachineOperand::getImm(), llvm::MachineInstr::getOperand(), and IDPos.

◆ getNumPatchBytes()

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

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

Definition at line 51 of file StackMaps.h.

References llvm::MachineOperand::getImm(), and llvm::MachineInstr::getOperand().

Referenced by llvm::AArch64InstrInfo::getInstSizeInBytes(), and llvm::PPCInstrInfo::getInstSizeInBytes().

◆ getVarIdx()

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

Get the operand index of the variable list of non-argument operands.

These hold the "live state".

Definition at line 57 of file StackMaps.h.

Referenced by foldPatchpoint(), llvm::PatchPointOpers::getStackMapStartIdx(), and StackMapOpers().


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