[RFC] sched: Do not move expensive insns speculatively (PR68664)

Jeff Law law@redhat.com
Fri Jan 27 18:20:00 GMT 2017


On 01/27/2017 05:43 AM, Bernd Schmidt wrote:
> On 01/27/2017 02:19 AM, Segher Boessenkool wrote:
>
>> But what is "insn cost"?  Latency is no good at all -- we *want* insns
>> with higher latency to be earlier.  fsqrt is not pipelined, and that is
>> what makes it so costly.  (This isn't modeled in the scheduling
>> description btw: that would make the automata sizes explode, the usual
>> problem).
>
> On other machines sqrt might be pipelined, so the patch as-is clearly
> isn't suitable. rtx_cost/insn_cost probably also won't do, since it
> doesn't model that property either.
>
> Maybe instead of a hook you could have an insn attribute that the
> scheduler looks for.
Even if it's pipelined, it may not be a good idea to speculate it :-) 
We may not describe the extent to which its pipelined due to DFA 
explosions.  Thus we may (incorrectly) decide that the insn fits into a 
pipeline bubble, when in fact it does not, even when pipelined.

It really seems this needs to either be a hook or attribute.

jeff



More information about the Gcc-patches mailing list