Improved register allocation