diff options
author | Manman Ren <manman.ren@gmail.com> | 2013-09-09 19:47:11 +0000 |
---|---|---|
committer | Manman Ren <manman.ren@gmail.com> | 2013-09-09 19:47:11 +0000 |
commit | 116868eaddccd6080ca0c564c6d7e44ebebcb3c9 (patch) | |
tree | f968356b1270e7622ee41ab446dccab2ba7b7c0f /llvm/lib/IR/Verifier.cpp | |
parent | 7a8b6ca2d16c529dfa3e3f1188ec070454850b6f (diff) | |
download | bcm5719-llvm-116868eaddccd6080ca0c564c6d7e44ebebcb3c9.tar.gz bcm5719-llvm-116868eaddccd6080ca0c564c6d7e44ebebcb3c9.zip |
Debug Info: Use DIScopeRef for DIType::getContext.
In DIBuilder, the context field of a TAG_member is updated to use the
scope reference. Verifier is updated accordingly.
DebugInfoFinder now needs to generate a type identifier map to have
access to the actual scope. Same applies for BreakpointPrinter.
processModule of DebugInfoFinder is called during initialization phase
of the verifier to make sure the type identifier map is constructed early
enough.
We are now able to unique a simple class as demonstrated by the added
testing case.
llvm-svn: 190334
Diffstat (limited to 'llvm/lib/IR/Verifier.cpp')
-rw-r--r-- | llvm/lib/IR/Verifier.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/IR/Verifier.cpp b/llvm/lib/IR/Verifier.cpp index d939084052e..b6d148b377c 100644 --- a/llvm/lib/IR/Verifier.cpp +++ b/llvm/lib/IR/Verifier.cpp @@ -170,6 +170,8 @@ namespace { Finder.reset(); DL = getAnalysisIfAvailable<DataLayout>(); + if (!DisableDebugInfoVerifier) + Finder.processModule(M); // We must abort before returning back to the pass manager, or else the // pass manager may try to run other passes on the broken module. @@ -2305,8 +2307,6 @@ void Verifier::visitIntrinsicFunctionCall(Intrinsic::ID ID, CallInst &CI) { void Verifier::verifyDebugInfo(Module &M) { // Verify Debug Info. if (!DisableDebugInfoVerifier) { - Finder.processModule(M); - for (DebugInfoFinder::iterator I = Finder.compile_unit_begin(), E = Finder.compile_unit_end(); I != E; ++I) Assert1(DICompileUnit(*I).Verify(), "DICompileUnit does not Verify!", *I); |