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. More...
 
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 llvm::DWARFUnit::updateVariableDieMap().

◆ end()

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

Definition at line 147 of file DWARFExpression.h.

References llvm::Data.

Referenced by llvm::DWARFUnit::updateVariableDieMap().

◆ getData()

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

Definition at line 164 of file DWARFExpression.h.

References llvm::Data.

◆ operator==()

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

Definition at line 506 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 322 of file DWARFExpression.cpp.

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

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

References llvm::sys::path::begin(), llvm::sys::path::end(), and llvm::printCompactDWARFExpr().

◆ verify()

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

Definition at line 380 of file DWARFExpression.cpp.

References verify.


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