On 01/15/2016 11:13 AM, Richard Biener wrote:
Btw, I'd like people to start thinking if the scheduling algorithms
working on loops
(and sometimes requiring unrolling of loops) can be implemented in a way to
apply that unrolling on the GIMPLE level (not the scheduling itself of course).
Thus have an analysis phase (for the unrolling compute) that can be shared
across ILs.
Scheduling of loads / stores might still happen on GIMPLE if we have a good
enough idea of register pressure - I remember we jumped throuhg hoops in the
past to get better dependence info on RTL for this (ddr export to RTL, never
merged).
Basically unrolling on RTL should go away.
I don't think that's such a great idea. For C6X modulo scheduling I
actually wanted unrolling during the final sched phase. I don't expect
to be working on anything like this in the foreseeable future, but IMO
at the gimple stage we simply don't know enough to make reasonable
decisions for certain targets.
Bernd