From: Adam Nemet Date: Wed, 6 May 2015 08:18:41 +0000 (+0000) Subject: [DomTree] verifyDomTree to unconditionally perform DT verification X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=3a1777818d1c7783f3468b6744f6e5ce8bfa3b2b;p=oota-llvm.git [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, we do want to perform the verification. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@236575 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/IR/Dominators.cpp b/lib/IR/Dominators.cpp index 9b6ff1eb136..e3258895ea5 100644 --- a/lib/IR/Dominators.cpp +++ b/lib/IR/Dominators.cpp @@ -282,9 +282,6 @@ bool DominatorTree::isReachableFromEntry(const Use &U) const { } void DominatorTree::verifyDomTree() const { - if (!VerifyDomInfo) - return; - Function &F = *getRoot()->getParent(); DominatorTree OtherDT; @@ -350,7 +347,10 @@ bool DominatorTreeWrapperPass::runOnFunction(Function &F) { 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); diff --git a/lib/Transforms/Scalar/PlaceSafepoints.cpp b/lib/Transforms/Scalar/PlaceSafepoints.cpp index ffed810d823..08e41c27c5c 100644 --- a/lib/Transforms/Scalar/PlaceSafepoints.cpp +++ b/lib/Transforms/Scalar/PlaceSafepoints.cpp @@ -455,10 +455,9 @@ static Instruction *findLocationForEntrySafepoint(Function &F, // 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(); }