[LLVMdev] Pre-RA scheduler details

Chenyang Liu ctc.liu at gmail.com
Wed Jul 24 12:17:29 PDT 2013


I'm interested in the two pre-RA instruction schedulers used in LLVM,
list-hybrid and list-ilp. I've done some digging on the internet and played
around with executing some test files using the two schedules. However, I'm
still uncertain of the behaviors and heuristics used in each.

For example, the XXXX_ls_rr_sort::isReady for hybrid includes a 3 cycle
readydelay (seems arbitrary) whereas the ilp version readies all
instructions once data dependencies are resolved.

Additionally, the ilp_ls_rr_sort::operator() just calls BURRSort at the end
after applying a bunch of heuristics to the queue beforehand. Reading it is
quite laborious (very few comments) and was wondering if anyone had any
references to what exactly it is doing and why it is doing it in such order.

I'm focused right now on understanding the behavior of the two schedulers.
If anyone could give me some direction (papers, slides) that would be
greatly appreciated.

Chenyang Liu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130724/1ca5fa87/attachment.html>

More information about the llvm-dev mailing list