LLVM API Documentation
#include <SelectionDAG.h>
Public Types | |
typedef SmallVectorImpl < SDDbgValue * >::iterator | DbgIterator |
Public Member Functions | |
SDDbgInfo () | |
void | add (SDDbgValue *V, const SDNode *Node, bool isParameter) |
void | clear () |
bool | empty () const |
ArrayRef< SDDbgValue * > | getSDDbgValues (const SDNode *Node) |
DbgIterator | DbgBegin () |
DbgIterator | DbgEnd () |
DbgIterator | ByvalParmDbgBegin () |
DbgIterator | ByvalParmDbgEnd () |
SDDbgInfo - 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.
Definition at line 112 of file SelectionDAG.h.
typedef SmallVectorImpl<SDDbgValue*>::iterator llvm::SDDbgInfo::DbgIterator |
Definition at line 148 of file SelectionDAG.h.
llvm::SDDbgInfo::SDDbgInfo | ( | ) | [inline] |
Definition at line 121 of file SelectionDAG.h.
void llvm::SDDbgInfo::add | ( | SDDbgValue * | V, |
const SDNode * | Node, | ||
bool | isParameter | ||
) | [inline] |
Definition at line 123 of file SelectionDAG.h.
References Node, and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
Referenced by llvm::SelectionDAG::AddDbgValue().
DbgIterator llvm::SDDbgInfo::ByvalParmDbgBegin | ( | ) | [inline] |
Definition at line 151 of file SelectionDAG.h.
References llvm::SmallVectorTemplateCommon< T, typename >::begin().
Referenced by llvm::SelectionDAG::ByvalParmDbgBegin().
DbgIterator llvm::SDDbgInfo::ByvalParmDbgEnd | ( | ) | [inline] |
Definition at line 152 of file SelectionDAG.h.
References llvm::SmallVectorTemplateCommon< T, typename >::end().
Referenced by llvm::SelectionDAG::ByvalParmDbgEnd().
void llvm::SDDbgInfo::clear | ( | ) | [inline] |
Definition at line 131 of file SelectionDAG.h.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT >::clear(), and llvm::SmallVectorImpl< T >::clear().
Referenced by llvm::SelectionDAG::clear().
DbgIterator llvm::SDDbgInfo::DbgBegin | ( | ) | [inline] |
Definition at line 149 of file SelectionDAG.h.
References llvm::SmallVectorTemplateCommon< T, typename >::begin().
Referenced by llvm::SelectionDAG::DbgBegin().
DbgIterator llvm::SDDbgInfo::DbgEnd | ( | ) | [inline] |
Definition at line 150 of file SelectionDAG.h.
References llvm::SmallVectorTemplateCommon< T, typename >::end().
Referenced by llvm::SelectionDAG::DbgEnd().
bool llvm::SDDbgInfo::empty | ( | ) | const [inline] |
Definition at line 137 of file SelectionDAG.h.
References llvm::SmallVectorBase::empty().
Referenced by llvm::SelectionDAG::hasDebugValues().
ArrayRef<SDDbgValue*> llvm::SDDbgInfo::getSDDbgValues | ( | const SDNode * | Node | ) | [inline] |
Definition at line 141 of file SelectionDAG.h.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT >::end(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT >::find(), and I.
Referenced by llvm::SelectionDAG::GetDbgValues().