LLVM 20.0.0git
Classes | Public Member Functions | Static Public Member Functions | List of all members
llvm::DWARFExpression Class Reference

#include "llvm/DebugInfo/DWARF/DWARFExpression.h"

Classes

class  iterator
 An iterator to go through the expression operations. More...
 
class  Operation
 This class represents an Operation in the Expression. More...
 

Public Member Functions

 DWARFExpression (DataExtractor Data, uint8_t AddressSize, std::optional< dwarf::DwarfFormat > Format=std::nullopt)
 
iterator begin () const
 
iterator end () const
 
void print (raw_ostream &OS, DIDumpOptions DumpOpts, DWARFUnit *U, bool IsEH=false) const
 
bool printCompact (raw_ostream &OS, std::function< StringRef(uint64_t RegNum, bool IsEH)> GetNameForDWARFReg=nullptr)
 Print the expression in a format intended to be compact and useful to a user, but not perfectly unambiguous, or capable of representing every valid DWARF expression.
 
bool verify (DWARFUnit *U)
 
bool operator== (const DWARFExpression &RHS) const
 
StringRef getData () const
 

Static Public Member Functions

static bool prettyPrintRegisterOp (DWARFUnit *U, raw_ostream &OS, DIDumpOptions DumpOpts, uint8_t Opcode, const ArrayRef< uint64_t > Operands)
 

Detailed Description

Definition at line 23 of file DWARFExpression.h.

Constructor & Destructor Documentation

◆ DWARFExpression()

llvm::DWARFExpression::DWARFExpression ( DataExtractor  Data,
uint8_t  AddressSize,
std::optional< dwarf::DwarfFormat Format = std::nullopt 
)
inline

Definition at line 146 of file DWARFExpression.h.

References assert().

Member Function Documentation

◆ begin()

iterator llvm::DWARFExpression::begin ( ) const
inline

Definition at line 152 of file DWARFExpression.h.

Referenced by printCompact(), and llvm::DWARFUnit::updateVariableDieMap().

◆ end()

iterator llvm::DWARFExpression::end ( ) const
inline

◆ getData()

StringRef llvm::DWARFExpression::getData ( ) const
inline

◆ operator==()

bool llvm::DWARFExpression::operator== ( const DWARFExpression RHS) const

Definition at line 555 of file DWARFExpression.cpp.

References RHS.

◆ prettyPrintRegisterOp()

bool llvm::DWARFExpression::prettyPrintRegisterOp ( DWARFUnit U,
raw_ostream OS,
DIDumpOptions  DumpOpts,
uint8_t  Opcode,
const ArrayRef< uint64_t Operands 
)
static

◆ print()

void llvm::DWARFExpression::print ( raw_ostream OS,
DIDumpOptions  DumpOpts,
DWARFUnit U,
bool  IsEH = false 
) const

◆ printCompact()

bool llvm::DWARFExpression::printCompact ( raw_ostream OS,
std::function< StringRef(uint64_t RegNum, bool IsEH)>  GetNameForDWARFReg = nullptr 
)

Print the expression in a format intended to be compact and useful to a user, but not perfectly unambiguous, or capable of representing every valid DWARF expression.

Returns true if the expression was sucessfully printed.

Definition at line 549 of file DWARFExpression.cpp.

References begin(), end(), OS, and llvm::printCompactDWARFExpr().

◆ verify()

bool llvm::DWARFExpression::verify ( DWARFUnit U)

Definition at line 419 of file DWARFExpression.cpp.

References llvm::DWARFExpression::Operation::verify().


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