LLVM 17.0.0git
|
This class represents an Operation in the Expression. More...
#include "llvm/DebugInfo/DWARF/DWARFExpression.h"
Classes | |
struct | Description |
Description of the encoding of one expression Op. More... | |
Public Types | |
enum | Encoding : uint8_t { Size1 = 0 , Size2 = 1 , Size4 = 2 , Size8 = 3 , SizeLEB = 4 , SizeAddr = 5 , SizeRefAddr = 6 , SizeBlock = 7 , BaseTypeRef = 8 , WasmLocationArg = 30 , SignBit = 0x80 , SignedSize1 = SignBit | Size1 , SignedSize2 = SignBit | Size2 , SignedSize4 = SignBit | Size4 , SignedSize8 = SignBit | Size8 , SignedSizeLEB = SignBit | SizeLEB , SizeNA = 0xFF } |
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 |
uint64_t | getRawOperand (unsigned Idx) const |
uint64_t | getOperandEndOffset (unsigned Idx) const |
uint64_t | getEndOffset () const |
bool | isError () const |
bool | print (raw_ostream &OS, DIDumpOptions DumpOpts, const DWARFExpression *Expr, DWARFUnit *U) const |
Static Public Member Functions | |
static bool | verify (const Operation &Op, DWARFUnit *U) |
Verify Op . Does not affect the return of isError(). | |
Friends | |
class | DWARFExpression::iterator |
This class represents an Operation in the Expression.
Each operation can have up to 2 oprerands.
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.
enum llvm::DWARFExpression::Operation::DwarfVersion : uint8_t |
Enumerator | |
---|---|
DwarfNA | Serves as a marker for unused entries. |
Dwarf2 | |
Dwarf3 | |
Dwarf4 | |
Dwarf5 |
Definition at line 56 of file DWARFExpression.h.
enum llvm::DWARFExpression::Operation::Encoding : uint8_t |
Size and signedness of expression operations' operands.
Definition at line 36 of file DWARFExpression.h.
|
inline |
Definition at line 88 of file DWARFExpression.h.
|
inline |
Definition at line 87 of file DWARFExpression.h.
|
inline |
Definition at line 93 of file DWARFExpression.h.
Definition at line 90 of file DWARFExpression.h.
References Idx.
Definition at line 89 of file DWARFExpression.h.
|
inline |
Definition at line 94 of file DWARFExpression.h.
bool llvm::DWARFExpression::Operation::print | ( | raw_ostream & | OS, |
DIDumpOptions | DumpOpts, | ||
const DWARFExpression * | Expr, | ||
DWARFUnit * | U | ||
) | const |
Definition at line 262 of file DWARFExpression.cpp.
References assert(), BaseTypeRef, llvm::format(), llvm::DataExtractor::getU8(), Name, llvm::Offset, Operands, llvm::dwarf::OperationEncodingString(), OS, llvm::prettyPrintBaseTypeRef(), llvm::DWARFExpression::prettyPrintRegisterOp(), SignBit, Signed, Size, SizeBlock, SizeNA, and WasmLocationArg.
Verify Op
. Does not affect the return of isError().
Definition at line 358 of file DWARFExpression.cpp.
References BaseTypeRef, Size, and SizeNA.
Referenced by llvm::DWARFExpression::verify().
|
friend |
Definition at line 78 of file DWARFExpression.h.