LLVM 22.0.0git
|
Utility to find all debug info in a module. More...
#include "llvm/IR/DebugInfo.h"
Public Types | |
using | compile_unit_iterator |
using | subprogram_iterator = SmallVectorImpl<DISubprogram *>::const_iterator |
using | global_variable_expression_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 103 of file DebugInfo.h.
Definition at line 135 of file DebugInfo.h.
Definition at line 138 of file DebugInfo.h.
Definition at line 141 of file DebugInfo.h.
Definition at line 137 of file DebugInfo.h.
Definition at line 140 of file DebugInfo.h.
|
inline |
Definition at line 163 of file DebugInfo.h.
|
inline |
Definition at line 143 of file DebugInfo.h.
References llvm::make_range().
Referenced by llvm::CloneFunctionInto(), printModuleDebugInfo(), and stripDeadDebugInfoImpl().
|
inline |
Definition at line 164 of file DebugInfo.h.
|
inline |
Definition at line 151 of file DebugInfo.h.
References llvm::make_range().
Referenced by printModuleDebugInfo().
Definition at line 220 of file DebugInfo.cpp.
References llvm::dyn_cast(), llvm::DebugLoc::get(), llvm::DbgRecord::getDebugLoc(), processLocation(), and processVariable().
Referenced by processInstruction().
void DebugInfoFinder::processInstruction | ( | const Module & | M, |
const Instruction & | I ) |
Process a single instruction and collect debug info anchors.
Definition at line 201 of file DebugInfo.cpp.
References llvm::dyn_cast(), I, processDbgRecord(), processLocation(), and processVariable().
Referenced by processModule(), and stripDeadDebugInfoImpl().
void DebugInfoFinder::processLocation | ( | const Module & | M, |
const DILocation * | Loc ) |
Process debug info location.
Definition at line 213 of file DebugInfo.cpp.
References processLocation().
Referenced by processDbgRecord(), processInstruction(), and processLocation().
Process entire module and collect debug info anchors.
Definition at line 166 of file DebugInfo.cpp.
References llvm::cast_or_null(), F, I, processInstruction(), and processSubprogram().
void DebugInfoFinder::processSubprogram | ( | DISubprogram * | SP | ) |
Process subprogram.
Definition at line 288 of file DebugInfo.cpp.
References llvm::dyn_cast(), llvm::dyn_cast_or_null(), llvm::Import, N, and processVariable().
Referenced by processModule(), and stripDeadDebugInfoImpl().
void DebugInfoFinder::processVariable | ( | DILocalVariable * | DVI | ) |
Definition at line 318 of file DebugInfo.cpp.
References llvm::DILocalVariable::getScope(), and llvm::DIVariable::getType().
Referenced by processDbgRecord(), processInstruction(), and processSubprogram().
void DebugInfoFinder::reset | ( | ) |
Clear all lists.
Definition at line 157 of file DebugInfo.cpp.
|
inline |
Definition at line 167 of file DebugInfo.h.
|
inline |
Definition at line 159 of file DebugInfo.h.
References llvm::make_range().
|
inline |
Definition at line 165 of file DebugInfo.h.
|
inline |
Definition at line 147 of file DebugInfo.h.
References llvm::make_range().
Referenced by printModuleDebugInfo().
|
inline |
Definition at line 166 of file DebugInfo.h.
|
inline |
Definition at line 155 of file DebugInfo.h.
References llvm::make_range().
Referenced by printModuleDebugInfo().