> On 12 Nov 2024, at 18:55, Richard Sandiford <richard.sandif...@arm.com> wrote:
> 
> Wilco Dijkstra <wilco.dijks...@arm.com> writes:
>> Hi,
>> 
>>>>> What do you think about disabling late scheduling as well?
>>>> 
>>>> I think this would definitely need separate consideration and evaluation 
>>>> given the above.
>>>> 
>>>> Another thing to consider is the macro fusion machinery. IIRC it works 
>>>> during scheduling so if we don’t run any scheduling we don’t get an 
>>>> opportunity to bring those instructions together?
>>>> 
>>>> That said, I’m not sure the scheduling actually tries to bring macro fused 
>>>> instructions together rather than simply avoiding moving them apart.
>>> 
>>> I will run the numbers, but if useful, late scheduling could be disabled 
>>> separately from fusion
>>> scheduling. However fusion really shouldn't be done as a scheduling hack - 
>>> we should use
>>> fused RTL patterns like we do for GOT accesses and AES fusion.
>> 
>> I ran the numbers, late scheduling (using the ancient Cortex-A57 model) gives
>> 0.23% speedup on SPECINT and 0.73% on SPECFP. I guess the gains come from
>> scheduling loads and other critical operations earlier and perhaps improved 
>> dispatch
>> due to increased interleaving of operations.
> 
> Thanks.  So yeah, I agree we should keep it.
> 
> I think it was common ground that the benefits are kind-of incidental
> (in that the scheduler really is trying to fill Cortex-A57 pipeline bubbles
> rather than find a good frontend mix for modern cores) and that it would
> be better to try to target the effect that we want directly.  But in terms
> of whether the switch we have should be on or off, I agree it should be on.
> 
> The patch is OK if there are no objections by Thursday morning UTC.

The patch is fine by me. Thanks for running the numbers.
Kyrill

> 
> Richard

Reply via email to