From: Hans-Peter Nilsson Date: Fri, 14 Aug 2009 11:36:45 +0000 (+0000) Subject: re PR rtl-optimization/41064 (build breakage for cris-elf building newlib, ICE in... X-Git-Tag: releases/gcc-4.5.0~4034 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=94aca67aaf3c0e615ca0ddbac528662fcdd9bb2a;p=thirdparty%2Fgcc.git re PR rtl-optimization/41064 (build breakage for cris-elf building newlib, ICE in extract_insn, from r150726) PR rtl-optimization/41064 * reload1.c (reload_as_needed): Don't call extract_insn for known invalid replacements after calling validate_replace_rtx_group and verify_changes. From-SVN: r150751 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e48cbcdfdba3..0862182fe518 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2009-08-14 Hans-Peter Nilsson + + PR rtl-optimization/41064 + * reload1.c (reload_as_needed): Don't call extract_insn + for known invalid replacements after calling + validate_replace_rtx_group and verify_changes. + 2009-08-14 Uros Bizjak PR target/41019 diff --git a/gcc/reload1.c b/gcc/reload1.c index 41b436b88912..7900841a239c 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -4312,10 +4312,15 @@ reload_as_needed (int live_known) n = verify_changes (0); /* We must also verify that the constraints - are met after the replacement. */ - extract_insn (p); + are met after the replacement. Make sure + extract_insn is only called for an insn + where the replacements were found to be + valid so far. */ if (n) - n = constrain_operands (1); + { + extract_insn (p); + n = constrain_operands (1); + } /* If the constraints were not met, then undo the replacement, else confirm it. */