Graph Coloring RA

Dear LLVM community,

In 2007 Lang Hames developed a Graph Coloring Register Allocator. This allocator was created based on the paper "

A generalized algorithm for graph-coloring register allocation" (http://doi.acm.org/10.1145/996841.996875). This algorithm is graph based, and is concerned with register banks that have different register classes and registers that alias.

Lang Hames' code was for an old version of LLVM. I have ported it to the latest LLVM 2.6. But I'm getting a few errors. Some of which are happening when the algorithm is trying to find if two live intervals overlap, when one of them has size 0.

The code I have created is at http://homepages.dcc.ufmg.br/~andrelct/download/code/GraphColoring/2010_01_27.tar.bz2.

If someone has knowledge about this area and would like to help, I will appreciate.

Thanks,