add register allocation.