re PR rtl-optimization/10692 ([m68k] miscompilation of perl with -O2 -fPIC)

PR rtl-opt/10692
        * reload1.c (do_input_reload): Restrict the optimization deleteing
        a previous output reload to RELOAD_FOR_INPUT.

From-SVN: r92984
This commit is contained in:
Richard Henderson 2005-01-05 20:09:11 -08:00 committed by Richard Henderson
parent 2070df3c39
commit 19f17bb9a0
2 changed files with 10 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2005-01-05 Richard Henderson <rth@redhat.com>
PR rtl-opt/10692
* reload1.c (do_input_reload): Restrict the optimization deleteing
a previous output reload to RELOAD_FOR_INPUT.
2005-01-05 Steven Bosscher <stevenb@suse.de>
* combine.c (expand_compound_operation) <ZERO_EXTRACT>: Add

View File

@ -6822,6 +6822,10 @@ do_input_reload (struct insn_chain *chain, struct reload *rl, int j)
actually no need to store the old value in it. */
if (optimize
/* Only attempt this for input reloads; for RELOAD_OTHER we miss
that there may be multiple uses of the previous output reload.
Restricting to RELOAD_FOR_INPUT is mostly paranoia. */
&& rl->when_needed == RELOAD_FOR_INPUT
&& (reload_inherited[j] || reload_override_in[j])
&& rl->reg_rtx
&& REG_P (rl->reg_rtx)