LLVM 18.0.0git
|
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 98 of file DebugInfo.h.
using llvm::DebugInfoFinder::compile_unit_iterator = SmallVectorImpl<DICompileUnit *>::const_iterator |
Definition at line 129 of file DebugInfo.h.
using llvm::DebugInfoFinder::global_variable_expression_iterator = SmallVectorImpl<DIGlobalVariableExpression *>::const_iterator |
Definition at line 132 of file DebugInfo.h.
Definition at line 135 of file DebugInfo.h.
Definition at line 131 of file DebugInfo.h.
Definition at line 134 of file DebugInfo.h.
|
inline |
Definition at line 157 of file DebugInfo.h.
|
inline |
Definition at line 137 of file DebugInfo.h.
References llvm::make_range().
Referenced by printModuleDebugInfo(), and stripDeadDebugInfoImpl().
|
inline |
Definition at line 158 of file DebugInfo.h.
|
inline |
Definition at line 145 of file DebugInfo.h.
References llvm::make_range().
Referenced by printModuleDebugInfo().
Definition at line 224 of file DebugInfo.cpp.
References llvm::DebugLoc::get(), llvm::DPValue::getDebugLoc(), llvm::DPValue::getVariable(), 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 205 of file DebugInfo.cpp.
References I, processDPValue(), processLocation(), and processVariable().
Referenced by llvm::CloneBasicBlock(), processModule(), and stripDeadDebugInfoImpl().
void DebugInfoFinder::processLocation | ( | const Module & | M, |
const DILocation * | Loc | ||
) |
Process debug info location.
Definition at line 217 of file DebugInfo.cpp.
References processLocation().
Referenced by processDPValue(), processInstruction(), and processLocation().
Process entire module and collect debug info anchors.
Definition at line 161 of file DebugInfo.cpp.
References F, I, processInstruction(), and processSubprogram().
Referenced by llvm::ModuleDebugInfoPrinterPass::run().
void DebugInfoFinder::processSubprogram | ( | DISubprogram * | SP | ) |
Process subprogram.
Definition at line 279 of file DebugInfo.cpp.
References llvm::DIScope::getScope().
Referenced by processModule(), and stripDeadDebugInfoImpl().
void DebugInfoFinder::processVariable | ( | const Module & | M, |
const DILocalVariable * | DVI | ||
) |
Process a DILocalVariable.
Definition at line 302 of file DebugInfo.cpp.
References llvm::DILocalVariable::getScope(), and llvm::DIVariable::getType().
Referenced by processDPValue(), and processInstruction().
void DebugInfoFinder::reset | ( | ) |
Clear all lists.
Definition at line 152 of file DebugInfo.cpp.
|
inline |
Definition at line 161 of file DebugInfo.h.
|
inline |
Definition at line 153 of file DebugInfo.h.
References llvm::make_range().
|
inline |
Definition at line 159 of file DebugInfo.h.
|
inline |
Definition at line 141 of file DebugInfo.h.
References llvm::make_range().
Referenced by printModuleDebugInfo().
|
inline |
Definition at line 160 of file DebugInfo.h.
|
inline |
Definition at line 149 of file DebugInfo.h.
References llvm::make_range().
Referenced by printModuleDebugInfo().