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

Declared at: llvm/include/llvm/IR/DebugInfo.h:123

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

Declared at: llvm/include/llvm/IR/DebugInfo.h:124

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)

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)

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)

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)

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)

Description

Process DbgValueInst.

Declared at: llvm/include/llvm/IR/DebugInfo.h:74

Parameters

const llvm::Module& M
const llvm::DbgValueInst* DVI

void reset()

Description

Clear all lists.

Declared at: llvm/include/llvm/IR/DebugInfo.h:79

unsigned int scope_count() const

Declared at: llvm/include/llvm/IR/DebugInfo.h:127

iterator_range<
    llvm::DebugInfoFinder::scope_iterator>
scopes() const

Declared at: llvm/include/llvm/IR/DebugInfo.h:119

unsigned int subprogram_count() const

Declared at: llvm/include/llvm/IR/DebugInfo.h:125

iterator_range<
    llvm::DebugInfoFinder::subprogram_iterator>
subprograms() const

Declared at: llvm/include/llvm/IR/DebugInfo.h:107

unsigned int type_count() const

Declared at: llvm/include/llvm/IR/DebugInfo.h:126

iterator_range<
    llvm::DebugInfoFinder::type_iterator>
types() const

Declared at: llvm/include/llvm/IR/DebugInfo.h:115