aboutsummaryrefslogtreecommitdiff
path: root/gcc/reload.c
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2008-07-19 12:14:13 +0100
committerJoseph Myers <jsm28@gcc.gnu.org>2008-07-19 12:14:13 +0100
commitea471af0b8ecd3979665da8c74f120963254c5cd (patch)
tree3ea13d8ae72f15d919974c9c7f445f4112ff2f24 /gcc/reload.c
parentfa8884d805ef576b616dbaf062eb882b80efb467 (diff)
downloadgcc-ea471af0b8ecd3979665da8c74f120963254c5cd.zip
gcc-ea471af0b8ecd3979665da8c74f120963254c5cd.tar.gz
gcc-ea471af0b8ecd3979665da8c74f120963254c5cd.tar.bz2
re PR target/36780 (Wrong reload generated for subreg address on SH)
PR target/36780 PR target/36827 * reload.c (find_reloads_subreg_address): Only reload address if reloaded == 0, not for reloaded != 1. Revert: 2008-07-16 Joseph Myers <joseph@codesourcery.com> * config/m32c/m32c.c (BIG_FB_ADJ): Move definition earlier. (m32c_legitimate_address_p): Handle "++rii" addresses created by m32c_legitimize_reload_address. 2008-07-15 Kaz Kojima <kkojima@gcc.gnu.org> * config/sh/sh.h (GO_IF_LEGITIMATE_ADDRESS): Allow (plus (plus (reg) (const_int)) (const_int)) when reload_in_progress. From-SVN: r137976
Diffstat (limited to 'gcc/reload.c')
-rw-r--r--gcc/reload.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/reload.c b/gcc/reload.c
index a391c45..a6ea4ff 100644
--- a/gcc/reload.c
+++ b/gcc/reload.c
@@ -6103,7 +6103,7 @@ find_reloads_subreg_address (rtx x, int force_replace, int opnum,
doesn't find any, then we may have just converted a
valid address into an invalid one. Check for that
here. */
- if (reloaded != 1
+ if (reloaded == 0
&& !strict_memory_address_p (GET_MODE (tem),
XEXP (tem, 0)))
push_reload (XEXP (tem, 0), NULL_RTX, &XEXP (tem, 0), (rtx*) 0,