LLVM 17.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 uint64_t Operands[2])
 

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 140 of file DWARFExpression.h.

References assert().

Member Function Documentation

◆ begin()

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

Definition at line 146 of file DWARFExpression.h.

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

◆ end()

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

Definition at line 147 of file DWARFExpression.h.

References Data.

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

◆ getData()

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

Definition at line 164 of file DWARFExpression.h.

References Data.

◆ operator==()

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

Definition at line 513 of file DWARFExpression.cpp.

References llvm::Data, and RHS.

◆ prettyPrintRegisterOp()

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

◆ print()

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

Definition at line 323 of file DWARFExpression.cpp.

References llvm::Data, llvm::format(), llvm::DIDumpOptions::IsEH, and OS.

Referenced by dumpExpression(), and dumpLocationExpr().

◆ 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 507 of file DWARFExpression.cpp.

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

◆ verify()

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

Definition at line 381 of file DWARFExpression.cpp.

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


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