[LLVMdev] [RFC] Bundling support in the PostRA Scheduler

Pekka Jääskeläinen pekka.jaaskelainen at tut.fi
Fri Aug 10 00:28:02 PDT 2012


Hi,

On 08/09/2012 10:03 PM, Sergei Larin wrote:
>    I also tried to mess with PostRA scheduler to achieve similar goals, only
> to find out that all the additional dependencies after RA make it virtually
> impossible to produce high quality schedule, and obviously it is too late at
> that point to address reg pressure via scheduling techniques, so I have put
> that project on the back burner for a while.

Has anyone studied how much work it would be to implement
an integrated allocator/scheduler in LLVM now? It should be
an efficient solution to the VLIW RA/scheduling phase ordering
problem, but of course it's more complex to implement and
modularize. (I'm unsure if it's possible to exploit the current
register allocator code easily with it).

Another solution (which we use in TCE) is to use register renaming.
That is, rename schedule-restricting antideps introduced by
the pre-RA "on the fly" during scheduling. It's sort of a middle
ground solution that allows modularizing the proper RA to
a separate pass cleanly. However, its proper implementation goes
step-by-step towards the integrated allocator (smarter the renamer
becomes, more it looks like a proper RA).

BR,
-- 
Pekka



More information about the llvm-dev mailing list