class DebugInfoFinder
Declaration
class DebugInfoFinder { /* full declaration omitted */ };
Description
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.
Declared at: llvm/include/llvm/IR/DebugInfo.h:64
Method Overview
- public unsigned int compile_unit_count() const
- public iterator_range<llvm::DebugInfoFinder::compile_unit_iterator> compile_units() const
- public unsigned int global_variable_count() const
- public iterator_range<llvm::DebugInfoFinder::global_variable_expression_iterator> global_variables() const
- public void processDeclare(const llvm::Module & M, const llvm::DbgDeclareInst * DDI)
- public void processInstruction(const llvm::Module & M, const llvm::Instruction & I)
- public void processLocation(const llvm::Module & M, const llvm::DILocation * Loc)
- public void processModule(const llvm::Module & M)
- public void processValue(const llvm::Module & M, const llvm::DbgValueInst * DVI)
- public void reset()
- public unsigned int scope_count() const
- public iterator_range<llvm::DebugInfoFinder::scope_iterator> scopes() const
- public unsigned int subprogram_count() const
- public iterator_range<llvm::DebugInfoFinder::subprogram_iterator> subprograms() const
- public unsigned int type_count() const
- public iterator_range<llvm::DebugInfoFinder::type_iterator> types() const
Methods
¶unsigned int compile_unit_count() const
unsigned int compile_unit_count() const
Declared at: llvm/include/llvm/IR/DebugInfo.h:123
¶iterator_range<
llvm::DebugInfoFinder::compile_unit_iterator>
compile_units() const
iterator_range<
llvm::DebugInfoFinder::compile_unit_iterator>
compile_units() const
Declared at: llvm/include/llvm/IR/DebugInfo.h:103
¶unsigned int global_variable_count() const
unsigned int global_variable_count() const
Declared at: llvm/include/llvm/IR/DebugInfo.h:124
¶iterator_range<
llvm::DebugInfoFinder::
global_variable_expression_iterator>
global_variables() const
iterator_range<
llvm::DebugInfoFinder::
global_variable_expression_iterator>
global_variables() const
Declared at: llvm/include/llvm/IR/DebugInfo.h:111
¶void processDeclare(
const llvm::Module& M,
const llvm::DbgDeclareInst* DDI)
void processDeclare(
const llvm::Module& M,
const llvm::DbgDeclareInst* DDI)
Description
Process DbgDeclareInst.
Declared at: llvm/include/llvm/IR/DebugInfo.h:72
Parameters
- const llvm::Module& M
- const llvm::DbgDeclareInst* DDI
¶void processInstruction(
const llvm::Module& M,
const llvm::Instruction& I)
void processInstruction(
const llvm::Module& M,
const llvm::Instruction& I)
Description
Process a single instruction and collect debug info anchors.
Declared at: llvm/include/llvm/IR/DebugInfo.h:69
Parameters
- const llvm::Module& M
- const llvm::Instruction& I
¶void processLocation(const llvm::Module& M,
const llvm::DILocation* Loc)
void processLocation(const llvm::Module& M,
const llvm::DILocation* Loc)
Description
Process debug info location.
Declared at: llvm/include/llvm/IR/DebugInfo.h:76
Parameters
- const llvm::Module& M
- const llvm::DILocation* Loc
¶void processModule(const llvm::Module& M)
void processModule(const llvm::Module& M)
Description
Process entire module and collect debug info anchors.
Declared at: llvm/include/llvm/IR/DebugInfo.h:67
Parameters
- const llvm::Module& M
¶void processValue(const llvm::Module& M,
const llvm::DbgValueInst* DVI)
void processValue(const llvm::Module& M,
const llvm::DbgValueInst* DVI)
Description
Process DbgValueInst.
Declared at: llvm/include/llvm/IR/DebugInfo.h:74
Parameters
- const llvm::Module& M
- const llvm::DbgValueInst* DVI
¶void reset()
void reset()
Description
Clear all lists.
Declared at: llvm/include/llvm/IR/DebugInfo.h:79
¶unsigned int scope_count() const
unsigned int scope_count() const
Declared at: llvm/include/llvm/IR/DebugInfo.h:127
¶iterator_range<
llvm::DebugInfoFinder::scope_iterator>
scopes() const
iterator_range<
llvm::DebugInfoFinder::scope_iterator>
scopes() const
Declared at: llvm/include/llvm/IR/DebugInfo.h:119
¶unsigned int subprogram_count() const
unsigned int subprogram_count() const
Declared at: llvm/include/llvm/IR/DebugInfo.h:125
¶iterator_range<
llvm::DebugInfoFinder::subprogram_iterator>
subprograms() const
iterator_range<
llvm::DebugInfoFinder::subprogram_iterator>
subprograms() const
Declared at: llvm/include/llvm/IR/DebugInfo.h:107
¶unsigned int type_count() const
unsigned int type_count() const
Declared at: llvm/include/llvm/IR/DebugInfo.h:126
¶iterator_range<
llvm::DebugInfoFinder::type_iterator>
types() const
iterator_range<
llvm::DebugInfoFinder::type_iterator>
types() const
Declared at: llvm/include/llvm/IR/DebugInfo.h:115