[Bug middle-end/45009] [4.6 Regression]: cris-elf libgcc build failure due to "New optimization for reload_combine"
--- Comment #9 from hp at gcc dot gnu dot org 2010-07-22 02:43 --- Confirmed fixed, r162392 tested, no regressions compared to r162328. -- hp at gcc dot gnu dot org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45009
[Bug middle-end/45009] [4.6 Regression]: cris-elf libgcc build failure due to "New optimization for reload_combine"
--- Comment #8 from bernds at gcc dot gnu dot org 2010-07-21 22:48 --- Subject: Bug 45009 Author: bernds Date: Wed Jul 21 22:48:14 2010 New Revision: 162390 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=162390 Log: PR bootstrap/44970 PR middle-end/45009 * postreload.c: Include "target.h". (reload_combine_closest_single_use): Don't take DEBUG_INSNs into account. (fixup_debug_insns): Don't copy the rtx. (reload_combine_recognize_const_pattern): DEBUG_INSNs can't have uses. Don't copy when replacing. Call fixup_debug_insns in the case where we merged one add with another. (reload_combine_recognize_pattern): Fail if there aren't any uses. Try harder to determine whether we're picking a valid index register. Don't set store_ruid for an insn we're going to scan in the next iteration. (reload_combine): Remove unused code. (reload_combine_note_use): When updating use information for an old insn, ignore a use that occurs after store_ruid. * Makefile.in (postreload.o): Update dependencies. Modified: trunk/gcc/ChangeLog trunk/gcc/Makefile.in trunk/gcc/postreload.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45009
[Bug middle-end/45009] [4.6 Regression]: cris-elf libgcc build failure due to "New optimization for reload_combine"
--- Comment #7 from hp at gcc dot gnu dot org 2010-07-21 15:54 --- Correcting the summary to point at the right cause. Maybe the following somewhat obvious change is correct, though I'd prefer to leave it to Bernd. Index: postreload.c === --- postreload.c(revision 162380) +++ postreload.c(working copy) @@ -1190,7 +1190,8 @@ lowest_ruid = use; } - fixup_debug_insns (reg, reg_sum, insn, lowest_ruid->insn); + if (lowest_ruid != NULL) + fixup_debug_insns (reg, reg_sum, insn, lowest_ruid->insn); /* Delete the reg-reg addition. */ delete_insn (insn); -- hp at gcc dot gnu dot org changed: What|Removed |Added Summary|[4.6 Regression]: cris-elf |[4.6 Regression]: cris-elf |libgcc build failure due to |libgcc build failure due to |fix for PR45003, PR45006|"New optimization for ||reload_combine" http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45009