aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernd Schmidt <bernd.schmidt@analog.com>2007-04-11 19:44:07 +0000
committerBernd Schmidt <bernds@gcc.gnu.org>2007-04-11 19:44:07 +0000
commit0f4b25a3e3321a557a675189f72807c0ffd15331 (patch)
treee021a019582c8d567fed8873086f55fca84b3e9e
parent017133fdc11f47bbaff2932171c6818baf27df56 (diff)
downloadgcc-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/ChangeLog7
-rw-r--r--gcc/reload.c12
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