Commit a3a24aa6 by Jeffrey A Law Committed by Jeff Law

reload1.c (delete_output_reload_insn): If a pseudo is set multiple times, then…

reload1.c (delete_output_reload_insn): If a pseudo is set multiple times, then it can not be completely replaced.

	* reload1.c (delete_output_reload_insn): If a pseudo is set multiple
	times, then it can not be completely replaced.
Fixes mis-compilation of wave5 in spec92.

From-SVN: r23581
parent bfa88f2d
Mon Nov 9 03:06:24 1998 Jeffrey A Law (law@cygnus.com)
* reload1.c (delete_output_reload_insn): If a pseudo is set multiple
times, then it can not be completely replaced.
Mon Nov 9 00:39:02 1998 Richard Henderson <rth@cygnus.com> Mon Nov 9 00:39:02 1998 Richard Henderson <rth@cygnus.com>
* alpha.md (call, call_value) [OSF]: Correct alt 3 insn length. * alpha.md (call, call_value) [OSF]: Correct alt 3 insn length.
......
...@@ -7931,6 +7931,7 @@ delete_output_reload (insn, j, last_reload_reg) ...@@ -7931,6 +7931,7 @@ delete_output_reload (insn, j, last_reload_reg)
and forget we had a stack slot for the pseudo. */ and forget we had a stack slot for the pseudo. */
if (reload_out[j] != reload_in[j] if (reload_out[j] != reload_in[j]
&& REG_N_DEATHS (REGNO (reg)) == 1 && REG_N_DEATHS (REGNO (reg)) == 1
&& REG_N_SETS (REGNO (reg)) == 1
&& REG_BASIC_BLOCK (REGNO (reg)) >= 0 && REG_BASIC_BLOCK (REGNO (reg)) >= 0
&& find_regno_note (insn, REG_DEAD, REGNO (reg))) && find_regno_note (insn, REG_DEAD, REGNO (reg)))
{ {
......
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