A framework for incremental extensible compiler construction

  • Authors:
  • Steven Carroll;Constantine Polychronopoulos

  • Affiliations:
  • Microsoft Corporation, Redmond, WA;Center for Supercomputing Research and Development, University of Illinois, Urbana-Champaign, IL

  • Venue:
  • International Journal of Parallel Programming - Special issue II: The 17th annual international conference on supercomputing (ICS'03)
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

Extensibility in complex compiler systems goes well beyond modularity of design and it needs to be considered from the early stages of the design, especially the design of the Intermediate Representation. One of the primary barriers to compiler pass extensibility and modularity is interference between passes caused by transformations that invalidate existing analysis information. In this paper, we also present a callback system which is provided to automatically track changes to the compiler's internal representation (IR) allowing full pass reordering and an easy-to-use interface for developing lazy update incremental analysis passes. We present a new algorithm for incremental interprocedural data flow analysis and demonstrate the benefits of our design framework and our prototype compiler system. It is shown that compilation time for multiple data flow analysis algorithms can be cut in half by incrementally, updating data flow analysis.