diff options
author | Jan Hubicka <jh@suse.cz> | 2002-06-29 01:41:19 +0200 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 2002-06-28 17:41:19 -0600 |
commit | 6bdb8dd69517ba58d3c8281fef8d7455f1dccfe9 (patch) | |
tree | 1ba1471b88635ad1e6a1d35451607c96354b03dd /gcc/gcse.c | |
parent | f1b1186f6c7287df5685e8ebf21d5d4ce73d5647 (diff) | |
download | gcc-6bdb8dd69517ba58d3c8281fef8d7455f1dccfe9.zip gcc-6bdb8dd69517ba58d3c8281fef8d7455f1dccfe9.tar.gz gcc-6bdb8dd69517ba58d3c8281fef8d7455f1dccfe9.tar.bz2 |
* gcse.c (gcse_emit_move_after): Use gen_move_insn to produce the move.
From-SVN: r55087
Diffstat (limited to 'gcc/gcse.c')
-rw-r--r-- | gcc/gcse.c | 12 |
1 files changed, 5 insertions, 7 deletions
@@ -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 |