|
LLVM 24.0.0git
|
This class represents an Operation in the Expression. More...
#include "llvm/DebugInfo/DWARF/LowLevel/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 , SizeSubOpLEB = 9 , WasmLocationArg = 30 , NvidiaMuxArg = 31 , SignBit = 0x80 , SignedSize1 = SignBit | Size1 , SignedSize2 = SignBit | Size2 , SignedSize4 = SignBit | Size4 , SignedSize8 = SignBit | Size8 , SignedSizeLEB = SignBit | SizeLEB } |
| 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 |
| LLVM_ABI std::optional< unsigned > | getSubCode () const |
| uint64_t | getNumOperands () const |
| ArrayRef< uint64_t > | getRawOperands () const |
| uint64_t | getRawOperand (unsigned Idx) const |
| ArrayRef< uint64_t > | getOperandEndOffsets () const |
| uint64_t | getOperandEndOffset (unsigned Idx) const |
| uint64_t | getEndOffset () const |
| bool | isError () const |
Friends | |
| class | DWARFExpression::iterator |
| class | DWARFVerifier |
This class represents an Operation in the Expression.
An Operation can be in Error state (check with isError()). This means that it couldn't be decoded successfully. Some fields stay valid so that a caller can report or copy the bytes it could not decode: getCode(), getDescription(), getEndOffset(), which is the offset the operation started at, and in some cases getSubCode(). The remaining operand values are undefined.
Definition at line 36 of file DWARFExpression.h.
| Enumerator | |
|---|---|
| DwarfNA | Serves as a marker for unused entries. |
| Dwarf2 | |
| Dwarf3 | |
| Dwarf4 | |
| Dwarf5 | |
Definition at line 66 of file DWARFExpression.h.
Size and signedness of expression operations' operands.
Definition at line 39 of file DWARFExpression.h.
|
inline |
Definition at line 99 of file DWARFExpression.h.
|
inline |
Definition at line 98 of file DWARFExpression.h.
|
inline |
Definition at line 110 of file DWARFExpression.h.
References uint64_t.
|
inline |
Definition at line 101 of file DWARFExpression.h.
References uint64_t.
Definition at line 107 of file DWARFExpression.h.
References uint64_t.
Definition at line 104 of file DWARFExpression.h.
Definition at line 103 of file DWARFExpression.h.
References uint64_t.
Definition at line 102 of file DWARFExpression.h.
| std::optional< unsigned > llvm::DWARFExpression::Operation::getSubCode | ( | ) | const |
Definition at line 270 of file DWARFExpression.cpp.
References SizeSubOpLEB.
|
inline |
Definition at line 111 of file DWARFExpression.h.
|
friend |
Definition at line 87 of file DWARFExpression.h.
|
friend |
Definition at line 88 of file DWARFExpression.h.
References DWARFVerifier, and uint64_t.
Referenced by DWARFVerifier.