alto: a link-time optimizer for the Compaq Alpha

Robert Muth, Saumya K. Debray, Scott Watterson, Koen De Bosschere

Research output: Contribution to journalArticlepeer-review

87 Scopus citations


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. Other optimization opportunities, exploiting information not available before link time, such as addresses of variables and the final code layout, are often ignored because linkers are traditionally unsophisticated. A possible solution is to carry out whole-program optimization at link time. This paper describes alto, a link-time optimizer for the Compaq Alpha architecture. It is able to realize significant performance improvements even for programs compiled with a good optimizing compiler with a high level of optimization. The resulting code is considerably faster than that obtained using the OM link-time optimizer, even when the latter is used in conjunction with profile-guided and inter-file compile-time optimizations.

Original languageEnglish (US)
Pages (from-to)67-101
Number of pages35
JournalSoftware - Practice and Experience
Issue number1
StatePublished - Jan 2001

ASJC Scopus subject areas

  • Software

Cite this