IA-64 speculation patches have bad impact on ARM
Mark Mitchell
mark@codesourcery.com
Tue May 30 15:55:00 GMT 2006
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
More information about the Gcc
mailing list