Region-based compilation: an introduction and motivation

Richard E. Hank, Wen mei W. Hwu, B. Ramakrishna Rau

Research output: Contribution to journalConference article

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 languageEnglish (US)
Pages (from-to)158-168
Number of pages11
JournalProceedings of the Annual International Symposium on Microarchitecture
StatePublished - Dec 1 1995
EventProceedings of the 1995 28th Annual International Symposium on Microarchitecture - Ann Arbor, MI, USA
Duration: Nov 29 1995Dec 1 1995

Fingerprint

Scheduling

ASJC Scopus subject areas

  • Hardware and Architecture
  • Software

Cite this

Region-based compilation : an introduction and motivation. / Hank, Richard E.; Hwu, Wen mei W.; Rau, B. Ramakrishna.

In: Proceedings of the Annual International Symposium on Microarchitecture, 01.12.1995, p. 158-168.

Research output: Contribution to journalConference article

@article{f5d53810f19b433f922de43ae73a1a42,
title = "Region-based compilation: an introduction and motivation",
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.",
author = "Hank, {Richard E.} and Hwu, {Wen mei W.} and Rau, {B. Ramakrishna}",
year = "1995",
month = "12",
day = "1",
language = "English (US)",
pages = "158--168",
journal = "Proceedings of the Annual International Symposium on Microarchitecture, MICRO",
issn = "1072-4451",

}

TY - JOUR

T1 - Region-based compilation

T2 - an introduction and motivation

AU - Hank, Richard E.

AU - Hwu, Wen mei W.

AU - Rau, B. Ramakrishna

PY - 1995/12/1

Y1 - 1995/12/1

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

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

UR - http://www.scopus.com/inward/record.url?scp=0029545359&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=0029545359&partnerID=8YFLogxK

M3 - Conference article

AN - SCOPUS:0029545359

SP - 158

EP - 168

JO - Proceedings of the Annual International Symposium on Microarchitecture, MICRO

JF - Proceedings of the Annual International Symposium on Microarchitecture, MICRO

SN - 1072-4451

ER -