aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/DebugInfo.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/llvm/DebugInfo.h')
-rw-r--r--include/llvm/DebugInfo.h15
1 files changed, 12 insertions, 3 deletions
diff --git a/include/llvm/DebugInfo.h b/include/llvm/DebugInfo.h
index d05b328744..53b1bdd560 100644
--- a/include/llvm/DebugInfo.h
+++ b/include/llvm/DebugInfo.h
@@ -31,6 +31,7 @@ namespace llvm {
class Type;
class Value;
class DbgDeclareInst;
+ class DbgValueInst;
class Instruction;
class MDNode;
class NamedMDNode;
@@ -734,12 +735,23 @@ namespace llvm {
/// cleanseInlinedVariable - Remove inlined scope from the variable.
DIVariable cleanseInlinedVariable(MDNode *DV, LLVMContext &VMContext);
+ /// DebugInfoFinder tries to list all debug info MDNodes in a module. To
+ /// list debug info MDNodes used by an instruction, DebugInfoFinder uses
+ /// processDeclare and processValue. processModule will go through
+ /// all DICompileUnits and list debug info MDNodes used by the CUs.
class DebugInfoFinder {
public:
/// processModule - Process entire module and collect debug info
/// anchors.
void processModule(const Module &M);
+ /// processDeclare - Process DbgDeclareInst.
+ void processDeclare(const DbgDeclareInst *DDI);
+ /// Process DbgValueInst.
+ void processValue(const DbgValueInst *DVI);
+
+ /// Clear all lists.
+ void reset();
private:
/// processType - Process DIType.
void processType(DIType DT);
@@ -750,9 +762,6 @@ namespace llvm {
/// processSubprogram - Process DISubprogram.
void processSubprogram(DISubprogram SP);
- /// processDeclare - Process DbgDeclareInst.
- void processDeclare(const DbgDeclareInst *DDI);
-
/// processLocation - Process DILocation.
void processLocation(DILocation Loc);