LLVM API Documentation
This class is used to track local variable information. More...
#include <DwarfDebug.h>
Public Member Functions | |
DbgVariable (DIVariable V, DwarfDebug *DD) | |
Construct a DbgVariable from a DIVariable. | |
DbgVariable (const MachineInstr *DbgValue, DwarfDebug *DD) | |
DIVariable | getVariable () const |
void | setDIE (DIE &D) |
DIE * | getDIE () const |
void | setDotDebugLocOffset (unsigned O) |
unsigned | getDotDebugLocOffset () const |
StringRef | getName () const |
const MachineInstr * | getMInsn () const |
int | getFrameIndex () const |
void | setFrameIndex (int FI) |
dwarf::Tag | getTag () const |
bool | isArtificial () const |
Return true if DbgVariable is artificial. | |
bool | isObjectPointer () const |
bool | variableHasComplexAddress () const |
bool | isBlockByrefVariable () const |
unsigned | getNumAddrElements () const |
uint64_t | getAddrElement (unsigned i) const |
DIType | getType () const |
This class is used to track local variable information.
Definition at line 71 of file DwarfDebug.h.
llvm::DbgVariable::DbgVariable | ( | DIVariable | V, |
DwarfDebug * | DD | ||
) | [inline] |
Construct a DbgVariable from a DIVariable.
Definition at line 81 of file DwarfDebug.h.
llvm::DbgVariable::DbgVariable | ( | const MachineInstr * | DbgValue, |
DwarfDebug * | DD | ||
) | [inline] |
Construct a DbgVariable from a DEBUG_VALUE. AbstractVar may be NULL.
Definition at line 87 of file DwarfDebug.h.
uint64_t llvm::DbgVariable::getAddrElement | ( | unsigned | i | ) | const [inline] |
Definition at line 134 of file DwarfDebug.h.
References llvm::DIVariable::getAddrElement().
Referenced by llvm::DwarfUnit::addComplexAddress().
DIE* llvm::DbgVariable::getDIE | ( | ) | const [inline] |
Definition at line 94 of file DwarfDebug.h.
unsigned llvm::DbgVariable::getDotDebugLocOffset | ( | ) | const [inline] |
Definition at line 96 of file DwarfDebug.h.
int llvm::DbgVariable::getFrameIndex | ( | ) | const [inline] |
Definition at line 99 of file DwarfDebug.h.
const MachineInstr* llvm::DbgVariable::getMInsn | ( | ) | const [inline] |
Definition at line 98 of file DwarfDebug.h.
StringRef llvm::DbgVariable::getName | ( | ) | const [inline] |
Definition at line 97 of file DwarfDebug.h.
References llvm::DIVariable::getName().
Referenced by llvm::DwarfUnit::addBlockByrefAddress(), llvm::DwarfUnit::applyVariableAttributes(), and getType().
unsigned llvm::DbgVariable::getNumAddrElements | ( | ) | const [inline] |
Definition at line 130 of file DwarfDebug.h.
References llvm::DIVariable::getNumAddrElements(), and llvm::DIDescriptor::isVariable().
Referenced by llvm::DwarfUnit::addComplexAddress().
dwarf::Tag llvm::DbgVariable::getTag | ( | ) | const [inline] |
Definition at line 102 of file DwarfDebug.h.
References llvm::dwarf::DW_TAG_arg_variable, llvm::dwarf::DW_TAG_formal_parameter, llvm::dwarf::DW_TAG_variable, and llvm::DIDescriptor::getTag().
DIType DbgVariable::getType | ( | ) | const |
Definition at line 119 of file DwarfDebug.cpp.
References llvm::dwarf::DW_TAG_pointer_type, llvm::DITypedArray< T >::getElement(), llvm::DICompositeType::getElements(), getName(), llvm::DITypedArray< T >::getNumElements(), llvm::DIDescriptor::getTag(), llvm::DIVariable::getType(), llvm::DwarfDebug::getTypeIdentifierMap(), llvm::DIVariable::isBlockByrefVariable(), N, and llvm::DIRef< T >::resolve().
Referenced by llvm::DwarfUnit::addBlockByrefAddress(), llvm::DwarfUnit::applyVariableAttributes(), isArtificial(), and isObjectPointer().
DIVariable llvm::DbgVariable::getVariable | ( | ) | const [inline] |
Definition at line 92 of file DwarfDebug.h.
Referenced by llvm::DwarfUnit::addComplexAddress(), llvm::DwarfUnit::addVariableAddress(), llvm::DwarfUnit::applyVariableAttributes(), and llvm::DwarfDebug::emitLocPieces().
bool llvm::DbgVariable::isArtificial | ( | ) | const [inline] |
Return true if DbgVariable is artificial.
Definition at line 109 of file DwarfDebug.h.
References getType(), llvm::DIType::isArtificial(), and llvm::DIVariable::isArtificial().
Referenced by llvm::DwarfUnit::applyVariableAttributes().
bool DbgVariable::isBlockByrefVariable | ( | ) | const |
Definition at line 114 of file DwarfDebug.cpp.
References llvm::DwarfDebug::getTypeIdentifierMap(), llvm::DIVariable::isBlockByrefVariable(), and llvm::DIDescriptor::isVariable().
Referenced by llvm::DwarfUnit::addVariableAddress().
bool llvm::DbgVariable::isObjectPointer | ( | ) | const [inline] |
Definition at line 117 of file DwarfDebug.h.
References getType(), llvm::DIType::isObjectPointer(), and llvm::DIVariable::isObjectPointer().
Referenced by constructVariableDIE().
void llvm::DbgVariable::setDIE | ( | DIE & | D | ) | [inline] |
Definition at line 93 of file DwarfDebug.h.
Referenced by llvm::DwarfUnit::constructVariableDIE().
void llvm::DbgVariable::setDotDebugLocOffset | ( | unsigned | O | ) | [inline] |
Definition at line 95 of file DwarfDebug.h.
void llvm::DbgVariable::setFrameIndex | ( | int | FI | ) | [inline] |
Definition at line 100 of file DwarfDebug.h.
bool llvm::DbgVariable::variableHasComplexAddress | ( | ) | const [inline] |
Definition at line 125 of file DwarfDebug.h.
References llvm::DIVariable::hasComplexAddress(), and llvm::DIDescriptor::isVariable().
Referenced by llvm::DwarfUnit::addVariableAddress().