summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorAndrew Trick <atrick@apple.com>2013-01-06 05:59:39 +0000
committerAndrew Trick <atrick@apple.com>2013-01-06 05:59:39 +0000
commitf950ce8e38a36220409f981bf769a10a793088c7 (patch)
tree04a1b716f6a7afa7419ac9dccc40b9415255b8b0 /llvm/lib
parentfd3981d6db44a40a240af97f5ae15a23df10a44d (diff)
downloadbcm5719-llvm-f950ce8e38a36220409f981bf769a10a793088c7.tar.gz
bcm5719-llvm-f950ce8e38a36220409f981bf769a10a793088c7.zip
Fix a crash in LSR replaceCongruentIVs.
Indirect branch in the preheader crashes replaceCongruentIVs. Fixes rdar://12910141. llvm-svn: 171653
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp b/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
index acae9b4966a..70ccc5431e3 100644
--- a/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
+++ b/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
@@ -4820,7 +4820,7 @@ bool LoopStrengthReduce::runOnLoop(Loop *L, LPPassManager & /*LPM*/) {
// Remove any extra phis created by processing inner loops.
Changed |= DeleteDeadPHIs(L->getHeader());
- if (EnablePhiElim) {
+ if (EnablePhiElim && L->isLoopSimplifyForm()) {
SmallVector<WeakVH, 16> DeadInsts;
SCEVExpander Rewriter(getAnalysis<ScalarEvolution>(), "lsr");
#ifndef NDEBUG
OpenPOWER on IntegriCloud