diff options
author | Dan Gohman <gohman@apple.com> | 2010-10-07 23:36:45 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2010-10-07 23:36:45 +0000 |
commit | 8e7261105813a81e844e227bf3b9f2f0bee17e58 (patch) | |
tree | 1de242ce7285aa389dabc96afbe377ef047805fd /llvm/lib/Transforms | |
parent | 4fb38d3cd3fa4a34aa25614e7b5fb4aa49d8537a (diff) | |
download | bcm5719-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.cpp | 8 |
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'); } |