LLVM API Documentation
#include <DebugInfo.h>
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.
typedef SmallVectorImpl<DICompileUnit>::const_iterator llvm::DebugInfoFinder::compile_unit_iterator |
Definition at line 941 of file DebugInfo.h.
typedef SmallVectorImpl<DIGlobalVariable>::const_iterator llvm::DebugInfoFinder::global_variable_iterator |
Definition at line 943 of file DebugInfo.h.
typedef SmallVectorImpl<DIScope>::const_iterator llvm::DebugInfoFinder::scope_iterator |
Definition at line 945 of file DebugInfo.h.
typedef SmallVectorImpl<DISubprogram>::const_iterator llvm::DebugInfoFinder::subprogram_iterator |
Definition at line 942 of file DebugInfo.h.
typedef SmallVectorImpl<DIType>::const_iterator llvm::DebugInfoFinder::type_iterator |
Definition at line 944 of file DebugInfo.h.
llvm::DebugInfoFinder::DebugInfoFinder | ( | ) | [inline] |
Definition at line 898 of file DebugInfo.h.
unsigned llvm::DebugInfoFinder::compile_unit_count | ( | ) | const [inline] |
Definition at line 967 of file DebugInfo.h.
References llvm::SmallVectorTemplateCommon< T, typename >::size().
iterator_range<compile_unit_iterator> llvm::DebugInfoFinder::compile_units | ( | ) | const [inline] |
Definition at line 947 of file DebugInfo.h.
References llvm::SmallVectorTemplateCommon< T, typename >::begin(), and llvm::SmallVectorTemplateCommon< T, typename >::end().
Referenced by CloneDebugInfoMetadata().
unsigned llvm::DebugInfoFinder::global_variable_count | ( | ) | const [inline] |
Definition at line 968 of file DebugInfo.h.
References llvm::SmallVectorTemplateCommon< T, typename >::size().
iterator_range<global_variable_iterator> llvm::DebugInfoFinder::global_variables | ( | ) | const [inline] |
Definition at line 955 of file DebugInfo.h.
References llvm::SmallVectorTemplateCommon< T, typename >::begin(), and llvm::SmallVectorTemplateCommon< T, typename >::end().
void DebugInfoFinder::processDeclare | ( | const Module & | M, |
const DbgDeclareInst * | DDI | ||
) |
processDeclare - Process DbgDeclareInst.
Definition at line 1159 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 1073 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 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().
void DebugInfoFinder::processValue | ( | const Module & | M, |
const DbgValueInst * | DVI | ||
) |
Process DbgValueInst.
Definition at line 1176 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 1014 of file DebugInfo.cpp.
unsigned llvm::DebugInfoFinder::scope_count | ( | ) | const [inline] |
Definition at line 971 of file DebugInfo.h.
References llvm::SmallVectorTemplateCommon< T, typename >::size().
iterator_range<scope_iterator> llvm::DebugInfoFinder::scopes | ( | ) | const [inline] |
Definition at line 963 of file DebugInfo.h.
References llvm::SmallVectorTemplateCommon< T, typename >::begin(), and llvm::SmallVectorTemplateCommon< T, typename >::end().
unsigned llvm::DebugInfoFinder::subprogram_count | ( | ) | const [inline] |
Definition at line 969 of file DebugInfo.h.
References llvm::SmallVectorTemplateCommon< T, typename >::size().
iterator_range<subprogram_iterator> llvm::DebugInfoFinder::subprograms | ( | ) | const [inline] |
Definition at line 951 of file DebugInfo.h.
References llvm::SmallVectorTemplateCommon< T, typename >::begin(), and llvm::SmallVectorTemplateCommon< T, typename >::end().
Referenced by FindSubprogram().
unsigned llvm::DebugInfoFinder::type_count | ( | ) | const [inline] |
Definition at line 970 of file DebugInfo.h.
References llvm::SmallVectorTemplateCommon< T, typename >::size().
iterator_range<type_iterator> llvm::DebugInfoFinder::types | ( | ) | const [inline] |
Definition at line 959 of file DebugInfo.h.
References llvm::SmallVectorTemplateCommon< T, typename >::begin(), and llvm::SmallVectorTemplateCommon< T, typename >::end().