llvm::DebugInfoFinder

Utility to find all debug info in a module.

Synopsis

Declared in <llvm/IR/DebugInfo.h>

class DebugInfoFinder;

Description

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.

Type Aliases

NameDescription
DIMacroEntry Pair of a macro and the macro file that contains it.
compile_unit_iterator Iterator over collected compile units.
global_variable_expression_iterator Iterator over collected global variable expressions.
macro_iterator Iterator over collected macros.
scope_iterator Iterator over collected scopes.
subprogram_iterator Iterator over collected subprograms.
type_iterator Iterator over collected types.

Member Functions

NameDescription
compile_unit_count Return the number of collected compile units.
compile_units Return the range of collected compile units.
global_variable_count Return the number of collected global variable expressions.
global_variables Return the range of collected global variable expressions.
macro_count Return the number of collected macros.
macros Return the range of collected macros.
processDbgRecord Process a DbgRecord.
processInstruction Process a single instruction and collect debug info anchors.
processLocation Process debug info location.
processModule Process entire module and collect debug info anchors.
processSubprogram Process subprogram.
processVariable Process a DILocalVariable.
reset Clear all lists.
scope_count Return the number of collected scopes.
scopes Return the range of collected scopes.
subprogram_count Return the number of collected subprograms.
subprograms Return the range of collected subprograms.
type_count Return the number of collected types.
types Return the range of collected types.