This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: postreload-gcse heuristics broken?
- From: Mostafa Hagog <MUSTAFA at il dot ibm dot com>
- To: Ulrich Weigand <Ulrich dot Weigand at de dot ibm dot com>
- Cc: Ayal Zaks <ZAKS at il dot ibm dot com>, gcc at gcc dot gnu dot org
- Date: Tue, 25 Jan 2005 23:02:45 +0200
- Subject: Re: postreload-gcse heuristics broken?
Ulrich Weigand/Germany/IBM wrote on 25/01/2005 22:45:39:
> Mostafa Hagog/Haifa/IBM wrote on 01/25/2005 06:05:27 PM:
>
> > "insns deleted" is wrong, this is due to a bug in the dumps of
> > postreload-gcse. We have two places in which we delete instructions and
> > only one of them is reported.
>
> OK, I see.
>
> > I have prepared a patch to prevent postreload-gcse to split critical
> > edges (as Ayal suggested to me) - this should do the trick for you.
> > The patch also includes the fix for the dumps bug.
> >
> > postreload-gcse didn't cause any degradation in G5 so I cannot test
> > if the patch fixes your problem. can you test it?
>
> Crashes because of NULL 'occr' in:
> ! print_rtl_single (dump_file, occr->insn);
> I guess this should be just 'insn'.
Correct.
>
> With this fixed, the loop back-edge of my testcase is indeed no longer
> split, so this should fix the problem I was seeing ...
>
> Thanks for taking care of this!
I will prepare a patch to be submitted to mainline.
Do you have numbers of the regressions this problem
causes so I can attach them with the patch ?
Thanks,
Mostafa.