10 #ifndef LLVM_DEBUGINFO_DWARFEXPRESSION_H 11 #define LLVM_DEBUGINFO_DWARFEXPRESSION_H 103 : Expr(Expr), Offset(Offset) {
106 !Op.
extract(Expr->Data, Expr->Version, Expr->AddressSize, Offset);
114 !Op.
extract(Expr->Data, Expr->Version, Expr->AddressSize, Offset);
127 : Data(Data), Version(Version), AddressSize(AddressSize) {
128 assert(AddressSize == 8 || AddressSize == 4);
135 bool IsEH =
false)
const;
145 return LHS.Expr == RHS.Expr && LHS.Offset == RHS.Offset;
150 return !(LHS == RHS);
Unused operands get this encoding.
class Operation & operator++()
This class represents lattice values for constants.
An iterator to go through the expression operations.
Description(DwarfVersion Version=DwarfNA, Encoding Op1=SizeNA, Encoding Op2=SizeNA)
This provides a very simple, boring adaptor for a begin and end iterator into a range type...
LLVM_NODISCARD LLVM_ATTRIBUTE_ALWAYS_INLINE size_t size() const
size - Get the string size.
This class represents an Operation in the Expression.
CRTP base class which implements the entire standard iterator facade in terms of a minimal subset of ...
MCRegisterInfo base class - We assume that the target defines a static array of MCRegisterDesc object...
Description & getDescription()
Preceding operand contains block size.
Serves as a marker for unused entries.
Encoding Op[2]
Encoding for Op operands, or SizeNA.
Encoding
Size and signedness of expression operations' operands.
uint64_t getRawOperand(unsigned Idx)
DWARFExpression(DataExtractor Data, uint16_t Version, uint8_t AddressSize)
bool operator!=(uint64_t V1, const APInt &V2)
DwarfVersion Version
Dwarf version where the Op was introduced.
bool extract(DataExtractor Data, uint16_t Version, uint8_t AddressSize, uint32_t Offset)
class Operation & operator*()
Description of the encoding of one expression Op.
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
bool print(raw_ostream &OS, const DWARFExpression *U, const MCRegisterInfo *RegInfo, bool isEH)
This class implements an extremely fast bulk output stream that can only output to a stream...
bool operator==(uint64_t V1, const APInt &V2)