aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog.apple-ppc8
-rw-r--r--gcc/reload.c8
2 files changed, 14 insertions, 2 deletions
diff --git a/gcc/ChangeLog.apple-ppc b/gcc/ChangeLog.apple-ppc
index 6138300798f..1110eb85069 100644
--- a/gcc/ChangeLog.apple-ppc
+++ b/gcc/ChangeLog.apple-ppc
@@ -1,3 +1,11 @@
+2005-04-21 Dale Johannesen <dalej@apple.com>
+
+ Radar 4506160
+ Bring in Joern Rennecke's fix from mainline:
+ PR middle-end/23135
+ * reload.c (find_reloads_subreg_address): Pass down TYPE
+ unchanged. Change all callers except find_reloads_toplev.
+
2006-04-18 Stuart Hastings <stuart@apple.com>
Radar 4505290
diff --git a/gcc/reload.c b/gcc/reload.c
index d929bfb535a..75e8e68731b 100644
--- a/gcc/reload.c
+++ b/gcc/reload.c
@@ -5855,7 +5855,10 @@ find_reloads_address_1 (enum machine_mode mode, rtx x, int context,
if ((unsigned) CLASS_MAX_NREGS (class, GET_MODE (SUBREG_REG (x)))
> reg_class_size[class])
{
- x = find_reloads_subreg_address (x, 0, opnum, type,
+ /* APPLE LOCAL begin mainline 4506160 */
+ x = find_reloads_subreg_address (x, 0, opnum,
+ ADDR_TYPE (type),
+ /* APPLE LOCAL end mainline 4506160 */
ind_levels, insn);
push_reload (x, NULL_RTX, loc, (rtx*) 0, class,
GET_MODE (x), VOIDmode, 0, 0, opnum, type);
@@ -6015,7 +6018,8 @@ find_reloads_subreg_address (rtx x, int force_replace, int opnum,
}
find_reloads_address (GET_MODE (tem), &tem, XEXP (tem, 0),
- &XEXP (tem, 0), opnum, ADDR_TYPE (type),
+ /* APPLE LOCAL mainline 4506160 */
+ &XEXP (tem, 0), opnum, type,
ind_levels, insn);
/* If this is not a toplevel operand, find_reloads doesn't see