Proceedings of ISP RAS


Overview of Scalable Frameworks of Cross-Module Optimization.

Ksenia Dolgorukova.

Abstract

Most applications consist of separated modules. Optimization of such applications during building in the traditional way “compiling-linking” is reduced to a single module optimization. However, in spite of support of cross-module optimizations by many compilers full optimizations are often unacceptable for large applications because of significant time and memory consumption. Compiler frameworks that could solve these problems with regard to hardware capabilities and user demands are called scalable cross-module optimization frameworks. In this article, we aim to consider all the different approaches to the problem of scalability of with respect to resources consumed rather than inter-procedural or cross-module optimizations or their effectivenesses because of their independence of used framework. The possibility of parallelization of various stages of whole program compilation as well as ways to save memory consumed by cross-module analysis are of interest. This overview observes several compiler frameworks for general-purpose programming languages like C, C++ and Fortran. Although, quite often these frameworks are able to optimize other languages in case of existence of corresponding front-ends.

Keywords

compilers, inter-procedural optimization, cross-module analysis and optimization

Edition

Proceedings of the Institute for System Programming, vol. 26, issue 3, 2014, pp. 69-90.

ISSN 2220-6426 (Online), ISSN 2079-8156 (Print).

DOI: 10.15514/ISPRAS-2014-26(3)-3

Full text of the paper in pdf (in Russian) Back to the contents of the volume