begin moving register allocator out of compiler.cpp