This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: IA-64 speculation patches have bad impact on ARM


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]