From 65e78aeb351616c0926ce84996472519e40eb310 Mon Sep 17 00:00:00 2001 From: law <law@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Fri, 28 Jun 2002 23:41:19 +0000 Subject: [PATCH] * gcse.c (gcse_emit_move_after): Use gen_move_insn to produce the move. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@55087 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 4 ++++ gcc/gcse.c | 12 +++++------- 2 files changed, 9 insertions(+), 7 deletions(-) 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 <jh@suse.cz> + + * gcse.c (gcse_emit_move_after): Use gen_move_insn to produce the move. + 2002-06-28 Stephen Clarke <stephen.clarke@superh.com> * 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 -- GitLab