1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 04:02:41 +01:00

When merging one use into another, transfer the offsets from

the old use to the new one.

llvm-svn: 116008
This commit is contained in:
Dan Gohman 2010-10-07 23:36:45 +00:00
parent d8f05bf65e
commit 8cc92ffff1

View File

@ -3035,6 +3035,14 @@ void LSRInstance::NarrowSearchSpaceByCollapsingUnrolledCode() {
if (Fixup.LUIdx == LUIdx) { if (Fixup.LUIdx == LUIdx) {
Fixup.LUIdx = LUThatHas - &Uses.front(); Fixup.LUIdx = LUThatHas - &Uses.front();
Fixup.Offset += F.AM.BaseOffs; 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 " DEBUG(dbgs() << "New fixup has offset "
<< Fixup.Offset << '\n'); << Fixup.Offset << '\n');
} }