summaryrefslogtreecommitdiffstats
path: root/gcc/cselib.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/cselib.c')
-rw-r--r--gcc/cselib.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/gcc/cselib.c b/gcc/cselib.c
index 1cc4a74a48b..252d68eb691 100644
--- a/gcc/cselib.c
+++ b/gcc/cselib.c
@@ -706,7 +706,6 @@ add_mem_for_addr (addr_elt, mem_elt, x)
cselib_val *addr_elt, *mem_elt;
rtx x;
{
- rtx new;
struct elt_loc_list *l;
/* Avoid duplicates. */
@@ -715,11 +714,10 @@ add_mem_for_addr (addr_elt, mem_elt, x)
&& CSELIB_VAL_PTR (XEXP (l->loc, 0)) == addr_elt)
return;
- new = gen_rtx_MEM (GET_MODE (x), addr_elt->u.val_rtx);
- MEM_COPY_ATTRIBUTES (new, x);
-
addr_elt->addr_list = new_elt_list (addr_elt->addr_list, mem_elt);
- mem_elt->locs = new_elt_loc_list (mem_elt->locs, new);
+ mem_elt->locs
+ = new_elt_loc_list (mem_elt->locs,
+ replace_equiv_address_nv (x, addr_elt->u.val_rtx));
}
/* Subroutine of cselib_lookup. Return a value for X, which is a MEM rtx.
OpenPOWER on IntegriCloud