diff options
author | Bernd Schmidt <bernd.schmidt@analog.com> | 2007-04-11 19:44:07 +0000 |
---|---|---|
committer | Bernd Schmidt <bernds@gcc.gnu.org> | 2007-04-11 19:44:07 +0000 |
commit | 0f4b25a3e3321a557a675189f72807c0ffd15331 (patch) | |
tree | e021a019582c8d567fed8873086f55fca84b3e9e | |
parent | 017133fdc11f47bbaff2932171c6818baf27df56 (diff) | |
download | gcc-0f4b25a3e3321a557a675189f72807c0ffd15331.zip gcc-0f4b25a3e3321a557a675189f72807c0ffd15331.tar.gz gcc-0f4b25a3e3321a557a675189f72807c0ffd15331.tar.bz2 |
reload.c (find_reloads_toplev, [...]): Use rtx_equal_p...
* reload.c (find_reloads_toplev, find_reloads_address,
find_reloads_address_1, find_reloads_subreg_address): Use rtx_equal_p,
not a pointer equality test, to decide if we need to call
push_reg_equiv_alt_mem.
From-SVN: r123724
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/reload.c | 12 |
2 files changed, 13 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6f75721..9889ae1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2007-04-11 Bernd Schmidt <bernd.schmidt@analog.com> + + * reload.c (find_reloads_toplev, find_reloads_address, + find_reloads_address_1, find_reloads_subreg_address): Use rtx_equal_p, + not a pointer equality test, to decide if we need to call + push_reg_equiv_alt_mem. + 2007-04-11 Sebastian Pop <sebastian.pop@inria.fr> * tree-data-ref.c (affine_function_zero_p, constant_access_functions, diff --git a/gcc/reload.c b/gcc/reload.c index c297494..aa22671c 100644 --- a/gcc/reload.c +++ b/gcc/reload.c @@ -4570,7 +4570,7 @@ find_reloads_toplev (rtx x, int opnum, enum reload_type type, x = mem; i = find_reloads_address (GET_MODE (x), &x, XEXP (x, 0), &XEXP (x, 0), opnum, type, ind_levels, insn); - if (x != mem) + if (!rtx_equal_p (x, mem)) push_reg_equiv_alt_mem (regno, x); if (address_reloaded) *address_reloaded = i; @@ -4785,7 +4785,7 @@ find_reloads_address (enum machine_mode mode, rtx *memrefloc, rtx ad, find_reloads_address (GET_MODE (tem), &tem, XEXP (tem, 0), &XEXP (tem, 0), opnum, ADDR_TYPE (type), ind_levels, insn); - if (tem != orig) + if (!rtx_equal_p (tem, orig)) push_reg_equiv_alt_mem (regno, tem); } /* We can avoid a reload if the register's equivalent memory @@ -5589,7 +5589,7 @@ find_reloads_address_1 (enum machine_mode mode, rtx x, int context, RELOAD_OTHER, ind_levels, insn); - if (tem != orig) + if (!rtx_equal_p (tem, orig)) push_reg_equiv_alt_mem (regno, tem); /* Then reload the memory location into a base @@ -5656,7 +5656,7 @@ find_reloads_address_1 (enum machine_mode mode, rtx x, int context, find_reloads_address (GET_MODE (tem), &tem, XEXP (tem, 0), &XEXP (tem, 0), opnum, type, ind_levels, insn); - if (tem != orig) + if (!rtx_equal_p (tem, orig)) push_reg_equiv_alt_mem (regno, tem); /* Put this inside a new increment-expression. */ x = gen_rtx_fmt_e (GET_CODE (x), GET_MODE (x), tem); @@ -5811,7 +5811,7 @@ find_reloads_address_1 (enum machine_mode mode, rtx x, int context, find_reloads_address (GET_MODE (x), &x, XEXP (x, 0), &XEXP (x, 0), opnum, ADDR_TYPE (type), ind_levels, insn); - if (x != tem) + if (!rtx_equal_p (x, tem)) push_reg_equiv_alt_mem (regno, x); } } @@ -6037,7 +6037,7 @@ find_reloads_subreg_address (rtx x, int force_replace, int opnum, &XEXP (tem, 0), opnum, type, ind_levels, insn); /* ??? Do we need to handle nonzero offsets somehow? */ - if (!offset && tem != orig) + if (!offset && !rtx_equal_p (tem, orig)) push_reg_equiv_alt_mem (regno, tem); /* If this is not a toplevel operand, find_reloads doesn't see |