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. In this framework, function boundaries tend to hide valuable optimization opportunities from the compiler. Function inlining may be applied to assemble strongly 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 allows the compiler to control problem size while exposing inter-procedural optimization and code motion opportunities.
Original language | English (US) |
---|---|
Pages (from-to) | 158-168 |
Number of pages | 11 |
Journal | Proceedings of the Annual International Symposium on Microarchitecture |
DOIs | |
State | Published - 1995 |
Event | Proceedings of the 1995 28th Annual International Symposium on Microarchitecture - Ann Arbor, MI, USA Duration: Nov 29 1995 → Dec 1 1995 |
ASJC Scopus subject areas
- Hardware and Architecture
- Software