LLVM
8.0.1
|
Utility to find all debug info in a module. More...
#include "llvm/IR/DebugInfo.h"
Public Types | |
using | compile_unit_iterator = SmallVectorImpl< DICompileUnit * >::const_iterator |
using | subprogram_iterator = SmallVectorImpl< DISubprogram * >::const_iterator |
using | global_variable_expression_iterator = SmallVectorImpl< DIGlobalVariableExpression * >::const_iterator |
using | type_iterator = SmallVectorImpl< DIType * >::const_iterator |
using | scope_iterator = SmallVectorImpl< DIScope * >::const_iterator |
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 65 of file DebugInfo.h.
using llvm::DebugInfoFinder::compile_unit_iterator = SmallVectorImpl<DICompileUnit *>::const_iterator |
Definition at line 97 of file DebugInfo.h.
using llvm::DebugInfoFinder::global_variable_expression_iterator = SmallVectorImpl<DIGlobalVariableExpression *>::const_iterator |
Definition at line 100 of file DebugInfo.h.
using llvm::DebugInfoFinder::scope_iterator = SmallVectorImpl<DIScope *>::const_iterator |
Definition at line 102 of file DebugInfo.h.
using llvm::DebugInfoFinder::subprogram_iterator = SmallVectorImpl<DISubprogram *>::const_iterator |
Definition at line 98 of file DebugInfo.h.
using llvm::DebugInfoFinder::type_iterator = SmallVectorImpl<DIType *>::const_iterator |
Definition at line 101 of file DebugInfo.h.
|
inline |
Definition at line 124 of file DebugInfo.h.
|
inline |
Definition at line 104 of file DebugInfo.h.
References llvm::make_range().
Referenced by llvm::CloneFunctionInto(), printFile(), and StripSymbolNames().
|
inline |
Definition at line 125 of file DebugInfo.h.
|
inline |
Definition at line 112 of file DebugInfo.h.
References llvm::make_range().
Referenced by printFile().
void DebugInfoFinder::processDeclare | ( | const Module & | M, |
const DbgDeclareInst * | DDI | ||
) |
Process DbgDeclareInst.
Definition at line 198 of file DebugInfo.cpp.
References llvm::dyn_cast(), llvm::DbgVariableIntrinsic::getVariable(), and N.
void DebugInfoFinder::processInstruction | ( | const Module & | M, |
const Instruction & | I | ||
) |
Process a single instruction and collect debug info anchors.
Definition at line 107 of file DebugInfo.cpp.
References llvm::Instruction::getDebugLoc().
Referenced by llvm::CloneBasicBlock().
void DebugInfoFinder::processLocation | ( | const Module & | M, |
const DILocation * | Loc | ||
) |
Process debug info location.
Definition at line 118 of file DebugInfo.cpp.
References D, llvm::DIScope::getScope(), llvm::DIType::getScope(), llvm::Ref, llvm::TypedDINodeRef< T >::resolve(), and llvm::ARM_MB::ST.
Process entire module and collect debug info anchors.
Definition at line 63 of file DebugInfo.cpp.
References llvm::Module::debug_compile_units(), F(), llvm::Module::functions(), llvm::DICompileUnit::getEnumTypes(), llvm::DICompileUnit::getGlobalVariables(), llvm::DICompileUnit::getImportedEntities(), llvm::DICompileUnit::getRetainedTypes(), I, and llvm::Import.
Referenced by INITIALIZE_PASS(), and StripSymbolNames().
void DebugInfoFinder::processValue | ( | const Module & | M, |
const DbgValueInst * | DVI | ||
) |
Process DbgValueInst.
Definition at line 214 of file DebugInfo.cpp.
References llvm::dyn_cast(), llvm::MDNode::getNumOperands(), llvm::DbgVariableIntrinsic::getVariable(), and N.
void DebugInfoFinder::reset | ( | ) |
Clear all lists.
Definition at line 54 of file DebugInfo.cpp.
|
inline |
Definition at line 128 of file DebugInfo.h.
|
inline |
Definition at line 120 of file DebugInfo.h.
References llvm::make_range().
|
inline |
Definition at line 126 of file DebugInfo.h.
|
inline |
Definition at line 108 of file DebugInfo.h.
References llvm::make_range().
Referenced by llvm::CloneFunctionInto(), printFile(), and StripSymbolNames().
|
inline |
Definition at line 127 of file DebugInfo.h.
|
inline |
Definition at line 116 of file DebugInfo.h.
References llvm::make_range().
Referenced by llvm::CloneFunctionInto(), and printFile().