[LLVMdev] Regalloc Refactoring

Fernando Magno Quintao Pereira fernando at CS.UCLA.EDU
Fri Apr 13 09:37:49 PDT 2007


>> Yes, I have a tech report on this page:
>>
>> http://compilers/fernando/projects/soc/
>
> Cool.  I'm also interested in the Chordal Graph allocator.  Are
> you planning to integrate it into the main llvm repository?  It
> would make an interesting research project to compare allocation
> algorithms on real-world machines.
>

Oops, the link was not correct. Should  be:
http://compilers.cs.ucla.edu/fernando/projects/soc/

About the integration: I have a SSA-based allocator up and running. It is 
slow, because it has not been implemented directly in LLVM. I am currently 
trying to adapt RegAllocLinearScan.cpp to run it. But this will not be 
done soon, for I am having to divide my time with other project. I don't 
plan to build the graph-based chordal allocator, but I can help someone 
who is willing to do it. The algorithm does not have patent :) The problem 
is that to build the graph is slow, and it does not bring advantages in 
terms of better results than using the linear-scan based version. A linear 
scan traversal in a SSA-form control flow graph produces optimal results, 
if you don't have fixed-registers on the way. It can be done as fast as in 
a traditional linear scan, and it spills much less, because of the smaller 
live ranges.

Fernando



More information about the llvm-dev mailing list