1. A computer-implemented method of allocating registers in a computing system during compilation, comprising: determining a count of hardware registers available for allocating during the compilation; doubling the determined count of hardware registers to reflect independent usage of halves of the hardware registers; and invoking a register coloring algorithm using the doubled count of hardware registers as a number of registers to be allocated.