From 19f17bb9a0c599d6424919104de1ba79a060a24e Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Wed, 5 Jan 2005 20:09:11 -0800 Subject: 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 --- gcc/reload1.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'gcc/reload1.c') diff --git a/gcc/reload1.c b/gcc/reload1.c index 1fec0cdcc43..df7580e20b7 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -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) -- cgit v1.2.1