A framework for unrestricted whole-program optimization

Spyridon Triantafyllis, Matthew J. Bridges, Easwaran Raman, Guilherme Ottoni, David I. August

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Procedures have long been the basic units of compilation in conventional optimization frameworks. However, procedures are typically formed to serve software engineering rather than optimization goals, arbitrarily constraining code transformations. Techniques, such as aggressive inlining and interprocedural optimization, have been developed to alleviate this problem, but, due to code growth and compile time issues, these can be applied only sparingly.This paper introduces the Procedure Boundary Elimination (PBE) compilation framework, which allows unrestricted whole-program optimization. PBE allows all intra-procedural optimizations and analyses to operate on arbitrary subgraphs of the program, regardless of the original procedure boundaries and without resorting to inlining. In order to control compilation time, PBE also introduces novel extensions of region formation and encapsulation. PBE enables targeted code specialization, which recovers the specialization benefits of inlining while keeping code growth in check. This paper shows that PBE attains better performance than inlining with half the code growth.

Original languageEnglish (US)
Title of host publicationConference on Programming Language Design and Implementation - PLAS 2006
Subtitle of host publicationProceedings of the 2006 Programming Languages and Analysis for Security Workshop
PublisherAssociation for Computing Machinery
Pages61-71
Number of pages11
ISBN (Print)1595933743, 9781595933744
DOIs
StatePublished - 2006
Externally publishedYes
EventACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2006 - PLAS 2006: 2006 Programming Languages and Analysis for Security Workshop - Ottawa, ON, Canada
Duration: Jun 10 2006Jun 10 2006

Publication series

NameProceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)

Conference

ConferenceACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2006 - PLAS 2006: 2006 Programming Languages and Analysis for Security Workshop
Country/TerritoryCanada
CityOttawa, ON
Period6/10/066/10/06

All Science Journal Classification (ASJC) codes

  • Software

Keywords

  • Inlining
  • Interprocedural analysis
  • Interprocedural optimization
  • Path-sensitive analysis
  • Procedure unification
  • Region encapsulation
  • Region formation
  • Region-based compilation
  • Specialization
  • Superblock
  • Whole-program analysis
  • Whole-program optimization

Fingerprint

Dive into the research topics of 'A framework for unrestricted whole-program optimization'. Together they form a unique fingerprint.

Cite this