LLVM 23.0.0git
DWARFExpressionPrinter.cpp File Reference

Go to the source code of this file.

Classes

struct  llvm::PrintedExpr
 A user-facing string representation of a DWARF expression. More...

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.

Typedefs

typedef DWARFExpression::Operation llvm::Op
typedef Op::Description llvm::Desc

Functions

static bool llvm::decodeVirtualRegisterName (uint64_t DwarfRegNum, SmallString< 8 > &Out)
 Some backends (e.g.
static std::string llvm::resolveRegName (uint64_t DwarfRegNum, bool IsEH, const std::function< StringRef(uint64_t, bool)> &GetNameForDWARFReg)
 Resolves a DWARF register number to a display name: first via GetNameForDWARFReg (MC register names), otherwise try decoding ASCII-encoded virtual register names (NVPTX-specific).
static void llvm::prettyPrintBaseTypeRef (DWARFUnit *U, raw_ostream &OS, DIDumpOptions DumpOpts, ArrayRef< uint64_t > Operands, unsigned Operand)
static bool llvm::printOp (const DWARFExpression::Operation *Op, raw_ostream &OS, DIDumpOptions DumpOpts, const DWARFExpression *Expr, DWARFUnit *U)
LLVM_ABI void llvm::printDwarfExpression (const DWARFExpression *E, raw_ostream &OS, DIDumpOptions DumpOpts, DWARFUnit *U, bool IsEH=false)
 Print a Dwarf expression/.
static bool llvm::printCompactDWARFExpr (raw_ostream &OS, DWARFExpression::iterator I, const DWARFExpression::iterator E, std::function< StringRef(uint64_t RegNum, bool IsEH)> GetNameForDWARFReg=nullptr)
LLVM_ABI bool llvm::printDwarfExpressionCompact (const DWARFExpression *E, 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.
LLVM_ABI bool llvm::prettyPrintRegisterOp (DWARFUnit *U, raw_ostream &OS, DIDumpOptions DumpOpts, uint8_t Opcode, ArrayRef< uint64_t > Operands)
 Pretty print a register opcode and operands.