|
LLVM
4.0.0
|
This class is used to track local variable information. More...
#include <DwarfDebug.h>
This class is used to track local variable information.
Variables can be created from allocas, in which case they're generated from the MMI table. Such variables can have multiple expressions and frame indices.
Variables can be created from DBG_VALUE instructions. Those whose location changes over time use DebugLocListIndex, while those with a single instruction use MInsn and (optionally) a single entry of Expr.
Variables that have been optimized out use none of these fields.
Definition at line 64 of file DwarfDebug.h.
|
inline |
Frame index + expression.
Construct a DbgVariable.
Creates a variable without any DW_AT_location. Call initializeMMI() for MMI entries, or initializeDbgValue() for DBG_VALUE instructions.
Definition at line 83 of file DwarfDebug.h.
|
inline |
Definition at line 128 of file DwarfDebug.h.
References llvm::all_of(), assert(), llvm::SmallVectorTemplateCommon< T, typename >::begin(), llvm::SmallVectorBase::empty(), and llvm::SmallVectorTemplateCommon< T, typename >::end().
|
inline |
Definition at line 121 of file DwarfDebug.h.
|
inline |
Definition at line 119 of file DwarfDebug.h.
| ArrayRef< DbgVariable::FrameIndexExpr > DbgVariable::getFrameIndexExprs | ( | ) | const |
Get the FI entries, sorted by fragment offset.
Definition at line 202 of file DwarfDebug.cpp.
References A, B, llvm::SmallVectorTemplateCommon< T, typename >::begin(), and llvm::SmallVectorTemplateCommon< T, typename >::end().
|
inline |
Definition at line 113 of file DwarfDebug.h.
|
inline |
Definition at line 123 of file DwarfDebug.h.
|
inline |
Definition at line 122 of file DwarfDebug.h.
Referenced by llvm::DwarfUnit::addBlockByrefAddress(), llvm::DwarfCompileUnit::applyVariableAttributes(), and getType().
|
inline |
Definition at line 114 of file DwarfDebug.h.
References assert().
Referenced by llvm::DwarfCompileUnit::addComplexAddress().
|
inline |
Definition at line 146 of file DwarfDebug.h.
Definition at line 157 of file DwarfDebug.cpp.
References getName(), llvm::DINode::getTag(), llvm::DIVariable::getType(), i, llvm::DIType::isBlockByrefStruct(), N, and llvm::TypedDINodeRef< T >::resolve().
Referenced by llvm::DwarfUnit::addBlockByrefAddress(), and llvm::DwarfCompileUnit::applyVariableAttributes().
|
inline |
Definition at line 112 of file DwarfDebug.h.
Referenced by llvm::DwarfFile::addScopeVariable(), and llvm::DwarfCompileUnit::applyVariableAttributes().
|
inline |
Definition at line 170 of file DwarfDebug.h.
References assert().
Referenced by llvm::DwarfCompileUnit::addVariableAddress().
|
inline |
Definition at line 126 of file DwarfDebug.h.
|
inline |
Initialize from a DBG_VALUE instruction.
Definition at line 98 of file DwarfDebug.h.
References assert(), E, llvm::SmallVectorBase::empty(), llvm::MachineInstr::getDebugExpression(), llvm::MachineInstr::getDebugLoc(), llvm::MachineInstr::getDebugVariable(), and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
Referenced by llvm::DebugLocStream::ListBuilder::~ListBuilder().
|
inline |
Initialize from the MMI table.
Definition at line 87 of file DwarfDebug.h.
References assert(), llvm::SmallVectorBase::empty(), llvm::DIExpression::isValid(), and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
|
inline |
Return true if DbgVariable is artificial.
Definition at line 154 of file DwarfDebug.h.
References llvm::Intrinsic::getType().
Referenced by llvm::DwarfCompileUnit::applyVariableAttributes().
| bool DbgVariable::isBlockByrefVariable | ( | ) | const |
Definition at line 152 of file DwarfDebug.cpp.
References assert(), llvm::DIVariable::getType(), and llvm::TypedDINodeRef< T >::resolve().
Referenced by llvm::DwarfCompileUnit::addVariableAddress().
|
inline |
Definition at line 162 of file DwarfDebug.h.
References llvm::Intrinsic::getType().
Referenced by llvm::DwarfCompileUnit::constructVariableDIE().
|
inline |
Definition at line 120 of file DwarfDebug.h.
Referenced by llvm::DebugLocStream::ListBuilder::~ListBuilder().
|
inline |
Definition at line 118 of file DwarfDebug.h.
References D.
Referenced by llvm::DwarfCompileUnit::constructVariableDIE().
1.8.6