The alto Project: Link-time Code Optimization


Traditional optimizing compilers are limited in the scope of their optimizations by the fact that only a single function, or possibly a single module, is available for analysis and optimization. In particular, this means that library routines cannot be optimized to specific calling contexts. A possible solution is to carry out whole-program optimization at link time. The goal of the alto project is to develop whole-program dataflow analyses and code optimization techniques for link time program optimization; the current system is targeted to the DEC Alpha architecture, and produces code that is typically considerably faster than that produced using DEC's Om link-time optimizer (with or without profile-guided inter-file optimization carried out by the compiler).

Current areas of investigation within the context of alto include low-level value-based program specialization as well as code compression.


Source Code (latest version: 99/07/23) | Documentation | Performance [SPEC-95 benchmarks]



Saumya K. Debray
Will Evans
Koen De Bosschere (University of Gent, Belgium)
Robert Muth (currently at Compaq Computer Corp.)
Scott Watterson
Peter Keyngnaert (KU Leuven, Belgium)
Bjorn De Sutter (University of Gent, Belgium)

For questions/comments, contact:

This research was supported in part by the National Science Foundation under grant nos. CCR-9502826, CCR-9711166, and ASC-9720738.

Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.