|
LLVM
4.0.0
|
Utility to find all debug info in a module. More...
#include <DebugInfo.h>
Public Types | |
| typedef SmallVectorImpl < DICompileUnit * > ::const_iterator | compile_unit_iterator |
| typedef SmallVectorImpl < DISubprogram * > ::const_iterator | subprogram_iterator |
| typedef SmallVectorImpl < DIGlobalVariableExpression * > ::const_iterator | global_variable_expression_iterator |
| typedef SmallVectorImpl < DIType * >::const_iterator | type_iterator |
| typedef SmallVectorImpl < DIScope * >::const_iterator | scope_iterator |
Public Member Functions | |
| void | processModule (const Module &M) |
| Process entire module and collect debug info anchors. More... | |
| void | processDeclare (const Module &M, const DbgDeclareInst *DDI) |
| Process DbgDeclareInst. More... | |
| void | processValue (const Module &M, const DbgValueInst *DVI) |
| Process DbgValueInst. More... | |
| void | processLocation (const Module &M, const DILocation *Loc) |
| Process debug info location. More... | |
| void | reset () |
| Clear all lists. More... | |
| iterator_range < compile_unit_iterator > | compile_units () const |
| iterator_range < subprogram_iterator > | subprograms () const |
| iterator_range < global_variable_expression_iterator > | global_variables () const |
| iterator_range< type_iterator > | types () const |
| iterator_range< scope_iterator > | scopes () const |
| unsigned | compile_unit_count () const |
| unsigned | global_variable_count () const |
| unsigned | subprogram_count () const |
| unsigned | type_count () const |
| unsigned | scope_count () const |
Utility to find all debug info in a module.
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 70 of file DebugInfo.h.
| typedef SmallVectorImpl<DICompileUnit *>::const_iterator llvm::DebugInfoFinder::compile_unit_iterator |
Definition at line 99 of file DebugInfo.h.
| typedef SmallVectorImpl<DIGlobalVariableExpression *>::const_iterator llvm::DebugInfoFinder::global_variable_expression_iterator |
Definition at line 102 of file DebugInfo.h.
| typedef SmallVectorImpl<DIScope *>::const_iterator llvm::DebugInfoFinder::scope_iterator |
Definition at line 104 of file DebugInfo.h.
| typedef SmallVectorImpl<DISubprogram *>::const_iterator llvm::DebugInfoFinder::subprogram_iterator |
Definition at line 100 of file DebugInfo.h.
| typedef SmallVectorImpl<DIType *>::const_iterator llvm::DebugInfoFinder::type_iterator |
Definition at line 103 of file DebugInfo.h.
|
inline |
Definition at line 126 of file DebugInfo.h.
|
inline |
Definition at line 106 of file DebugInfo.h.
References llvm::make_range().
|
inline |
Definition at line 127 of file DebugInfo.h.
|
inline |
Definition at line 114 of file DebugInfo.h.
References llvm::make_range().
| void DebugInfoFinder::processDeclare | ( | const Module & | M, |
| const DbgDeclareInst * | DDI | ||
| ) |
Process DbgDeclareInst.
Definition at line 158 of file DebugInfo.cpp.
References llvm::dyn_cast(), llvm::DbgDeclareInst::getVariable(), and N.
| void DebugInfoFinder::processLocation | ( | const Module & | M, |
| const DILocation * | Loc | ||
| ) |
Process debug info location.
Definition at line 87 of file DebugInfo.cpp.
Process entire module and collect debug info anchors.
Definition at line 53 of file DebugInfo.cpp.
References llvm::Module::debug_compile_units(), F, llvm::Module::functions(), and llvm::Import.
| void DebugInfoFinder::processValue | ( | const Module & | M, |
| const DbgValueInst * | DVI | ||
| ) |
Process DbgValueInst.
Definition at line 174 of file DebugInfo.cpp.
References llvm::dyn_cast(), llvm::DbgValueInst::getVariable(), and N.
| void DebugInfoFinder::reset | ( | ) |
Clear all lists.
Definition at line 44 of file DebugInfo.cpp.
|
inline |
Definition at line 130 of file DebugInfo.h.
|
inline |
Definition at line 122 of file DebugInfo.h.
References llvm::make_range().
|
inline |
Definition at line 128 of file DebugInfo.h.
|
inline |
Definition at line 110 of file DebugInfo.h.
References llvm::make_range().
|
inline |
Definition at line 129 of file DebugInfo.h.
|
inline |
Definition at line 118 of file DebugInfo.h.
References llvm::make_range().
1.8.6