[llvm-bugs] [Bug 27945] Compiler crash in "Induction Variable Simplification" for "-fno-exceptions"
via llvm-bugs
llvm-bugs at lists.llvm.org
Tue May 31 10:35:44 PDT 2016
https://llvm.org/bugs/show_bug.cgi?id=27945
Sanjoy Das <sanjoy at playingwithpointers.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |michael.v.zolotukhin at gmail.
| |com
Resolution|--- |DUPLICATE
--- Comment #2 from Sanjoy Das <sanjoy at 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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20160531/4b343f06/attachment.html>
More information about the llvm-bugs
mailing list