LLVM API Documentation
#include <DebugInfo.h>
Public Types | |
typedef SmallVectorImpl < MDNode * >::const_iterator | iterator |
Public Member Functions | |
DebugInfoFinder () | |
void | processModule (const Module &M) |
processModule - Process entire module and collect debug info. More... | |
void | processDeclare (const Module &M, const DbgDeclareInst *DDI) |
processDeclare - Process DbgDeclareInst. More... | |
void | processValue (const Module &M, const DbgValueInst *DVI) |
Process DbgValueInst. More... | |
void | processLocation (const Module &M, DILocation Loc) |
processLocation - Process DILocation. More... | |
void | reset () |
Clear all lists. More... | |
iterator | compile_unit_begin () const |
iterator | compile_unit_end () const |
iterator | subprogram_begin () const |
iterator | subprogram_end () const |
iterator | global_variable_begin () const |
iterator | global_variable_end () const |
iterator | type_begin () const |
iterator | type_end () const |
iterator | scope_begin () const |
iterator | scope_end () const |
unsigned | compile_unit_count () const |
unsigned | global_variable_count () const |
unsigned | subprogram_count () const |
unsigned | type_count () const |
unsigned | scope_count () const |
DebugInfoFinder tries to list all debug info MDNodes used in a module. To list debug info MDNodes used by an instruction, DebugInfoFinder uses processDeclare, processValue and processLocation to handle DbgDeclareInst, DbgValueInst and DbgLoc attached to instructions. processModule will go through all DICompileUnits in llvm.dbg.cu and list debug info MDNodes used by the CUs.
Definition at line 762 of file DebugInfo.h.
typedef SmallVectorImpl<MDNode *>::const_iterator llvm::DebugInfoFinder::iterator |
Definition at line 810 of file DebugInfo.h.
|
inline |
Definition at line 764 of file DebugInfo.h.
|
inline |
Definition at line 811 of file DebugInfo.h.
|
inline |
Definition at line 822 of file DebugInfo.h.
|
inline |
Definition at line 812 of file DebugInfo.h.
|
inline |
Definition at line 815 of file DebugInfo.h.
|
inline |
Definition at line 823 of file DebugInfo.h.
|
inline |
Definition at line 816 of file DebugInfo.h.
void DebugInfoFinder::processDeclare | ( | const Module & | M, |
const DbgDeclareInst * | DDI | ||
) |
processDeclare - Process DbgDeclareInst.
Definition at line 1097 of file DebugInfo.cpp.
References llvm::dyn_cast(), llvm::Intrinsic::getType(), llvm::DbgDeclareInst::getVariable(), llvm::DIDescriptor::isVariable(), and N.
void DebugInfoFinder::processLocation | ( | const Module & | M, |
DILocation | Loc | ||
) |
processLocation - Process DILocation.
Definition at line 1005 of file DebugInfo.cpp.
References llvm::DILocation::getOrigLocation(), and llvm::DILocation::getScope().
void DebugInfoFinder::processModule | ( | const Module & | M | ) |
processModule - Process entire module and collect debug info.
processModule - Process entire module and collect debug info anchors.
Definition at line 966 of file DebugInfo.cpp.
References llvm::DINameSpace::getContext(), llvm::DIArray::getElement(), llvm::DIImportedEntity::getEntity(), llvm::Module::getNamedMetadata(), and llvm::DIArray::getNumElements().
void DebugInfoFinder::processValue | ( | const Module & | M, |
const DbgValueInst * | DVI | ||
) |
Process DbgValueInst.
Definition at line 1114 of file DebugInfo.cpp.
References llvm::dyn_cast(), llvm::Intrinsic::getType(), llvm::DbgValueInst::getVariable(), llvm::DIDescriptor::isVariable(), and N.
void DebugInfoFinder::reset | ( | ) |
Clear all lists.
Definition at line 946 of file DebugInfo.cpp.
|
inline |
Definition at line 819 of file DebugInfo.h.
|
inline |
Definition at line 826 of file DebugInfo.h.
|
inline |
Definition at line 820 of file DebugInfo.h.
|
inline |
Definition at line 813 of file DebugInfo.h.
|
inline |
Definition at line 824 of file DebugInfo.h.
|
inline |
Definition at line 814 of file DebugInfo.h.
|
inline |
Definition at line 817 of file DebugInfo.h.
|
inline |
Definition at line 825 of file DebugInfo.h.
|
inline |
Definition at line 818 of file DebugInfo.h.