ACM Home Page
Please provide us with feedback. Feedback
Interprocedural optimization: eliminating unnecessary recompilation
Full text PdfPdf (1.11 MB)
Source Symposium on Compiler Construction archive
Proceedings of the 1986 SIGPLAN symposium on Compiler construction table of contents
Palo Alto, California, United States
Pages: 58 - 67  
Year of Publication: 1986
ISBN:0-89791-197-0
Also published in ...
Authors
Keith D. Cooper  Rice Univ.
Ken Kennedy  Rice Univ.
Linda Torczon  Rice Univ.
Sponsor
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 4,   Downloads (12 Months): 28,   Citation Count: 16
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/12276.13317
What is a DOI?

ABSTRACT

While efficient new algorithms for interprocedural data flow analysis have made these techniques practical for use in production compilation systems, a new problem has arisen: collecting and using interprocedural information in a compiler introduces subtle dependences among the procedures of a program. If the compiler depends on interprocedural information to optimize a given module, a subsequent editing change to another module in the program may change the interprocedural information and necessitate recompilation. To avoid having to recompile every module in a program in response to a single editing change to one module, we must develop techniques to more precisely determine which compilations have actually been invalidated by a change to the program's source. This paper presents a general recompilation test to determine which procedures must be compiled in response to a series of editing changes. Three different implementation strategies, which demonstrate the fundamental tradeoff between the cost of analysis and the precision of the resulting test, are also discussed.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
AlCa 80
F.E. Allen et al. The experimental compiling system. IBM Journal of Research and Development, 24(6), 1980.
 
ANSI 78
American National Standards Institute. American National Standard Programming Language Fortran, )(8.9-1978.
Ball 79
 
Burk 83
M. Burke. Private Communication. November, 1983.
CCKT 86
Coop 85
CoKe 84
 
CoKT 86
K.D. Cooper, K. Kennedy and L. Torczon. Optimization of compiled code in the IR~ programming environment. Proceedings of the Nineteenth Annual Hawaii International Conference on System~ Sciences, 1986.
 
Conr 83
R. Conradi. Inter-procedural optimization ol object code. TR 25/83, Division of Computer Science, University of Trondheim, Trondheim-NTH, Norway. 1983.
 
DBMS 79
J.J. Dongarra, J.R. Bunch, C.B. Moler, and G.W. Stewart. LINPACK Users' Guide. SIAM, Philadelphia. 1979.
 
Feld 79
S. Feldman. Make- a computer program for maintaining computer programs. Software Practice and Experience 9, 1979.
KaUl 76
 
KaUl 77
J. Kam and J.D. Ullman. Monotone data flow analysis frameworks. Acta Informatica, 7. 1977.
 
Kenn 81
K. Kennedy. A survey of data flow analysis techniques. In Program Flow Analysis: Theory and Applications, New Jersey: Prentice-Hall. 1981.
Myer 81
 
Spil 71
T.C. Spillman. Exposing side-effects in a PL/I optimizing compiler. IFIPS Proceedings, 1971.
TiBa 85
 
Torc 85

CITED BY  16

Collaborative Colleagues:
Keith D. Cooper: colleagues
Ken Kennedy: colleagues
Linda Torczon: colleagues