[llvm] r236575 - [DomTree] verifyDomTree to unconditionally perform DT verification
Adam Nemet
anemet at apple.com
Wed May 6 01:18:42 PDT 2015
Author: anemet
Date: Wed May 6 03:18:41 2015
New Revision: 236575
URL: http://llvm.org/viewvc/llvm-project?rev=236575&view=rev
Log:
[DomTree] verifyDomTree to unconditionally perform DT verification
I folded the check for the flag -verify-dom-info into the only caller
where I think it is supposed to be checked: verifyAnalysis. (The idea
of the flag is to enable this expensive verification in
verifyPreservedAnalysis.)
I'm assuming that when manually scheduling the verification pass
with -passes=verify<domtree>, we do want to perform the verification.
Modified:
llvm/trunk/lib/IR/Dominators.cpp
llvm/trunk/lib/Transforms/Scalar/PlaceSafepoints.cpp
Modified: llvm/trunk/lib/IR/Dominators.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IR/Dominators.cpp?rev=236575&r1=236574&r2=236575&view=diff
==============================================================================
--- llvm/trunk/lib/IR/Dominators.cpp (original)
+++ llvm/trunk/lib/IR/Dominators.cpp Wed May 6 03:18:41 2015
@@ -282,9 +282,6 @@ bool DominatorTree::isReachableFromEntry
}
void DominatorTree::verifyDomTree() const {
- if (!VerifyDomInfo)
- return;
-
Function &F = *getRoot()->getParent();
DominatorTree OtherDT;
@@ -350,7 +347,10 @@ bool DominatorTreeWrapperPass::runOnFunc
return false;
}
-void DominatorTreeWrapperPass::verifyAnalysis() const { DT.verifyDomTree(); }
+void DominatorTreeWrapperPass::verifyAnalysis() const {
+ if (VerifyDomInfo)
+ DT.verifyDomTree();
+}
void DominatorTreeWrapperPass::print(raw_ostream &OS, const Module *) const {
DT.print(OS);
Modified: llvm/trunk/lib/Transforms/Scalar/PlaceSafepoints.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/PlaceSafepoints.cpp?rev=236575&r1=236574&r2=236575&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/Scalar/PlaceSafepoints.cpp (original)
+++ llvm/trunk/lib/Transforms/Scalar/PlaceSafepoints.cpp Wed May 6 03:18:41 2015
@@ -455,10 +455,9 @@ static Instruction *findLocationForEntry
// Note: SplitBlock modifies the DT. Simply passing a Pass (which is a
// module pass) is not enough.
DT.recalculate(F);
-#ifndef NDEBUG
+
// SplitBlock updates the DT
- DT.verifyDomTree();
-#endif
+ DEBUG(DT.verifyDomTree());
return BB->getTerminator();
}
More information about the llvm-commits
mailing list