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" ( 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

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