Title :
Aggressive Function Splitting for Partial Inlining
Author :
Lee, Jun-Pyo ; Kim, Jae-Jin ; Moon, Soo-Mook ; Kim, Suhyun
Author_Institution :
Sch. of Electr. Eng. & Comput. Sci., Seoul Nat. Univ., Seoul, South Korea
Abstract :
Partial inlining is an efficient way of inlining, which inlines only part of the callee function, thus reducing the code expansion. The key problem is how to split the callee function effectively so that both the call overhead and the code expansion can be reduced. Previous techniques either lead to function splits too large to be inlined, or fail to reduce the call overhead effectively. In this paper, we propose a new technique for function splitting based on early returns in the function to achieve both goals. It also employs the cost and benefit model to allow efficient function splitting. Our preliminary experimental results show that the proposed technique can reduce the call overhead by 33%, with the code size increase of 5.8%.
Keywords :
cost-benefit analysis; graph theory; program compilers; aggressive function splitting; callee function; code expansion reduction; cost-benefit model; partial inlining; Benchmark testing; Erbium; Estimation; Flow graphs; Joining processes; Optimization; Runtime; function inlining; function splitting; partial inlining;
Conference_Titel :
Interaction between Compilers and Computer Architectures (INTERACT), 2011 15th Workshop on
Conference_Location :
San Antonio, TX
Print_ISBN :
978-1-4577-0834-3
Electronic_ISBN :
1550-6207
DOI :
10.1109/INTERACT.2011.14