Commit 4c3a2649 by Bernd Schmidt Committed by Bernd Schmidt

Never set reload_override_in for optional reloads.

From-SVN: r37103
parent 69add2a8
...@@ -3,6 +3,8 @@ ...@@ -3,6 +3,8 @@
* reload.c (find_reloads): Distinguish "wins" so that we know whether * reload.c (find_reloads): Distinguish "wins" so that we know whether
a given operand won because of a matching constraint or not; then use a given operand won because of a matching constraint or not; then use
that information to compute goal_alternative_matched properly. that information to compute goal_alternative_matched properly.
* reload1.c (choose_reload_regs): Never set reload_override_in for an
optional reload.
2000-10-28 Neil Booth <neilb@earthling.net> 2000-10-28 Neil Booth <neilb@earthling.net>
......
...@@ -5417,9 +5417,12 @@ choose_reload_regs (chain) ...@@ -5417,9 +5417,12 @@ choose_reload_regs (chain)
|| (rld[r].out && rld[r].reg_rtx || (rld[r].out && rld[r].reg_rtx
&& rtx_equal_p (rld[r].out, rld[r].reg_rtx))) && rtx_equal_p (rld[r].out, rld[r].reg_rtx)))
{ {
reload_override_in[r] = last_reg; if (! rld[r].optional)
reload_inheritance_insn[r] {
= reg_reloaded_insn[i]; reload_override_in[r] = last_reg;
reload_inheritance_insn[r]
= reg_reloaded_insn[i];
}
} }
else else
{ {
...@@ -5518,7 +5521,8 @@ choose_reload_regs (chain) ...@@ -5518,7 +5521,8 @@ choose_reload_regs (chain)
if (reg_overlap_mentioned_for_reload_p (equiv, if (reg_overlap_mentioned_for_reload_p (equiv,
reload_earlyclobbers[i])) reload_earlyclobbers[i]))
{ {
reload_override_in[r] = equiv; if (! rld[r].optional)
reload_override_in[r] = equiv;
equiv = 0; equiv = 0;
break; break;
} }
...@@ -5541,7 +5545,8 @@ choose_reload_regs (chain) ...@@ -5541,7 +5545,8 @@ choose_reload_regs (chain)
case RELOAD_OTHER: case RELOAD_OTHER:
case RELOAD_FOR_INPUT: case RELOAD_FOR_INPUT:
case RELOAD_FOR_OPERAND_ADDRESS: case RELOAD_FOR_OPERAND_ADDRESS:
reload_override_in[r] = equiv; if (! rld[r].optional)
reload_override_in[r] = equiv;
/* Fall through. */ /* Fall through. */
default: default:
equiv = 0; equiv = 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment