1. A compiler comprising: first instructions configured to generate code; and second instructions configured to: detect a plurality of spilled variables corresponding to program instructions of a computer program; and identify an available register for storing a first spilled variable of the plurality of spilled variables; wherein in response to identifying said available register, the first instructions are configured to modify the program instructions to allocate the first spilled variable to the available register.