LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | List of all members
llvm::SDDbgInfo Class Reference

#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 ()
 

Detailed Description

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 111 of file SelectionDAG.h.

Member Typedef Documentation

Definition at line 147 of file SelectionDAG.h.

Constructor & Destructor Documentation

llvm::SDDbgInfo::SDDbgInfo ( )
inline

Definition at line 120 of file SelectionDAG.h.

Member Function Documentation

void llvm::SDDbgInfo::add ( SDDbgValue V,
const SDNode Node,
bool  isParameter 
)
inline

Definition at line 122 of file SelectionDAG.h.

Referenced by llvm::SelectionDAG::AddDbgValue().

DbgIterator llvm::SDDbgInfo::ByvalParmDbgBegin ( )
inline

Definition at line 150 of file SelectionDAG.h.

Referenced by llvm::SelectionDAG::ByvalParmDbgBegin().

DbgIterator llvm::SDDbgInfo::ByvalParmDbgEnd ( )
inline

Definition at line 151 of file SelectionDAG.h.

Referenced by llvm::SelectionDAG::ByvalParmDbgEnd().

void llvm::SDDbgInfo::clear ( )
inline
DbgIterator llvm::SDDbgInfo::DbgBegin ( )
inline

Definition at line 148 of file SelectionDAG.h.

Referenced by llvm::SelectionDAG::DbgBegin().

DbgIterator llvm::SDDbgInfo::DbgEnd ( )
inline

Definition at line 149 of file SelectionDAG.h.

Referenced by llvm::SelectionDAG::DbgEnd().

bool llvm::SDDbgInfo::empty ( ) const
inline

Definition at line 136 of file SelectionDAG.h.

Referenced by llvm::SelectionDAG::hasDebugValues().

ArrayRef<SDDbgValue*> llvm::SDDbgInfo::getSDDbgValues ( const SDNode Node)
inline

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