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

15 Scopus citations

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 publicationPLDI 2006 - Proceedings of the 2006 ACM SIGPLAN Conference on Programming Language Design and Implementation
Pages61-71
Number of pages11
DOIs
StatePublished - Jul 24 2006
EventPLDI 2006 - 2006 ACM SIGPLAN Conference on Programming Language Design and Implementation - Ottawa, ON, Canada
Duration: Jun 10 2006Jun 16 2006

Publication series

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

Other

OtherPLDI 2006 - 2006 ACM SIGPLAN Conference on Programming Language Design and Implementation
CountryCanada
CityOttawa, ON
Period6/10/066/16/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

    Triantafyllis, S., Bridges, M. J., Raman, E., Ottoni, G., & August, D. I. (2006). A framework for unrestricted whole-program optimization. In PLDI 2006 - Proceedings of the 2006 ACM SIGPLAN Conference on Programming Language Design and Implementation (pp. 61-71). (Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI); Vol. 2006). https://doi.org/10.1145/1133255.1133989