forked from OSchip/llvm-project
[LoopUnroll] Don't verify domtree by default with +Asserts.
This verification is linear in the size of the function, so it can cause a quadratic compile-time explosion in a function with many loops to unroll. Differential Revision: https://reviews.llvm.org/D54732 llvm-svn: 349871
This commit is contained in:
parent
7b78137403
commit
3af2f53456
|
@ -54,10 +54,10 @@ UnrollRuntimeEpilog("unroll-runtime-epilog", cl::init(false), cl::Hidden,
|
|||
static cl::opt<bool>
|
||||
UnrollVerifyDomtree("unroll-verify-domtree", cl::Hidden,
|
||||
cl::desc("Verify domtree after unrolling"),
|
||||
#ifdef NDEBUG
|
||||
cl::init(false)
|
||||
#else
|
||||
#ifdef EXPENSIVE_CHECKS
|
||||
cl::init(true)
|
||||
#else
|
||||
cl::init(false)
|
||||
#endif
|
||||
);
|
||||
|
||||
|
|
|
@ -615,7 +615,9 @@ bool llvm::peelLoop(Loop *L, unsigned PeelCount, LoopInfo *LI,
|
|||
// the original loop body.
|
||||
if (Iter == 0)
|
||||
DT->changeImmediateDominator(Exit, cast<BasicBlock>(LVMap[Latch]));
|
||||
#ifdef EXPENSIVE_CHECKS
|
||||
assert(DT->verify(DominatorTree::VerificationLevel::Fast));
|
||||
#endif
|
||||
}
|
||||
|
||||
auto *LatchBRCopy = cast<BranchInst>(VMap[LatchBR]);
|
||||
|
|
Loading…
Reference in New Issue