RegisterAllocator + CodeGenerator are screaming for a rewrite....