LLVM 19.0.0git
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.
 
uint32_t getNumPatchBytes () const
 Return the number of patchable bytes the given stackmap should emit.
 
unsigned getVarIdx () const
 Get the operand index of the variable list of non-argument operands.
 

Detailed Description

MI-level stackmap operands.

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

Definition at line 35 of file StackMaps.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

Enumerate the meta operands.

Enumerator
IDPos 
NBytesPos 

Definition at line 38 of file StackMaps.h.

Constructor & Destructor Documentation

◆ StackMapOpers()

StackMapOpers::StackMapOpers ( const MachineInstr MI)
explicit

Definition at line 56 of file StackMaps.cpp.

References assert(), getVarIdx(), and MI.

Member Function Documentation

◆ getID()

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

Return the ID for the given stackmap.

Definition at line 47 of file StackMaps.h.

References IDPos, and MI.

◆ getNumPatchBytes()

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

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

Definition at line 50 of file StackMaps.h.

References MI, and NBytesPos.

Referenced by llvm::AArch64InstrInfo::getInstSizeInBytes(), llvm::PPCInstrInfo::getInstSizeInBytes(), and llvm::RISCVInstrInfo::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 56 of file StackMaps.h.

Referenced by llvm::StackMaps::recordStackMap(), and StackMapOpers().


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