LLVM API Documentation

Public Types | Public Member Functions
llvm::DebugInfoFinder Class Reference

#include <DebugInfo.h>

List of all members.

Public Types

typedef SmallVectorImpl
< DICompileUnit >
::const_iterator 
compile_unit_iterator
typedef SmallVectorImpl
< DISubprogram >
::const_iterator 
subprogram_iterator
typedef SmallVectorImpl
< DIGlobalVariable >
::const_iterator 
global_variable_iterator
typedef SmallVectorImpl
< DIType >::const_iterator 
type_iterator
typedef SmallVectorImpl
< DIScope >::const_iterator 
scope_iterator

Public Member Functions

 DebugInfoFinder ()
void processModule (const Module &M)
 processModule - Process entire module and collect debug info.
void processDeclare (const Module &M, const DbgDeclareInst *DDI)
 processDeclare - Process DbgDeclareInst.
void processValue (const Module &M, const DbgValueInst *DVI)
 Process DbgValueInst.
void processLocation (const Module &M, DILocation Loc)
 processLocation - Process DILocation.
void reset ()
 Clear all lists.
iterator_range
< compile_unit_iterator
compile_units () const
iterator_range
< subprogram_iterator
subprograms () const
iterator_range
< global_variable_iterator
global_variables () const
iterator_range< type_iteratortypes () const
iterator_range< scope_iteratorscopes () const
unsigned compile_unit_count () const
unsigned global_variable_count () const
unsigned subprogram_count () const
unsigned type_count () const
unsigned scope_count () const

Detailed Description

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 896 of file DebugInfo.h.


Member Typedef Documentation

Definition at line 941 of file DebugInfo.h.

Definition at line 943 of file DebugInfo.h.

Definition at line 945 of file DebugInfo.h.

Definition at line 942 of file DebugInfo.h.

Definition at line 944 of file DebugInfo.h.


Constructor & Destructor Documentation

Definition at line 898 of file DebugInfo.h.


Member Function Documentation

processLocation - Process DILocation.

Definition at line 1073 of file DebugInfo.cpp.

References llvm::DILocation::getOrigLocation(), and llvm::DILocation::getScope().

processModule - Process entire module and collect debug info.

processModule - Process entire module and collect debug info anchors.

Definition at line 1034 of file DebugInfo.cpp.

References llvm::DINameSpace::getContext(), llvm::DITypedArray< T >::getElement(), llvm::DIImportedEntity::getEntity(), llvm::Module::getNamedMetadata(), llvm::DITypedArray< T >::getNumElements(), and llvm::DIRef< T >::resolve().

Referenced by CloneDebugInfoMetadata().

Clear all lists.

Definition at line 1014 of file DebugInfo.cpp.


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