[LLVMdev] Register Allocation: Interference graph

Josef Eisl zapster at zapster.cc
Sat May 1 06:34:50 PDT 2010


Hello,

I want learn more about register allocation and do some analysis for a
current research project. After reading some papers (eg. Chaitin,
Briggs) I think its time to get my hands dirty :).
First I plan to (re)implement some of the classic approaches to get
familiar with the framework.

At the beginning the following questions came up:

- Is there some documentation about register allocation in LLVM?

- As far as I understand it, register allocators are implemented as
MachineFunctionPasses. Does a MachineFunction object contain all
information needed for a (classic) allocator?

- Is there already a pass that prints interference graph (Chaitin et al.
1981) or something similar like opt -view-cfg prints a CFG? If not, is
it even possible with the current LLVM infrastructure?

- Is there an LLVM register allocator that uses graph coloring or
something similar?

- Which LLVM allocator would you recommend to look into to get the basic
ideas how to use the framework?


Many thanks in advance!

Josef



More information about the llvm-dev mailing list