split compiler IR and register allocator out into their own files