This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: IA-64 speculation patches have bad impact on ARM
- From: Mark Mitchell <mark at codesourcery dot com>
- To: David Edelsohn <dje at watson dot ibm dot com>
- Cc: Maxim Kuvyrkov <mkuvyrkov at ispras dot ru>, Daniel Jacobowitz <drow at false dot org>, "Vladimir N. Makarov" <vmakarov at redhat dot com>, Andrey Belevantsev <abel at ispras dot ru>, gcc at gcc dot gnu dot org
- Date: Tue, 30 May 2006 08:55:12 -0700
- Subject: Re: IA-64 speculation patches have bad impact on ARM
- References: <20060526160808.GA1059@nevyn.them.org> <447C61D9.8020801@ispras.ru> <200605301520.k4UFKm731478@makai.watson.ibm.com>
David Edelsohn wrote:
>>>>>> Maxim Kuvyrkov writes:
>
> Maxim> Anyway, this work is for stage 1 or 2 and for now I propose following
> Maxim> fix: implement targetm.sched.reorder hook so that it will ensure that if
> Maxim> there is an insn from the current block in the ready list, then insn
> Maxim> from the other block won't stand first in the line (and, therefore,
> Maxim> won't be chosen for schedule). I feel that this will be what you are
> Maxim> calling 'filling holes'. Please find an example patch attached (arm.patch).
>
> What about all of the other GCC targets?
>
> If your patch changed the default behavior of the scheduler
> assumed by all other ports, you should fix the scheduler and modify the
> IA-64 port to get the behavior desired.
Exactly.
I think this is a serious regression, and I would like to consider our
options. Daniel has suggested changing the default value of the
max-sched-extend-regions-iters param to 1. However, I think we should
conservatively change it to zero, for now, and then use a target macro
to allow IA64 to set it to two, and other ports to gradually turn this
on if useful.
--
Mark Mitchell
CodeSourcery
mark@codesourcery.com
(650) 331-3385 x713