From: Ulrich Weigand Date: Wed, 29 Jun 2011 16:19:08 +0000 (+0000) Subject: re PR rtl-optimization/49114 ([x32] Reload failed to handle (set reg:X (plus:X (subre... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=de95483d1e787c73bf1c84e47254bdab4f839762;p=gcc.git re PR rtl-optimization/49114 ([x32] Reload failed to handle (set reg:X (plus:X (subreg:X (reg:Y) 0) (const_int)))) PR rtl-optimization/49114 * reload.c (push_reload): Define in_subreg_loc and out_subreg_loc only if LIMIT_RELOAD_CLASS to avoid -Werror build breaks. From-SVN: r175652 --- diff --git a/gcc/reload.c b/gcc/reload.c index fa314548719..2e9a8910e8b 100644 --- a/gcc/reload.c +++ b/gcc/reload.c @@ -923,7 +923,9 @@ push_reload (rtx in, rtx out, rtx *inloc, rtx *outloc, int i; int dont_share = 0; int dont_remove_subreg = 0; +#ifdef LIMIT_RELOAD_CLASS rtx *in_subreg_loc = 0, *out_subreg_loc = 0; +#endif int secondary_in_reload = -1, secondary_out_reload = -1; enum insn_code secondary_in_icode = CODE_FOR_nothing; enum insn_code secondary_out_icode = CODE_FOR_nothing; @@ -1068,7 +1070,9 @@ push_reload (rtx in, rtx out, rtx *inloc, rtx *outloc, #endif )) { +#ifdef LIMIT_RELOAD_CLASS in_subreg_loc = inloc; +#endif inloc = &SUBREG_REG (in); in = *inloc; #if ! defined (LOAD_EXTEND_OP) && ! defined (WORD_REGISTER_OPERATIONS) @@ -1163,7 +1167,9 @@ push_reload (rtx in, rtx out, rtx *inloc, rtx *outloc, #endif )) { +#ifdef LIMIT_RELOAD_CLASS out_subreg_loc = outloc; +#endif outloc = &SUBREG_REG (out); out = *outloc; #if ! defined (LOAD_EXTEND_OP) && ! defined (WORD_REGISTER_OPERATIONS)