[LLVMdev] Greedy Register Allocation in LLVM 3.0

Jakob Stoklund Olesen stoklund at 2pi.dk
Wed Sep 28 16:55:16 PDT 2011


On Sep 28, 2011, at 3:08 PM, Chris Lattner wrote:

> 
> On Sep 27, 2011, at 12:11 AM, Leo Romanoff wrote:
> 
>> 
>> 
>> It is true that names are not always reflecting the essense. But on the other hand, there is a lot of ongoing research on register allocation (and compilers in general) and it looks like more and more such efforts choose LLVM as a platform for experimentation. Quite some results and comparisons are published. So, it would be nice to have a somewhat concrete (but may be not ideal) name for the LLVM allocator rather than "LLVM register allocator".  In a few years, there may be another, even better register alloctor for LLVM. If it will be called "LLVM register allocator" again, it would lead to a lot of misunderstandings when reading descriptions and papers. The typical question then will be "Which LLVM register allocator  was meant?"  ;-)
> 
> I propose "the LLVM 3.0 register allocator".  We have no plans to throw away the greedy allocator in 3.1, but we'll probably make major enhancements to it, which make it incomparable to 3.0.  If it does eventually get thrown away and replaced, then a version number can capture that.

That makes a lot of sense to me.  None of the algorithm details are sacred, and there is a good chance something essential will have changed by 3.1 and 3.2.

Meanwhile, I am keeping the RegAllocGreedy.cpp file name and the llc -regalloc=greedy command line option.

/jakob




More information about the llvm-dev mailing list