Pin: building customized program analysis tools with dynamic instrumentation
Linear scan register allocation