diff options
author | Jakub Jelinek <jakub@redhat.com> | 2001-10-30 13:41:45 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2001-10-30 13:41:45 +0100 |
commit | 3d238248433054745e54777fc4c59d1bce67ee41 (patch) | |
tree | bf284af1d2de346c28438607b4461f75a47c178a /gcc/cse.c | |
parent | 53fcdc7677776c3ccbe098ee4f8fe082cae5f28e (diff) | |
download | gcc-3d238248433054745e54777fc4c59d1bce67ee41.zip gcc-3d238248433054745e54777fc4c59d1bce67ee41.tar.gz gcc-3d238248433054745e54777fc4c59d1bce67ee41.tar.bz2 |
emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or REG_EQUIV notes for ASM_OPERANDS.
* emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or
REG_EQUIV notes for ASM_OPERANDS. Return the new note (if any).
* rtl.h (set_unique_reg_note): Change return value.
* gcse.c (try_replace_reg): Use set_unique_reg_note.
* cse.c (cse_insn): Likewise.
* expr.c (emit_move_insn): Likewise.
* explow.c (force_reg): Likewise.
* local-alloc (update_equiv_regs): Likewise.
* loop.c (move_moveables, load_mems): Likewise.
* reload (find_reloads): Likewise.
* gcc.dg/20011029-2.c: New test.
From-SVN: r46636
Diffstat (limited to 'gcc/cse.c')
-rw-r--r-- | gcc/cse.c | 8 |
1 files changed, 1 insertions, 7 deletions
@@ -5648,18 +5648,12 @@ cse_insn (insn, libcall_insn) && GET_CODE (XEXP (XEXP (src_const, 0), 0)) == LABEL_REF && GET_CODE (XEXP (XEXP (src_const, 0), 1)) == LABEL_REF)) { - tem = find_reg_note (insn, REG_EQUAL, NULL_RTX); - /* Make sure that the rtx is not shared with any other insn. */ src_const = copy_rtx (src_const); /* Record the actual constant value in a REG_EQUAL note, making a new one if one does not already exist. */ - if (tem) - XEXP (tem, 0) = src_const; - else - REG_NOTES (insn) = gen_rtx_EXPR_LIST (REG_EQUAL, - src_const, REG_NOTES (insn)); + set_unique_reg_note (insn, REG_EQUAL, src_const); /* If storing a constant value in a register that previously held the constant value 0, |