Patchwork New attempt: subword-based DCE, PR42575

login
register
mail settings
Submitter Bernd Schmidt
Date July 29, 2010, 7:03 p.m.
Message ID <4C51D071.9010000@codesourcery.com>
Download mbox | patch
Permalink /patch/60306/
State New
Headers show

Comments

Bernd Schmidt - July 29, 2010, 7:03 p.m.
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.


Bernd
Jeff Law - July 29, 2010, 7:40 p.m.
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
Peter Bergner - July 29, 2010, 9:07 p.m.
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

Patch

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);
 }