MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Link-time Improvement of Scheme Programs (1999) [2 citations — 1 self]

Download:
Download as a PDF | Download as a PS
by Saumya Debray, Robert Muth, Scott Watterson
Proc. 8th. International Conference on Compiler Construction (CC'99
ftp://ftp.cs.arizona.edu/reports/1998/TR98-16.ps
Add To MetaCart

Abstract:

Optimizing compilers typically limit the scope of their analyses and optimizations to individual modules. This has two drawbacks: first, library code cannot be optimized together with their callers, which implies that reusing code through libraries incurs a penalty; and second, the results of analysis and optimization cannot be propagated from an application module written in one language to a module written in another. A possible solution is to carry out (additional) program optimization at link time. This paper describes our experiences with such optimization using two different optimizing Scheme compilers, and several benchmark programs, via alto, a link-time optimizer we have developed for the DEC Alpha architecture. Experiments indicate that significant performance improvements are possible via link-time optimization even when the input programs have already been subjected to high levels of compile-time optimization.

Citations

370 Efficient Context-Sensitive Pointer Analysis for C Programs – Wilson, Lam - 1995
178 Global Register Allocation at Link Time – Wall - 1986
151 A Practical System for Intermodule Code Optimization at Link-Time – Srivastava, Wall - 1993
126 Reducing indirect function call overhead in C++ programs – Calder, Grunwald - 1994
94 Instrumentation and Optimization of Win32/Intel Executables Using Etch – Romer, Voelker, et al. - 1997
91 Link-time optimization of address calculation on a 64-bit architecture – Srivastava - 1994
87 Simple and effective link-time optimization of Modula-3 programs – Fernandez - 1995
84 Profile-Guided Receiver Class Prediction – Grove, Dean, et al. - 1995
72 Minimizing register usage penalty at procedure calls – Chow - 1988
55 Global tagging optimization by type inference – Henglein - 1992
50 Flow-directed inlining – Jagannathan, Wright - 1996
44 Profile-guided code positioning – Pettis, Hansen - 1990
38 Bigloo: a portable and optimizing compiler for strict functional languages – Serrano, Weis - 1995
29 Register allocation across procedure and module boundaries – Santhanam, Odnert - 1990
23 Lambda-Splitting: A Higher-Order Approach to Cross-Module Optimizations – Blume, Appel - 1997
21 The effectiveness of flow analysis for inlining – Ashley - 1997
6 The Implementation of Tags and Run-Time Type Checking – Steenkiste - 1991
4 et al., "The GEM Optimizing Compiler System – Blickstein - 1992
2 Dybvig, "Fast and Effective Procedure Inlining – Waddell, K - 1997