From: Richard Henderson Date: Tue, 19 Jan 1999 21:11:00 +0000 (-0800) Subject: expr.c (emit_move_insn_1): Revert 17 Dec change. X-Git-Tag: prereleases/libgcj-0.1~1253 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c14c652997970714f0b92df466ccebdf1e5cddfa;p=thirdparty%2Fgcc.git expr.c (emit_move_insn_1): Revert 17 Dec change. * expr.c (emit_move_insn_1): Revert 17 Dec change. Don't emit clobber during or after reload. From-SVN: r24772 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 457463471328..bfd8a0b0151f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Tue Jan 19 21:08:20 1999 Richard Henderson + + * expr.c (emit_move_insn_1): Revert 17 Dec change. Don't emit + clobber during or after reload. + Tue Jan 19 16:56:03 1999 Richard Henderson * genoutput.c (name_for_index): New function. diff --git a/gcc/expr.c b/gcc/expr.c index d84849d63093..88ce1560c5ca 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -2578,17 +2578,13 @@ emit_move_insn_1 (x, y) } else { - /* Show the output dies here. This is only necessary for pseudos. */ - if (x != y) + /* Show the output dies here. This is necessary for pseudos; + hard regs shouldn't appear here except as return values. + We never want to emit such a clobber after reload. */ + if (x != y + && ! (reload_in_progress || reload_completed)) { - rtx reg = x; - - while (GET_CODE (reg) == SUBREG) - reg = SUBREG_REG (reg); - - if (GET_CODE (reg) == REG - && REGNO (reg) >= FIRST_PSEUDO_REGISTER) - emit_insn (gen_rtx_CLOBBER (VOIDmode, x)); + emit_insn (gen_rtx_CLOBBER (VOIDmode, x)); } emit_insn (GEN_FCN (mov_optab->handlers[(int) submode].insn_code) @@ -2618,17 +2614,13 @@ emit_move_insn_1 (x, y) } #endif - /* Show the output dies here. This is only necessary for pseudos. */ - if (x != y) + /* Show the output dies here. This is necessary for pseudos; + hard regs shouldn't appear here except as return values. + We never want to emit such a clobber after reload. */ + if (x != y + && ! (reload_in_progress || reload_completed)) { - rtx reg = x; - - while (GET_CODE (reg) == SUBREG) - reg = SUBREG_REG (reg); - - if (GET_CODE (reg) == REG - && REGNO (reg) >= FIRST_PSEUDO_REGISTER) - emit_insn (gen_rtx_CLOBBER (VOIDmode, x)); + emit_insn (gen_rtx_CLOBBER (VOIDmode, x)); } for (i = 0;