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

DwarfExpression implementation for .debug_loc entries. More...

#include <DwarfExpression.h>

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

Public Member Functions

 DebugLocDwarfExpression (const TargetRegisterInfo &TRI, unsigned DwarfVersion, ByteStreamer &BS)
 
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 .debug_loc entries.

Definition at line 107 of file DwarfExpression.h.

Constructor & Destructor Documentation

llvm::DebugLocDwarfExpression::DebugLocDwarfExpression ( const TargetRegisterInfo TRI,
unsigned  DwarfVersion,
ByteStreamer BS 
)
inline

Definition at line 111 of file DwarfExpression.h.

Member Function Documentation

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

Output a dwarf operand and an optional assembler comment.

Implements llvm::DwarfExpression.

Definition at line 110 of file DwarfDebug.cpp.

References llvm::ByteStreamer::EmitInt8(), and llvm::dwarf::OperationEncodingString().

void DebugLocDwarfExpression::EmitSigned ( int64_t  Value)
overridevirtual

Emit a raw signed value.

Implements llvm::DwarfExpression.

Definition at line 116 of file DwarfDebug.cpp.

References llvm::ByteStreamer::EmitSLEB128().

void DebugLocDwarfExpression::EmitUnsigned ( uint64_t  Value)
overridevirtual

Emit a raw unsigned value.

Implements llvm::DwarfExpression.

Definition at line 120 of file DwarfDebug.cpp.

References llvm::ByteStreamer::EmitULEB128().

bool DebugLocDwarfExpression::isFrameRegister ( unsigned  MachineReg)
overridevirtual

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

Implements llvm::DwarfExpression.

Definition at line 124 of file DwarfDebug.cpp.


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