aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJ"orn Rennecke <amylaar@cygnus.co.uk>1999-03-10 10:59:54 +0000
committerJoern Rennecke <amylaar@gcc.gnu.org>1999-03-10 10:59:54 +0000
commit0c7f225984c0ef7a41393858ba8bdd473f17168c (patch)
treee1bf064b5a856935e3bfa6c88e8dba56d8c764bd /gcc
parent6cbd257eb5e361f019c5aff53e189e9123f30054 (diff)
downloadgcc-0c7f225984c0ef7a41393858ba8bdd473f17168c.zip
gcc-0c7f225984c0ef7a41393858ba8bdd473f17168c.tar.gz
gcc-0c7f225984c0ef7a41393858ba8bdd473f17168c.tar.bz2
reload1.c (choose_reload_regs): When inheriting from the frame pointer, don't clobber it.
* reload1.c (choose_reload_regs): When inheriting from the frame pointer, don't clobber it. From-SVN: r25669
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/reload1.c3
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index eeb5e18..f69c830 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Wed Mar 10 18:56:31 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * reload1.c (choose_reload_regs): When inheriting from the frame
+ pointer, don't clobber it.
+
Wed Mar 10 08:01:52 1999 Bruce Korb <korb@datadesign.com>
* fixinc/fixinc.*: Resync-ed with the files in this
diff --git a/gcc/reload1.c b/gcc/reload1.c
index df62341..9109614 100644
--- a/gcc/reload1.c
+++ b/gcc/reload1.c
@@ -5930,6 +5930,9 @@ choose_reload_regs (chain)
|| (TEST_HARD_REG_BIT (reg_used_in_insn, i)
&& reload_out[r]
&& ! TEST_HARD_REG_BIT (reg_reloaded_dead, i))
+ /* Don't clobber the frame pointer. */
+ || (i == HARD_FRAME_POINTER_REGNUM
+ && reload_out[r])
/* Don't really use the inherited spill reg
if we need it wider than we've got it. */
|| (GET_MODE_SIZE (reload_mode[r])