aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Earnshaw <rearnsha@arm.com>2003-10-31 11:37:20 +0000
committerRichard Earnshaw <rearnsha@gcc.gnu.org>2003-10-31 11:37:20 +0000
commitb1f9e3147f8448b4fbcf76ff8abd34dd626bba4b (patch)
treef5e0f4708ca27bbea5d04572e962d3674fe5e1e3
parentc5d6d04a1e772f17578f3e0fef802a4135dda9ad (diff)
downloadgcc-b1f9e3147f8448b4fbcf76ff8abd34dd626bba4b.zip
gcc-b1f9e3147f8448b4fbcf76ff8abd34dd626bba4b.tar.gz
gcc-b1f9e3147f8448b4fbcf76ff8abd34dd626bba4b.tar.bz2
re PR rtl-optimization/11271 ([arm-elf] regex.c ICEs for thumb multilib)
PR target/11271 * reload.c (find_reloads_address): Handle any register in (PLUS (PLUS (REG) (REG)) (CONST_INT). From-SVN: r73136
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/reload.c2
2 files changed, 6 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e28ecd5..528def53 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
2003-10-31 Richard Earnshaw <rearnsha@arm.com>
+ PR target/11271
+ * reload.c (find_reloads_address): Handle any register in
+ (PLUS (PLUS (REG) (REG)) (CONST_INT).
+
+2003-10-31 Richard Earnshaw <rearnsha@arm.com>
+
* ggc-page.c (ggc_pch_read): Wrap call to poison_pages in
ENABLE_GC_CHECKING not in GGC_POISON.
diff --git a/gcc/reload.c b/gcc/reload.c
index 06bb3fb..8bd68c5 100644
--- a/gcc/reload.c
+++ b/gcc/reload.c
@@ -4884,7 +4884,6 @@ find_reloads_address (enum machine_mode mode, rtx *memrefloc, rtx ad,
&& GET_CODE (XEXP (ad, 0)) == PLUS
&& GET_CODE (XEXP (XEXP (ad, 0), 0)) == REG
&& REGNO (XEXP (XEXP (ad, 0), 0)) < FIRST_PSEUDO_REGISTER
- && REG_MODE_OK_FOR_BASE_P (XEXP (XEXP (ad, 0), 0), mode)
&& ! maybe_memory_address_p (mode, ad, &XEXP (XEXP (ad, 0), 1)))
{
*loc = ad = gen_rtx_PLUS (GET_MODE (ad),
@@ -4904,7 +4903,6 @@ find_reloads_address (enum machine_mode mode, rtx *memrefloc, rtx ad,
&& GET_CODE (XEXP (ad, 0)) == PLUS
&& GET_CODE (XEXP (XEXP (ad, 0), 1)) == REG
&& REGNO (XEXP (XEXP (ad, 0), 1)) < FIRST_PSEUDO_REGISTER
- && REG_MODE_OK_FOR_BASE_P (XEXP (XEXP (ad, 0), 1), mode)
&& ! maybe_memory_address_p (mode, ad, &XEXP (XEXP (ad, 0), 0)))
{
*loc = ad = gen_rtx_PLUS (GET_MODE (ad),