Reducing procedure call overhead: optimizing register usage at procedure calls
Feipei Lai, Chia-Jung Hsieh · 2002
Proposes a common global variable reassignment and an integrated approach which takes advantage of the complementary relationship of (1) in-lining and (2) interprocedural register allocation to reduce the procedure call overhead without causing any additional negative effect. Our approach is based on the observation of analyzed program characteristics to identify the heavily called procedure regions, and on register usage information to optimize the placement of resister save/restore code. This method also takes full advantage of free-use registers at each procedure call site. The average performance improvement is 1.233 compared with previous schemes that performed either (1) or (2) independently.