Message ID | 4C51D071.9010000@codesourcery.com |
---|---|
State | New |
Headers | show |
On 07/29/10 13:03, Bernd Schmidt wrote: > On 07/29/2010 08:25 PM, David Edelsohn wrote: >> This patch may have caused a new bootstrap ICE on PowerPC: >> >> /farm/dje/src/src/gcc/cfg.c: In function 'scale_bbs_frequencies_gcov_type': >> /farm/dje/src/src/gcc/cfg.c:1109:1: internal compiler error: in >> delete_corresponding_reg_eq_notes, at dce.c:495 >> >> I see the error on powerpc-ibm-aix5.3 and I was told the error also >> occurs on powerpc-darwin. > Can you test the following patch? This makes sure we clear some DF > flags during DCE, and while I was there I also made the whole thing > conditional on flag_dce for consistency. Assuming it passes the usual tests and fixes the ppc problems, consider it pre-approved (it's just mirroring what's done in fast_df_dce). Jeff
On Thu, 2010-07-29 at 21:03 +0200, Bernd Schmidt wrote: > On 07/29/2010 08:25 PM, David Edelsohn wrote: > > This patch may have caused a new bootstrap ICE on PowerPC: > > > > /farm/dje/src/src/gcc/cfg.c: In function 'scale_bbs_frequencies_gcov_type': > > /farm/dje/src/src/gcc/cfg.c:1109:1: internal compiler error: in > > delete_corresponding_reg_eq_notes, at dce.c:495 > > > > I see the error on powerpc-ibm-aix5.3 and I was told the error also > > occurs on powerpc-darwin. > > Can you test the following patch? This makes sure we clear some DF > flags during DCE, and while I was there I also made the whole thing > conditional on flag_dce for consistency. I tested this on powerpc64-linux and it does fix the bootstrap failure. Peter
Index: dce.c =================================================================== --- dce.c (revision 162678) +++ dce.c (working copy) @@ -1025,11 +1025,18 @@ rest_of_handle_fast_dce (void) void run_word_dce (void) { + int old_flags; + + if (!flag_dce) + return; + timevar_push (TV_DCE); + old_flags = df_clear_flags (DF_DEFER_INSN_RESCAN + DF_NO_INSN_RESCAN); df_word_lr_add_problem (); init_dce (true); fast_dce (true); fini_dce (true); + df_set_flags (old_flags); timevar_pop (TV_DCE); }