[LLVMdev] Scheduler Roadmap

dag at cray.com dag at cray.com
Tue May 8 15:02:40 PDT 2012


Hi everyone,

As I've mentioned before we are doing some work on the LLVM scheduler to
improve it.  Specifically, we are working to get loads and stores to
move past each other when possible.

When I asked about enhancing scheduler heuristics a month or so ago, I
got a response about a MachineInstr scheduler and that that was the way
of the LLVM future.  Is that so?  Is the ScheduleDAG going away?

We found a thread started by Hal late last year with a patch from him to
do exactly what we are trying to do - free up load/store motion.  The
discussion didn't really seem to come to a resolution and the patch
doesn't appear in trunk.

So we are in a quandry.  Do we continue our ScheduleDAG enhancements or
do we wait for a MachineInstr scheduler?  Will we have to throw away
work on ScheduleDAG schedulers?

Is there a roadmap for the scheduler?  When should we expect a
MachineInstr scheduler to be usable?  Can it be backported to 3.1?

In general, it would be very helpful for folks to post about major
architectural changes like this before work begins so the rest of us can
plan our work.  After all, we are likely to run into the same problems
that need solutions.  As it is, it gets pretty frustrating to do a bunch
of work in the current release only to have to throw it away because
someone else did something different.

Thanks for any insight you can provide!

                                -Dave



More information about the llvm-dev mailing list