aboutsummaryrefslogtreecommitdiff
path: root/gcc/reload1.c
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/reload1.c
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/reload1.c')
-rw-r--r--gcc/reload1.c3
1 files changed, 3 insertions, 0 deletions
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])