Region-Based Compilation: An Introduction and Motivation
Richard E. Hank, Wen-mei W. Hwu, B. Ramakrishna Rau
Abstract
As the amount of instruction-level parallelism required to fully
utilize VLIW and superscalar processors increases, compilers must
perform increasingly more aggressive analysis, optimization,
parallelization and scheduling on the input programs. Traditionally
compilers have been built assuming functions as the unit of
compilation, making compiler performance heavily dependent upon the
contents of the function. The function-based partitioning tends to hide
valuable optimization opportunities form the compiler making it
undesirable. Function inlining may be applied to assemble
inter-procedurally coupled functions into the same compilation unit at
the cost of very large function bodies. This paper introduces a new
technique called region-based compilation where the compiler is allowed
to repartition the program into more desirable compilation units.
Region-based compilation units allow the compiler to control problem
size while exposing inter-procedural optimization and code motion
opportunities.
Keywords
ILP compilation, region-based compilation, compilation
time complexity, inlining, code expansion
Talk
Overheads (228215 bytes)