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 [EMAIL PROTECTED] (650) 331-3385 x713