aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/RegisterScavenging.cpp
diff options
context:
space:
mode:
authorJim Grosbach <grosbach@apple.com>2009-10-21 22:59:56 +0000
committerJim Grosbach <grosbach@apple.com>2009-10-21 22:59:56 +0000
commit29bed1c8bb491a5fe609d58c5e560929117a859e (patch)
tree157b62e5eaba7ad9f7d7bc241c6091789f8d61e4 /lib/CodeGen/RegisterScavenging.cpp
parent1d6827bbe947730cb91d68a9fd9c469f7f56a6ae (diff)
The spill restore needs to be resolved to the SP/FP just like the spill
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84792 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/RegisterScavenging.cpp')
-rw-r--r--lib/CodeGen/RegisterScavenging.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/CodeGen/RegisterScavenging.cpp b/lib/CodeGen/RegisterScavenging.cpp
index 5fa28d281a..2518ce1520 100644
--- a/lib/CodeGen/RegisterScavenging.cpp
+++ b/lib/CodeGen/RegisterScavenging.cpp
@@ -310,6 +310,8 @@ unsigned RegScavenger::scavengeRegister(const TargetRegisterClass *RC,
// Restore the scavenged register before its use (or first terminator).
TII->loadRegFromStackSlot(*MBB, UseMI, SReg, ScavengingFrameIndex, RC);
+ II = prior(UseMI);
+ TRI->eliminateFrameIndex(II, SPAdj, NULL, this);
}
ScavengeRestore = prior(UseMI);