[Dominators] Do not perform expensive checks by default. Fix PR33656.

Summary:
Some transforms assume that DT.verifyDomInfo() is not expensive and call it even when ENABLE_EXPENSIVE_CHECKS is not set.
This patch disables expensive Dominator Tree verification (reachability, parent property, sibling property) to fix
[[ https://bugs.llvm.org/show_bug.cgi?id=33656 | PR33656 ]].

Note that this is only a temporary fix.

Reviewers: dberlin, chapuni, kparzysz, grosser

Reviewed By: dberlin

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D34894

llvm-svn: 306839
This commit is contained in:
Jakub Kuderski 2017-06-30 16:33:04 +00:00
parent c41ba09433
commit 069e5cfaf1
1 changed files with 2 additions and 1 deletions

View File

@ -292,7 +292,8 @@ bool DominatorTree::isReachableFromEntry(const Use &U) const {
}
void DominatorTree::verifyDomTree() const {
if (!verify()) {
// Perform the expensive checks only when VerifyDomInfo is set.
if (VerifyDomInfo && !verify()) {
errs() << "\n~~~~~~~~~~~\n\t\tDomTree verification failed!\n~~~~~~~~~~~\n";
print(errs());
abort();