diff options
author | Dan Gohman <gohman@apple.com> | 2009-10-23 17:10:01 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2009-10-23 17:10:01 +0000 |
commit | 934af9cfe08ba402882b061364aa693d47855547 (patch) | |
tree | 63e26f3b716231fe01959ca4a5ba2a760c923bf5 /lib/Transforms/Scalar/LoopDeletion.cpp | |
parent | 9ff9b34dd1042f4f3845a0e9d645d50b9a492d2c (diff) |
Make LoopDeletion check the maximum backedge taken count, rather than the
exact backedge taken count, when checking for infinite loops. This allows
it to delete loops with multiple exit conditions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84952 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/Scalar/LoopDeletion.cpp')
-rw-r--r-- | lib/Transforms/Scalar/LoopDeletion.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/Transforms/Scalar/LoopDeletion.cpp b/lib/Transforms/Scalar/LoopDeletion.cpp index 5f93756a05..8133a06f3f 100644 --- a/lib/Transforms/Scalar/LoopDeletion.cpp +++ b/lib/Transforms/Scalar/LoopDeletion.cpp @@ -167,7 +167,7 @@ bool LoopDeletion::runOnLoop(Loop* L, LPPassManager& LPM) { // Don't remove loops for which we can't solve the trip count. // They could be infinite, in which case we'd be changing program behavior. ScalarEvolution& SE = getAnalysis<ScalarEvolution>(); - const SCEV *S = SE.getBackedgeTakenCount(L); + const SCEV *S = SE.getMaxBackedgeTakenCount(L); if (isa<SCEVCouldNotCompute>(S)) return Changed; |