Title
Aggressive function inlining: preventing loop blockings in the instruction cache
Abstract
Aggressive function inlining can lead to significant improvements in execution time. This potential is reduced by extensive instruction cache (Icache) misses caused by subsequent code expansion. It is very difficult to predict which inlinings cause Icache conflicts, as the exact location of code in the executable depends on completing the inlining first. In this work we propose a new method for selective inlining called "Icache Loop Blockings" (ILB). In ILB we only allow inlinings that do not create multiple inlined copies of the same function in hot execution cycles. This prevents any increase in the Icache footprint. This method is significantly more aggressive than previous ones, experiments show it is also better. Results on a server level processor and on an embedded CPU, running SPEC CINT2000, show an improvement of 10% in the execution time of the ILB scheme in comparison to other inlining methods. This was achieved without bloating the size of the hot code executed at any single point of execution, which is crucial for the embedded processor domain. We have also considered the synergy between code reordering and inlining focusing on how inlining can help code reordering. This aspect of inlining has not been studied in previous works.
Year
DOI
Venue
2008
10.1007/978-3-540-77560-7_26
HiPEAC
Keywords
Field
DocType
icache loop blockings,execution time,loop blockings,hot code,icache conflict,selective inlining,icache footprint,subsequent code expansion,inlining method,aggressive function inlining,code reordering,instruction cache,embedded processor
Computer science,Cache,Parallel computing,Call site,Call graph,Basic block,Real-time computing,Footprint,Execution time,Spec#,Operating system,Executable
Conference
Volume
ISSN
ISBN
4917
0302-9743
3-540-77559-5
Citations 
PageRank 
References 
1
0.36
13
Authors
7
Name
Order
Citations
PageRank
Yosi Ben Asher1235.49
Omer Boehm211.03
Daniel Citron3212.53
Gadi Haber4559.19
Moshe Klausner5193.07
Roy Levin610.36
Roy Levin7652594.78