A post-link optimization method for renaming non-volatile registers with unused
volatile registers, then removing the non-volatile register store/restore instructions
from a function prolog/epilog. The volatile registers are saved before each function
call and restored immediately afterwards. The optimization method is worthwhile
if all of the call instructions are rarely invoked relative to the function prolog/epilog.
The method requires that the hot function be disassembled, but does not require
the full control flow graph.