diff options
author | Andrew Trick <atrick@apple.com> | 2013-01-06 05:59:39 +0000 |
---|---|---|
committer | Andrew Trick <atrick@apple.com> | 2013-01-06 05:59:39 +0000 |
commit | f950ce8e38a36220409f981bf769a10a793088c7 (patch) | |
tree | 04a1b716f6a7afa7419ac9dccc40b9415255b8b0 /llvm/lib/Transforms/Scalar | |
parent | fd3981d6db44a40a240af97f5ae15a23df10a44d (diff) | |
download | bcm5719-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/Transforms/Scalar')
-rw-r--r-- | llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp | 2 |
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 |