3 research outputs found
Demand-driven Inlining in a Region-based Optimizer for ILP Architectures
Region-based compilation repartitions a program into more desirable
compilation units using profiling information and procedure inlining to enable
region formation analysis. Heuristics play a key role in determining when it is
most beneficial to inline procedures during region formation. An ILP optimizing
compiler using a region-based approach restructures a program to better reflect
dynamic behavior and increase interprocedural optimization and scheduling
opportunities. This paper presents an interprocedural compilation technique
which performs procedure inlining on-demand, rather than as a separate phase,
to improve the ability of a region-based optimizer to control code growth,
compilation time and memory usage while improving performance. The
interprocedural region formation algorithm utilizes a demand-driven,
heuristics-guided approach to inlining, restructuring an input program into
interprocedural regions. Experimental results are presented to demonstrate the
impact of the algorithm and several inlining heuristics upon a number of
traditional and novel compilation characteristics within a region-based ILP
compiler and simulator.Comment: 23 page
Region Formation Analysis with Demand-driven Inlining for Region-based Optimization
Region-based compilation repartitions a program into more desirable compilation units for optimization and scheduling, particularly beneficial for ILP architectures. With region-based compilation, the compiler can control problem size and complexity by controlling region size and contents, expose interprocedural scheduling and optimization opportunities without interprocedural analysis or large function bodies, and create compilation units for program analysis that more accurately reflect the dynamic behavior of the program. This paper presents a region formation algorithm that eliminates the high compile-time memory costs due to an aggressive inlining prepass. Individual subregions are inlined in a demand-driven way during interprocedural region formation. Our experimental results on a subset of the SPEC benchmarks demonstrate a significant reduction in compile-time memory requirements with comparable runtime performance. 1
Region Formation Analysis with Demand-driven Inlining for Region-based Optimization
Region-based compilation repartitions a program into more desirable compilation units for optimization and scheduling, particularly beneficial for ILP architectures. With region-based compilation, the compiler can control problem size and complexity by controlling region size and contents, expose interprocedural scheduling and optimization opportunities without interprocedural analysis or large function bodies, and create compilation units for program analysis that more accurately reflect the dynamic behavior of the program. This paper presents a region formation algorithm that eliminates the high compile-time memory costs due to an aggressive inlining prepass. Individual subregions are inlined in a demand-driven way during interprocedural region formation. Our experimental results on a subset of the SPEC benchmarks demonstrate a significant reduction in compile-time memory requirements with comparable runtime performance