summaryrefslogtreecommitdiff
path: root/gcc/fwprop.c
diff options
context:
space:
mode:
authorsteven <steven@138bc75d-0d04-0410-961f-82ee72b054a4>2007-02-11 19:53:11 +0000
committersteven <steven@138bc75d-0d04-0410-961f-82ee72b054a4>2007-02-11 19:53:11 +0000
commit750a330e3c5ea0ee3a0ba6991939d9387d100727 (patch)
treeb8e43a1106916133f6889b90922be4c1b0c3b737 /gcc/fwprop.c
parent647e9f063f0f3df989bf6b81e5416009fa73822a (diff)
downloadgcc-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/fwprop.c')
-rw-r--r--gcc/fwprop.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/fwprop.c b/gcc/fwprop.c
index 46e1a553ad5..1ab3e525138 100644
--- a/gcc/fwprop.c
+++ b/gcc/fwprop.c
@@ -691,9 +691,10 @@ try_fwprop_subst (struct df_ref *use, rtx *loc, rtx new, rtx def_insn, bool set_
if (dump_file)
fprintf (dump_file, " Setting REG_EQUAL note\n");
- REG_NOTES (insn) = gen_rtx_EXPR_LIST (REG_EQUAL, copy_rtx (new),
- REG_NOTES (insn));
+ set_unique_reg_note (insn, REG_EQUAL, copy_rtx (new));
+ /* ??? Is this still necessary if we add the note through
+ set_unique_reg_note? */
if (!CONSTANT_P (new))
update_df (insn, loc, DF_INSN_USES (df, def_insn),
type, DF_REF_IN_NOTE);