LLVM: llvm::DWARFExpression::Operation Class Reference (original) (raw)

This class represents an Operation in the Expression. More...

#include "[llvm/DebugInfo/DWARF/LowLevel/DWARFExpression.h](DWARFExpression%5F8h%5Fsource.html)"

Public Types
enum Encoding : uint8_t { Size1 = 0 , Size2 = 1 , Size4 = 2 , Size8 = 3 , SizeLEB = 4 , SizeAddr = 5 , SizeRefAddr = 6 , SizeBlock = 7 , BaseTypeRef = 8 , SizeSubOpLEB = 9 , WasmLocationArg = 30 , SignBit = 0x80 , SignedSize1 = SignBit | Size1 , SignedSize2 = SignBit Size2 , SignedSize4 = SignBit Size4 , SignedSize8 = SignBit Size8 , SignedSizeLEB = SignBit SizeLEB }
Size and signedness of expression operations' operands. More...
enum DwarfVersion : uint8_t { DwarfNA, Dwarf2 = 2 , Dwarf3, Dwarf4, Dwarf5 }
Public Member Functions
const Description & getDescription () const
uint8_t getCode () const
LLVM_ABI std::optional< unsigned > getSubCode () const
uint64_t getNumOperands () const
ArrayRef< uint64_t > getRawOperands () const
uint64_t getRawOperand (unsigned Idx) const
ArrayRef< uint64_t > getOperandEndOffsets () const
uint64_t getOperandEndOffset (unsigned Idx) const
uint64_t getEndOffset () const
bool isError () const
Friends
class DWARFExpression::iterator
class DWARFVerifier

This class represents an Operation in the Expression.

An Operation can be in Error state (check with isError()). This means that it couldn't be decoded successfully and if it is the case, all others fields contain undefined values.

Definition at line 33 of file DWARFExpression.h.

DwarfVersion

Enumerator
DwarfNA Serves as a marker for unused entries.
Dwarf2
Dwarf3
Dwarf4
Dwarf5

Definition at line 58 of file DWARFExpression.h.

Encoding

Size and signedness of expression operations' operands.

Enumerator
Size1
Size2
Size4
Size8
SizeLEB
SizeAddr
SizeRefAddr
SizeBlock Preceding operand contains block size.
BaseTypeRef
SizeSubOpLEB The operand is a ULEB128 encoded SubOpcode. This is only valid for the first operand of an operation.
WasmLocationArg
SignBit
SignedSize1
SignedSize2
SignedSize4
SignedSize8
SignedSizeLEB

Definition at line 36 of file DWARFExpression.h.

getCode()

uint8_t llvm::DWARFExpression::Operation::getCode ( ) const inline

getDescription()

const Description & llvm::DWARFExpression::Operation::getDescription ( ) const inline

getEndOffset()

uint64_t llvm::DWARFExpression::Operation::getEndOffset ( ) const inline

getNumOperands()

uint64_t llvm::DWARFExpression::Operation::getNumOperands ( ) const inline

getOperandEndOffset()

uint64_t llvm::DWARFExpression::Operation::getOperandEndOffset ( unsigned Idx) const inline

getOperandEndOffsets()

ArrayRef< uint64_t > llvm::DWARFExpression::Operation::getOperandEndOffsets ( ) const inline

getRawOperand()

uint64_t llvm::DWARFExpression::Operation::getRawOperand ( unsigned Idx) const inline

getRawOperands()

ArrayRef< uint64_t > llvm::DWARFExpression::Operation::getRawOperands ( ) const inline

getSubCode()

std::optional< unsigned > llvm::DWARFExpression::Operation::getSubCode ( ) const

isError()

bool llvm::DWARFExpression::Operation::isError ( ) const inline

DWARFExpression::iterator

DWARFVerifier


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