From: J"orn Rennecke Date: Fri, 5 Aug 2005 16:06:35 +0000 (+0000) Subject: re PR middle-end/23135 (find_reloads_toplev -> find_reloads_subreg_address uses wrong... X-Git-Tag: misc/cutover-cvs2svn~1326 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=50aa8e71b7caa281f77b032aa7d8592e77e19b00;p=thirdparty%2Fgcc.git re PR middle-end/23135 (find_reloads_toplev -> find_reloads_subreg_address uses wrong reload type) PR middle-end/23135 * reload.c (find_reloads_subreg_address): Pass down TYPE unchanged. Change all callers except find_reloads_toplev. From-SVN: r102772 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c332799838bd..95076b929428 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2005-08-05 J"orn Rennecke + + PR middle-end/23135 + * reload.c (find_reloads_subreg_address): Pass down TYPE + unchanged. Change all callers except find_reloads_toplev. + 2005-08-05 Michael Matz * genattrtab.c (current_alternative_string): Remove. diff --git a/gcc/reload.c b/gcc/reload.c index 378db66aeace..c8e8c07aebe9 100644 --- a/gcc/reload.c +++ b/gcc/reload.c @@ -5804,7 +5804,8 @@ 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, + x = find_reloads_subreg_address (x, 0, opnum, + ADDR_TYPE (type), ind_levels, insn); push_reload (x, NULL_RTX, loc, (rtx*) 0, class, GET_MODE (x), VOIDmode, 0, 0, opnum, type); @@ -5964,7 +5965,7 @@ 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), + &XEXP (tem, 0), opnum, type, ind_levels, insn); /* If this is not a toplevel operand, find_reloads doesn't see