Aggressive Function Splitting for Partial Inlining

Junpyo Lee, Jae‐Jin Kim, Soo‐Mook Moon, Suhyun Kim · 2011

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%.

Read the paper · More papers on PaperTik