LLVM  3.7.0
Public Member Functions | List of all members
llvm::DIEDwarfExpression Class Reference

DwarfExpression implementation for singular DW_AT_location. More...

#include <DwarfExpression.h>

Inheritance diagram for llvm::DIEDwarfExpression:
[legend]
Collaboration diagram for llvm::DIEDwarfExpression:
[legend]

Public Member Functions

 DIEDwarfExpression (const AsmPrinter &AP, DwarfUnit &DU, DIELoc &DIE)
 
void EmitOp (uint8_t Op, const char *Comment=nullptr) override
 Output a dwarf operand and an optional assembler comment. More...
 
void EmitSigned (int64_t Value) override
 Emit a raw signed value. More...
 
void EmitUnsigned (uint64_t Value) override
 Emit a raw unsigned value. More...
 
bool isFrameRegister (unsigned MachineReg) override
 Return whether the given machine register is the frame register in the current function. More...
 
- Public Member Functions inherited from llvm::DwarfExpression
 DwarfExpression (const TargetRegisterInfo &TRI, unsigned DwarfVersion)
 
virtual ~DwarfExpression ()
 
void AddReg (int DwarfReg, const char *Comment=nullptr)
 Emit a dwarf register operation. More...
 
void AddRegIndirect (int DwarfReg, int Offset, bool Deref=false)
 Emit an (double-)indirect dwarf register operation. More...
 
void AddOpPiece (unsigned SizeInBits, unsigned OffsetInBits=0)
 Emit a dwarf register operation for describing. More...
 
void AddShr (unsigned ShiftBy)
 Emit a shift-right dwarf expression. More...
 
bool AddMachineRegIndirect (unsigned MachineReg, int Offset=0)
 Emit an indirect dwarf register operation for the given machine register. More...
 
bool AddMachineRegPiece (unsigned MachineReg, unsigned PieceSizeInBits=0, unsigned PieceOffsetInBits=0)
 Emit a partial DWARF register operation. More...
 
void AddSignedConstant (int Value)
 Emit a signed constant. More...
 
void AddUnsignedConstant (unsigned Value)
 Emit an unsigned constant. More...
 
bool AddMachineRegExpression (const DIExpression *Expr, unsigned MachineReg, unsigned PieceOffsetInBits=0)
 Emit an entire expression on top of a machine register location. More...
 
void AddExpression (DIExpression::expr_op_iterator I, DIExpression::expr_op_iterator E, unsigned PieceOffsetInBits=0)
 Emit a the operations remaining the DIExpressionIterator I. More...
 

Additional Inherited Members

- Protected Attributes inherited from llvm::DwarfExpression
const TargetRegisterInfoTRI
 
unsigned DwarfVersion
 

Detailed Description

DwarfExpression implementation for singular DW_AT_location.

Definition at line 122 of file DwarfExpression.h.

Constructor & Destructor Documentation

DIEDwarfExpression::DIEDwarfExpression ( const AsmPrinter AP,
DwarfUnit DU,
DIELoc DIE 
)

Definition at line 47 of file DwarfUnit.cpp.

Member Function Documentation

void DIEDwarfExpression::EmitOp ( uint8_t  Op,
const char *  Comment = nullptr 
)
overridevirtual

Output a dwarf operand and an optional assembler comment.

Implements llvm::DwarfExpression.

Definition at line 53 of file DwarfUnit.cpp.

References llvm::DwarfUnit::addUInt(), and llvm::dwarf::DW_FORM_data1.

void DIEDwarfExpression::EmitSigned ( int64_t  Value)
overridevirtual

Emit a raw signed value.

Implements llvm::DwarfExpression.

Definition at line 56 of file DwarfUnit.cpp.

References llvm::DwarfUnit::addSInt(), and llvm::dwarf::DW_FORM_sdata.

void DIEDwarfExpression::EmitUnsigned ( uint64_t  Value)
overridevirtual

Emit a raw unsigned value.

Implements llvm::DwarfExpression.

Definition at line 59 of file DwarfUnit.cpp.

References llvm::DwarfUnit::addUInt(), and llvm::dwarf::DW_FORM_udata.

bool DIEDwarfExpression::isFrameRegister ( unsigned  MachineReg)
overridevirtual

Return whether the given machine register is the frame register in the current function.

Implements llvm::DwarfExpression.

Definition at line 62 of file DwarfUnit.cpp.

References llvm::TargetRegisterInfo::getFrameRegister(), llvm::AsmPrinter::MF, and llvm::DwarfExpression::TRI.


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