diff options
author | Andrew Trick <atrick@apple.com> | 2011-09-26 23:35:25 +0000 |
---|---|---|
committer | Andrew Trick <atrick@apple.com> | 2011-09-26 23:35:25 +0000 |
commit | 25b689e067697d3b49ae123120703fada030350f (patch) | |
tree | f539bba4009c30250d4690ee44c1fc853f1734e7 | |
parent | 184944acdfb74041a2362af904e6eda3f0d3f645 (diff) | |
download | external_llvm-25b689e067697d3b49ae123120703fada030350f.zip external_llvm-25b689e067697d3b49ae123120703fada030350f.tar.gz external_llvm-25b689e067697d3b49ae123120703fada030350f.tar.bz2 |
LSR, one of the new Cost::isLoser() checks did not get merged in the previous checkin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140583 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Transforms/Scalar/LoopStrengthReduce.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/Transforms/Scalar/LoopStrengthReduce.cpp b/lib/Transforms/Scalar/LoopStrengthReduce.cpp index 1e5b56b..0ad9fc3 100644 --- a/lib/Transforms/Scalar/LoopStrengthReduce.cpp +++ b/lib/Transforms/Scalar/LoopStrengthReduce.cpp @@ -745,9 +745,13 @@ void Cost::RateRegister(const SCEV *Reg, // Add the step value register, if it needs one. // TODO: The non-affine case isn't precisely modeled here. - if (!AR->isAffine() || !isa<SCEVConstant>(AR->getOperand(1))) - if (!Regs.count(AR->getOperand(1))) + if (!AR->isAffine() || !isa<SCEVConstant>(AR->getOperand(1))) { + if (!Regs.count(AR->getOperand(1))) { RateRegister(AR->getOperand(1), Regs, L, SE, DT); + if (isLoser()) + return; + } + } } ++NumRegs; |