alto : A Link-Time Optimizer for the DEC Alpha
نویسندگان
چکیده
Traditional optimizing compilers are limited in the scope of their optimizations by the fact that only a sin-gle function, or possibly a single module, is available for analysis and optimization. In particular, this meansthat library routines cannot be optimized to specific calling contexts. Other optimization opportunities, exploit-ing information not available before linktime such as addresses of variables and the final code layout, are oftenignored because linkers are traditionally unsophisticated. A possible solution is to carry out whole-program op-timization at link time. This paper describes alto, a link-time optimizer for the DEC Alpha architecture. It isable to realize significant performance improvements even for programs compiled with a good optimizing com-piler with a high level of optimization. The resulting code is considerably faster that that obtained using the OMlink-time optimizer, even when the latter is used in conjunction with profile-guided and inter-file compile-timeoptimizations. The work of Robert Muth, Saumya Debray and Scott Watterson was supported in part by the National Science Foundation under grantnumbers CCR-9502826 and CCR-9711166. Koen De Bosschere is a research associate with the Fund for Scientific Research – Flanders.
منابع مشابه
alto: a link-time optimizer for the Compaq Alpha
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 linktime such as addresses...
متن کاملLink-Time Improvement of Scheme Programs
Optimizing compilers typically limit the scope of their analyses and optimizations to individual modules. This has two drawbacks: rst, 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 mo...
متن کاملThe KAP Parallelizer for DEC Fortran and DEC C Programs
The KAP preprocessor optimizes DEC Fortran and DEC C programs to achieve their best performance on Digital Alpha systems. One key optimization that KAP performs is the parallelization of programs for Alpha shared memory multiprocessors that use the new capabilities of the DEC OSF/1 version 3.0 operating system with DECthreads. The heart of the optimizer is a sophisticated decision process that ...
متن کاملPost Link-Time Optimization on the Intel IA-32 Architecture
Post link-time optimization of executables has been investigated by several projects in recent years. These optimization systems have targeted RISC architectures like the Compaq Alpha, and have shown that there is considerable room for improvement in compiler-generated code. Classical compiler optimizations like constant propagation, function inlining, and dead code elimination have been shown ...
متن کاملDe Sutter Et Al . : Whole - Program Optimization of Binary Executables 3
|Compiler optimization research has a long history and very complex algorithms were developed to optimize code. Unfortunately these algorithms, however complex they may be, su er from the modular design of software. Compilers compile and optimize one source code module at a time. While they do so, they have no or few knowledge about the context in which the code will be executed. Even if summar...
متن کامل