Register Allocators Documentation

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.

  • Matthias

Thank you for your replies, i will look into it.

Regards

Jannis