https://llvm.org/bugs/show_bug.cgi?id=27945
Sanjoy Das <san...@playingwithpointers.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |michael.v.zolotukhin@gmail. | |com Resolution|--- |DUPLICATE --- Comment #2 from Sanjoy Das <san...@playingwithpointers.com> --- Running with this patch diff --git a/lib/Analysis/LoopPass.cpp b/lib/Analysis/LoopPass.cpp index 3181e4f..0ea2bf4 100644 --- a/lib/Analysis/LoopPass.cpp +++ b/lib/Analysis/LoopPass.cpp @@ -14,6 +14,7 @@ //===----------------------------------------------------------------------===// #include "llvm/Analysis/LoopPass.h" +#include "llvm/IR/Dominators.h" #include "llvm/IR/IRPrintingPasses.h" #include "llvm/IR/LLVMContext.h" #include "llvm/IR/OptBisect.h" @@ -197,6 +198,15 @@ bool LPPassManager::runOnFunction(Function &F) { TimeRegion PassTimer(getPassTimer(P)); Changed |= P->runOnLoop(CurrentLoop, *this); + + DominatorTree DT; + DT.recalculate(F); + for (auto *L : make_range(LI->begin(), LI->end())) { + if (!L->isRecursivelyLCSSAForm(DT)) { + dbgs() << "Broke LCSSA after running " << P->getPassName() << "n"; + assert(false); + } + } } LoopWasDeleted = CurrentLoop->isInvalid(); Crashes as: Broke LCSSA after running Unroll loops Assertion failed: (false), function runOnFunction, file ../../lib/Analysis/LoopPass.cpp, line 207. So it is most likely a duplicate of PR26682. *** This bug has been marked as a duplicate of bug 26682 *** -- You are receiving this mail because: You are on the CC list for the bug.
_______________________________________________ llvm-bugs mailing list llvm-bugs@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs