From: J"orn Rennecke Date: Thu, 18 Jun 1998 09:33:39 +0000 (+0000) Subject: reload.c (find_reloads): Don't narrow scope of RELOAD_OTHER to RELOAD_FOR_INSN. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f9df0a1d520372d709a60b9cc2f8890e38df6e35;p=gcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 31bc065021a..f0127adfeb9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Thu Jun 18 17:30:39 1998 J"orn Rennecke + + * 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 * Makefile.in (c-lang.o): Depend on output.h. diff --git a/gcc/reload.c b/gcc/reload.c index 172fa67340e..a8908a99ef7 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);