[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