class SDDbgInfo
Declaration
class SDDbgInfo { /* full declaration omitted */ };
Description
Keeps track of dbg_value information through SDISel. We do not build SDNodes for these so as not to perturb the generated code; instead the info is kept off to the side in this structure. Each SDNode may have one or more associated dbg_value entries. This information is kept in DbgValMap. Byval parameters are handled separately because they don't use alloca's, which busts the normal mechanism. There is good reason for handling all parameters separately: they may not have code generated for them, they should always go at the beginning of the function regardless of other code motion, and debug info for them is potentially useful even if the parameter is unused. Right now only byval parameters are handled separately.
Declared at: llvm/include/llvm/CodeGen/SelectionDAG.h:154
Member Variables
- private llvm::BumpPtrAllocator Alloc
- private SmallVector<llvm::SDDbgValue*, 32> DbgValues
- private SmallVector<llvm::SDDbgValue*, 32> ByvalParmDbgValues
- private SmallVector<llvm::SDDbgLabel*, 4> DbgLabels
- private llvm::SDDbgInfo::DbgValMapType DbgValMap
Method Overview
- public llvm::SDDbgInfo::DbgIterator ByvalParmDbgBegin()
- public llvm::SDDbgInfo::DbgIterator ByvalParmDbgEnd()
- public llvm::SDDbgInfo::DbgIterator DbgBegin()
- public llvm::SDDbgInfo::DbgIterator DbgEnd()
- public llvm::SDDbgInfo::DbgLabelIterator DbgLabelBegin()
- public llvm::SDDbgInfo::DbgLabelIterator DbgLabelEnd()
- public SDDbgInfo()
- public SDDbgInfo(const llvm::SDDbgInfo &)
- public void add(llvm::SDDbgValue * V, bool isParameter)
- public void add(llvm::SDDbgLabel * L)
- public void clear()
- public bool empty() const
- public void erase(const llvm::SDNode * Node)
- public llvm::BumpPtrAllocator & getAlloc()
- public ArrayRef<llvm::SDDbgValue *> getSDDbgValues(const llvm::SDNode * Node) const
Methods
¶llvm::SDDbgInfo::DbgIterator ByvalParmDbgBegin()
llvm::SDDbgInfo::DbgIterator ByvalParmDbgBegin()
Declared at: llvm/include/llvm/CodeGen/SelectionDAG.h:201
¶llvm::SDDbgInfo::DbgIterator ByvalParmDbgEnd()
llvm::SDDbgInfo::DbgIterator ByvalParmDbgEnd()
Declared at: llvm/include/llvm/CodeGen/SelectionDAG.h:202
¶llvm::SDDbgInfo::DbgIterator DbgBegin()
llvm::SDDbgInfo::DbgIterator DbgBegin()
Declared at: llvm/include/llvm/CodeGen/SelectionDAG.h:199
¶llvm::SDDbgInfo::DbgIterator DbgEnd()
llvm::SDDbgInfo::DbgIterator DbgEnd()
Declared at: llvm/include/llvm/CodeGen/SelectionDAG.h:200
¶llvm::SDDbgInfo::DbgLabelIterator DbgLabelBegin()
llvm::SDDbgInfo::DbgLabelIterator DbgLabelBegin()
Declared at: llvm/include/llvm/CodeGen/SelectionDAG.h:203
¶llvm::SDDbgInfo::DbgLabelIterator DbgLabelEnd()
llvm::SDDbgInfo::DbgLabelIterator DbgLabelEnd()
Declared at: llvm/include/llvm/CodeGen/SelectionDAG.h:204
¶SDDbgInfo()
SDDbgInfo()
Declared at: llvm/include/llvm/CodeGen/SelectionDAG.h:163
¶SDDbgInfo(const llvm::SDDbgInfo&)
SDDbgInfo(const llvm::SDDbgInfo&)
Declared at: llvm/include/llvm/CodeGen/SelectionDAG.h:164
Parameters
- const llvm::SDDbgInfo&
¶void add(llvm::SDDbgValue* V, bool isParameter)
void add(llvm::SDDbgValue* V, bool isParameter)
Declared at: llvm/include/llvm/CodeGen/SelectionDAG.h:167
Parameters
- llvm::SDDbgValue* V
- bool isParameter
¶void add(llvm::SDDbgLabel* L)
void add(llvm::SDDbgLabel* L)
Declared at: llvm/include/llvm/CodeGen/SelectionDAG.h:169
Parameters
¶void clear()
void clear()
Declared at: llvm/include/llvm/CodeGen/SelectionDAG.h:175
¶bool empty() const
bool empty() const
Declared at: llvm/include/llvm/CodeGen/SelectionDAG.h:185
¶void erase(const llvm::SDNode* Node)
void erase(const llvm::SDNode* Node)
Description
Invalidate all DbgValues attached to the node and remove it from the Node-to-DbgValues map.
Declared at: llvm/include/llvm/CodeGen/SelectionDAG.h:173
Parameters
- const llvm::SDNode* Node
¶llvm::BumpPtrAllocator& getAlloc()
llvm::BumpPtrAllocator& getAlloc()
Declared at: llvm/include/llvm/CodeGen/SelectionDAG.h:183
¶ArrayRef<llvm::SDDbgValue*> getSDDbgValues(
const llvm::SDNode* Node) const
ArrayRef<llvm::SDDbgValue*> getSDDbgValues(
const llvm::SDNode* Node) const
Declared at: llvm/include/llvm/CodeGen/SelectionDAG.h:189
Parameters
- const llvm::SDNode* Node