diff options
author | J"orn Rennecke <amylaar@cygnus.co.uk> | 1998-06-18 09:33:39 +0000 |
---|---|---|
committer | Joern Rennecke <amylaar@gcc.gnu.org> | 1998-06-18 10:33:39 +0100 |
commit | f9df0a1d520372d709a60b9cc2f8890e38df6e35 (patch) | |
tree | 11397394fc8ba4720b5a53634c9564a2921c2312 /gcc | |
parent | 276d5ee0ca27b648187650f1bfeb61b345b5f915 (diff) | |
download | gcc-f9df0a1d520372d709a60b9cc2f8890e38df6e35.zip gcc-f9df0a1d520372d709a60b9cc2f8890e38df6e35.tar.gz gcc-f9df0a1d520372d709a60b9cc2f8890e38df6e35.tar.bz2 |
reload.c (find_reloads): Don't narrow scope of RELOAD_OTHER to RELOAD_FOR_INSN.
* reload.c (find_reloads): Don't narrow scope of RELOAD_OTHER to
RELOAD_FOR_INSN.
From-SVN: r20559
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/reload.c | 4 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 31bc065..f0127ad 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Thu Jun 18 17:30:39 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + + * reload.c (find_reloads): Don't narrow scope of RELOAD_OTHER to + RELOAD_FOR_INSN. + Thu Jun 18 09:36:50 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> * Makefile.in (c-lang.o): Depend on output.h. diff --git a/gcc/reload.c b/gcc/reload.c index 172fa67..a8908a9 100644 --- a/gcc/reload.c +++ b/gcc/reload.c @@ -3574,11 +3574,13 @@ find_reloads (insn, replace, ind_levels, live_known, reload_reg_p) a SCRATCH). In this case, we only need have the reload live through the insn itself, but not for any of our input or output reloads. + But we must not accidentally narrow the scope of an existing + RELOAD_OTHER reload - leave these alone. In any case, anything needed to address this operand can remain however they were previously categorized. */ - if (goal_alternative_earlyclobber[i]) + if (goal_alternative_earlyclobber[i] && operand_type[i] != RELOAD_OTHER) operand_type[i] = (find_reg_note (insn, REG_UNUSED, recog_operand[i]) ? RELOAD_FOR_INSN : RELOAD_OTHER); |