From: law Date: Mon, 9 Nov 1998 02:12:55 +0000 (+0000) Subject: * reload1.c (delete_output_reload_insn): If a pseudo is set multiple X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7304b676081bc468e4f81c94f31f0574fbb7ab75;p=platform%2Fupstream%2Flinaro-gcc.git * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23581 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1ff5cc4..3d40451 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +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 * alpha.md (call, call_value) [OSF]: Correct alt 3 insn length. diff --git a/gcc/reload1.c b/gcc/reload1.c index 0d587ae..ea8bc1f 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -7931,6 +7931,7 @@ delete_output_reload (insn, j, last_reload_reg) and forget we had a stack slot for the pseudo. */ if (reload_out[j] != reload_in[j] && REG_N_DEATHS (REGNO (reg)) == 1 + && REG_N_SETS (REGNO (reg)) == 1 && REG_BASIC_BLOCK (REGNO (reg)) >= 0 && find_regno_note (insn, REG_DEAD, REGNO (reg))) {