diff options
author | steven <steven@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-02-11 19:53:11 +0000 |
---|---|---|
committer | steven <steven@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-02-11 19:53:11 +0000 |
commit | 750a330e3c5ea0ee3a0ba6991939d9387d100727 (patch) | |
tree | b8e43a1106916133f6889b90922be4c1b0c3b737 /gcc/gcse.c | |
parent | 647e9f063f0f3df989bf6b81e5416009fa73822a (diff) | |
download | gcc-750a330e3c5ea0ee3a0ba6991939d9387d100727.tar.gz |
* fwprop.c (try_fwprop_subst): Use set_unique_reg_note
to add the REG_EQ* note.
* see.c (see_merge_one_use_extension): Likewise.
* local-alloc.c (update_equiv_regs): Likewise. Also don't
turn REG_EQUAL notes into REG_EQUIV notes if the target
register may have more than one set.
* function.c (assign_parm_setup_reg): Use set_unique_reg_note.
* gcse.c (try_replace_reg): Likewise.
* alias.c (init_alias_analysis): Use find_reg_equal_equiv_note.
* calls.c (fixup_tail_calls): Likewise. Abort if there is
more than one REG_EQUIV note.
* reload1.c (gen_reload): Use set_unique_reg_note.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@121821 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/gcse.c')
-rw-r--r-- | gcc/gcse.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/gcse.c b/gcc/gcse.c index 485e53ddaa0..36b2c8f9db4 100644 --- a/gcc/gcse.c +++ b/gcc/gcse.c @@ -2668,7 +2668,8 @@ try_replace_reg (rtx from, rtx to, rtx insn) /* If there is already a REG_EQUAL note, update the expression in it with our replacement. */ if (note != 0 && REG_NOTE_KIND (note) == REG_EQUAL) - XEXP (note, 0) = simplify_replace_rtx (XEXP (note, 0), from, to); + set_unique_reg_note (insn, REG_EQUAL, + simplify_replace_rtx (XEXP (note, 0), from, to)); if (!success && set && reg_mentioned_p (from, SET_SRC (set))) { |