From: Jan Hubicka Date: Fri, 28 Jun 2002 23:41:19 +0000 (+0200) Subject: * gcse.c (gcse_emit_move_after): Use gen_move_insn to produce the move. X-Git-Tag: releases/gcc-3.3.0~4052 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6bdb8dd69517ba58d3c8281fef8d7455f1dccfe9;p=thirdparty%2Fgcc.git * gcse.c (gcse_emit_move_after): Use gen_move_insn to produce the move. From-SVN: r55087 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f5cfca8cd6bd..dcdefc80e547 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2002-06-28 Jan Hubicka + + * gcse.c (gcse_emit_move_after): Use gen_move_insn to produce the move. + 2002-06-28 Stephen Clarke * combine.c (combine_simplify_rtx): Pass the mode of the diff --git a/gcc/gcse.c b/gcc/gcse.c index daeaa909144e..665be1fd9a35 100644 --- a/gcc/gcse.c +++ b/gcc/gcse.c @@ -5144,21 +5144,19 @@ gcse_emit_move_after (src, dest, insn) rtx src, dest, insn; { rtx new; - rtx set = single_set (insn); + rtx set = single_set (insn), set2; rtx note; rtx eqv; /* This should never fail since we're creating a reg->reg copy we've verified to be valid. */ - new = emit_insn_after (gen_rtx_SET (VOIDmode, dest, src), insn); - - /* want_to_gcse_p verifies that this move will be valid. Still this call - is mandatory as it may create clobbers required by the pattern. */ - if (insn_invalid_p (insn)) - abort (); + new = emit_insn_after (gen_move_insn (dest, src), insn); /* Note the equivalence for local CSE pass. */ + set2 = single_set (new); + if (!set2 || !rtx_equal_p (SET_DEST (set2), dest)) + return new; if ((note = find_reg_equal_equiv_note (insn))) eqv = XEXP (note, 0); else