summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorManman Ren <manman.ren@gmail.com>2013-11-17 18:42:37 +0000
committerManman Ren <manman.ren@gmail.com>2013-11-17 18:42:37 +0000
commit2b31b8227fb5507c26a8c4724574fc87fb90f482 (patch)
tree75287f174692aad37b0a2511e2ace212855bbb01 /include
parent80ccd9ea59b8911f12836da98aceedce4ebc6a6f (diff)
downloadllvm-2b31b8227fb5507c26a8c4724574fc87fb90f482.tar.gz
llvm-2b31b8227fb5507c26a8c4724574fc87fb90f482.tar.bz2
llvm-2b31b8227fb5507c26a8c4724574fc87fb90f482.tar.xz
Debug Info Verifier: enable public functions of Finder to update the type map.
We used to depend on running processModule before the other public functions such as processDeclare, processValue and processLocation. We are now relaxing the constraint by adding a module argument to the three functions and letting the three functions to initialize the type map. This will be used in a follow-on patch that collects nodes reachable from a Function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194973 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r--include/llvm/DebugInfo.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/include/llvm/DebugInfo.h b/include/llvm/DebugInfo.h
index 0a070fe530..e73fda8705 100644
--- a/include/llvm/DebugInfo.h
+++ b/include/llvm/DebugInfo.h
@@ -766,16 +766,19 @@ public:
void processModule(const Module &M);
/// processDeclare - Process DbgDeclareInst.
- void processDeclare(const DbgDeclareInst *DDI);
+ void processDeclare(const Module &M, const DbgDeclareInst *DDI);
/// Process DbgValueInst.
- void processValue(const DbgValueInst *DVI);
+ void processValue(const Module &M, const DbgValueInst *DVI);
/// processLocation - Process DILocation.
- void processLocation(DILocation Loc);
+ void processLocation(const Module &M, DILocation Loc);
/// Clear all lists.
void reset();
private:
+ /// Initialize TypeIdentifierMap.
+ void IntializeTypeMap(const Module &M);
+
/// processType - Process DIType.
void processType(DIType DT);
@@ -828,6 +831,8 @@ private:
SmallVector<MDNode *, 8> Scopes; // Scopes
SmallPtrSet<MDNode *, 64> NodesSeen;
DITypeIdentifierMap TypeIdentifierMap;
+ /// Specify if TypeIdentifierMap is initialized.
+ bool TypeMapInitialized;
};
} // end namespace llvm