aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorGeoffrey Keating <geoffk@redhat.com>2001-08-27 18:25:23 +0000
committerGeoffrey Keating <geoffk@gcc.gnu.org>2001-08-27 18:25:23 +0000
commit67a44b16b1678e2f3bda0db7127e99dace8399fb (patch)
tree179bfccd4b01f619ca65418a42ccba423d58a92f /gcc
parentacd7baf7297545ff01b3a0a24d9025de8cd479fc (diff)
downloadgcc-67a44b16b1678e2f3bda0db7127e99dace8399fb.zip
gcc-67a44b16b1678e2f3bda0db7127e99dace8399fb.tar.gz
gcc-67a44b16b1678e2f3bda0db7127e99dace8399fb.tar.bz2
reload.c (find_reloads_toplev): Back out this change:
* reload.c (find_reloads_toplev): Back out this change: Wed Jul 26 19:44:05 2000 Hans-Peter Nilsson <hp@axis.com> * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a mem if the address is a mode_dependent_address_p. From-SVN: r45203
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/reload.c24
2 files changed, 9 insertions, 24 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6e42ed1..01cba25 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,12 @@
+2001-08-27 Geoffrey Keating <geoffk@redhat.com>
+
+ * reload.c (find_reloads_toplev): Back out this change:
+
+ Wed Jul 26 19:44:05 2000 Hans-Peter Nilsson <hp@axis.com>
+
+ * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
+ mem if the address is a mode_dependent_address_p.
+
2001-08-27 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com>
* rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
diff --git a/gcc/reload.c b/gcc/reload.c
index 0cf5a0e..4eaed38 100644
--- a/gcc/reload.c
+++ b/gcc/reload.c
@@ -4419,30 +4419,6 @@ find_reloads_toplev (x, opnum, type, ind_levels, is_set_dest, insn,
x = find_reloads_subreg_address (x, 1, opnum, type, ind_levels,
insn);
}
- else if (code == SUBREG && GET_CODE (SUBREG_REG (x)) == MEM
- && (GET_MODE_SIZE (GET_MODE (x))
- > GET_MODE_SIZE (GET_MODE (SUBREG_REG (x))))
- && mode_dependent_address_p (XEXP (SUBREG_REG (x), 0)))
- {
- /* A paradoxical subreg will simply have the mode of the access
- changed, so we need to reload such a memory operand to stabilize
- the meaning of the memory access. */
- enum machine_mode subreg_mode = GET_MODE (SUBREG_REG (x));
-
- /* SUBREG_REG (x) is a MEM, so we cant take the offset, instead we
- calculate the register number as :
- SUBREG_BYTE (x) / GET_MODE_SIZE (subreg_mode) */
- if (is_set_dest)
- push_reload (NULL_RTX, SUBREG_REG (x), (rtx*)0, &SUBREG_REG (x),
- find_valid_class (subreg_mode,
- SUBREG_BYTE (x) / GET_MODE_SIZE (subreg_mode)),
- VOIDmode, subreg_mode, 0, 0, opnum, type);
- else
- push_reload (SUBREG_REG (x), NULL_RTX, &SUBREG_REG (x), (rtx*)0,
- find_valid_class (subreg_mode,
- SUBREG_BYTE (x) / GET_MODE_SIZE (subreg_mode)),
- subreg_mode, VOIDmode, 0, 0, opnum, type);
- }
for (copied = 0, i = GET_RTX_LENGTH (code) - 1; i >= 0; i--)
{