summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2010-10-07 23:36:45 +0000
committerDan Gohman <gohman@apple.com>2010-10-07 23:36:45 +0000
commit8e7261105813a81e844e227bf3b9f2f0bee17e58 (patch)
tree1de242ce7285aa389dabc96afbe377ef047805fd /llvm/lib/Transforms
parent4fb38d3cd3fa4a34aa25614e7b5fb4aa49d8537a (diff)
downloadbcm5719-llvm-8e7261105813a81e844e227bf3b9f2f0bee17e58.tar.gz
bcm5719-llvm-8e7261105813a81e844e227bf3b9f2f0bee17e58.zip
When merging one use into another, transfer the offsets from
the old use to the new one. llvm-svn: 116008
Diffstat (limited to 'llvm/lib/Transforms')
-rw-r--r--llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp b/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
index 07477661f9a..f54bf63de22 100644
--- a/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
+++ b/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
@@ -3035,6 +3035,14 @@ void LSRInstance::NarrowSearchSpaceByCollapsingUnrolledCode() {
if (Fixup.LUIdx == LUIdx) {
Fixup.LUIdx = LUThatHas - &Uses.front();
Fixup.Offset += F.AM.BaseOffs;
+ // Add the new offset to LUThatHas' offset list.
+ if (LUThatHas->Offsets.back() != Fixup.Offset) {
+ LUThatHas->Offsets.push_back(Fixup.Offset);
+ if (Fixup.Offset > LUThatHas->MaxOffset)
+ LUThatHas->MaxOffset = Fixup.Offset;
+ if (Fixup.Offset < LUThatHas->MinOffset)
+ LUThatHas->MinOffset = Fixup.Offset;
+ }
DEBUG(dbgs() << "New fixup has offset "
<< Fixup.Offset << '\n');
}
OpenPOWER on IntegriCloud