Title :
The complementary relationship of interprocedural register allocation and inlining
Author :
Lai, Feipei ; Chao, Yung-kuang
Author_Institution :
Dept. of Comput. Sci. & Inf. Eng., Nat. Taiwan Univ., Taipei, Taiwan
Abstract :
Inline expansion and interprocedural register allocation are two general approaches used for interprocedural optimization. However, there are certain situations which prevent either of them from being applied smoothly to procedure calls. This paper describes a method of integrating interprocedural register allocation and inlining in order to reduce the procedure call overhead. The method uses profile information to identify the heavy called procedures regions and optimises the placement of the register save/restore code. This method also takes full advantage of free-use registers at each procedure cell site. The average performance improvement is 1.21 compared with the previous schemes that performed either of them independently
Keywords :
program processors; storage allocation; inline expansion; interprocedural optimization; interprocedural register allocation; procedure calls; profile information; Algorithms; Automatic control; Chaos; Computer science; Delay; Hazards; Pipelines; Registers; Runtime;
Conference_Titel :
Computer Languages, 1994., Proceedings of the 1994 International Conference on
Conference_Location :
Toulouse
Print_ISBN :
0-8186-5640-X
DOI :
10.1109/ICCL.1994.288375