Hi all,
I am interested in the spill code which is produced by the register allocators.
Therefore I wanted to ask if there is some Documentation in which these allocators are described, or that explains how the register spilling works in detail.
Regards
Jannis
AFAIK, you can refer previous LLVMDevs' slides to get a general idea on spilling,
- http://llvm.org/devmtg/2008-08/Cheng_RegisterAllocation.pdf - http://llvm.org/devmtg/2009-10/RegisterAllocationFutureWorks.pdf - http://llvm.org/devmtg/2011-11/Olesen_RegisterAllocation.pdf
But I don't know if there is article describing spilling in detail around.
HTH, chenwj
There is also a good blog post about the greedy allocator (default when optimizing): http://blog.llvm.org/2011/09/greedy-register-allocation-in-llvm-30.html
but to really learn the details you have to read the sourcecode.
Thank you for your replies, i will look into it.