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
Source Code (latest version: 99/07/23)
Performance [SPEC-95 benchmarks]
Software Power Optimization via Post-Link-Time Binary Rewriting,
by Saumya Debray, Robert Muth, and Scott Watterson.
Draft, Feb. 2001.
Global Code and Data Compaction,
by Bjorn De Sutter, Bruno De Bus, Koen De Bosschere, and Saumya
Proc. ACM SIGPLAN Workshop on Languages, Compilers, and
Tools for Embedded Systems (LCTES'2001), June 2001
Goal-Directed Value Profiling, by
Scott Watterson and Saumya Debray.
Proc. Compiler Construction 2001 (CC 2001), April 2001
(A preliminary version appeared in Proc. 3rd ACM Workshop on
Feedback-Directed and Dynamic Optimization (FDDO-3), December 2000.)
alto : A Link-Time Optimizer for the Compaq Alpha,
by Robert Muth, Saumya Debray, Scott Watterson, and Koen De
Software Practice and Experience 31:67-101, Jan. 2001.
(Also available as Technical Report 98-14, Dec. 1998;
this is a revised and updated version of
Technical Report 96-15, Dept. of Computer Science,
The University of Arizona, Tucson, June 1996.)
Techniques for Code Compression, by Saumya Debray, William Evans and
ACM Transactions on Programming Languages and
Systems vol. 22 no. 2, March 2000, pp. 378-415.
Specialization based on Value Profiles, by Robert Muth, Scott Watterson,
and Saumya Debray.
Proc. 7th. International Static Analysis Symposium (SAS 2000),
June 2000. Springer LNCS vol. 1824, pp. 340-359.
ALTO: A Platform for Object Code Modification,
by Robert Muth.
Ph.D. Dissertation, The University of Arizona, August 1999.
Improvement of Scheme Programs, by Saumya Debray, Robert Muth and
Proc. 8th International Conference on Compiler
Construction (CC'99), March 1999, pp. 76-90.
Profile-Guided Context-Sensitive Program Analysis, by
Draft, Oct. 1998.
Alias Analysis of Executable Code,
by Saumya Debray, Robert Muth and Matthew Weippert.
Proc. 1998 ACM Symposium on Principles of Programming
Languages (POPL), Jan. 1998, pp. 12-24.
Register Liveness Analysis of Executable Code,
by Robert Muth.
Manuscript, Nov. 1997.
Saumya K. Debray
Koen De Bosschere (University of Gent, Belgium)
Robert Muth (currently at Compaq Computer Corp.)
Peter Keyngnaert (KU Leuven,
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.