2.2 regalloc

Refer to the exercise policy for details.
Implement a proper register allocator in your compiler by using the saturation algorithm and a liveness analysis.