aboutsummaryrefslogtreecommitdiff
path: root/gcc/cse.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2001-10-30 13:41:45 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2001-10-30 13:41:45 +0100
commit3d238248433054745e54777fc4c59d1bce67ee41 (patch)
treebf284af1d2de346c28438607b4461f75a47c178a /gcc/cse.c
parent53fcdc7677776c3ccbe098ee4f8fe082cae5f28e (diff)
downloadgcc-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.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/gcc/cse.c b/gcc/cse.c
index cbeae55..ad6c620 100644
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -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,