[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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@236575 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Adam Nemet 2015-05-06 08:18:41 +00:00
parent caa560cfb9
commit 3a1777818d
2 changed files with 6 additions and 7 deletions

View File

@ -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);

View File

@ -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();
}