aboutsummaryrefslogtreecommitdiff
path: root/gcc/local-alloc.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/local-alloc.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/local-alloc.c')
-rw-r--r--gcc/local-alloc.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/gcc/local-alloc.c b/gcc/local-alloc.c
index 9945b45..7cee3f5 100644
--- a/gcc/local-alloc.c
+++ b/gcc/local-alloc.c
@@ -927,13 +927,9 @@ update_equiv_regs ()
/* cse sometimes generates function invariants, but doesn't put a
REG_EQUAL note on the insn. Since this note would be redundant,
- there's no point creating it earlier than here. Don't do this
- for ASM_OPERANDS since eliminate_regs doesn't support it and
- it serves no useful purpose. */
- if (! note && ! rtx_varies_p (src, 0)
- && GET_CODE (src) != ASM_OPERANDS)
- REG_NOTES (insn)
- = note = gen_rtx_EXPR_LIST (REG_EQUAL, src, REG_NOTES (insn));
+ there's no point creating it earlier than here. */
+ if (! note && ! rtx_varies_p (src, 0))
+ note = set_unique_reg_note (insn, REG_EQUAL, src);
/* Don't bother considering a REG_EQUAL note containing an EXPR_LIST
since it represents a function call */