ACM Home Page
Please provide us with feedback. Feedback
Incremental global reoptimization of programs
Full text PdfPdf (1.88 MB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 14 ,  Issue 2  (April 1992) table of contents
Pages: 173 - 200  
Year of Publication: 1992
ISSN:0164-0925
Authors
Lori L. Pollock  Univ. of Delaware, Newark
Mary Lou Soffa  Univ. of Pittsburgh, Pittsburgh, PA
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 0,   Downloads (12 Months): 17,   Citation Count: 8
Additional Information:

abstract   references   cited by   index terms   review   collaborative colleagues  

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

ABSTRACT

Although optimizing compilers have been quite successful in producing excellent code, two factors that limit their usefulness are the accompanying long compilation times and the lack of good symbolic debuggers for optimized code. One approach to attaining faster recompilations is to reduce the redundant analysis that is performed for optimization in response to edits, and in particulars, small maintenance changes, without affecting the quality of the generated code. Although modular programming with separate compilation aids in eliminating unnecessary recompilation and reoptimization, recent studies have discovered that more efficient code can be generated by collapsing a modular program through procedure inlining. To avoid having to reoptimize the resultant large procedures, this paper presents techniques for incrementally incorporating changes into globally optimized code. An algorithm is given for determining which optimizations are no longer safe after a program change, and for discovering which new optimizations can be performed in order to maintain a high level of optimization. An intermediate representation is incrementally updated to reflect the current optimizations in the program. Analysis is performed in response to changes rather than in preparation for possible changes, so analysis is not wasted if an edit has no far-reaching effects. The techniques developed in this paper have also been exploited to improve on the current techniques for symbolic debugging of optimized code.


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.

 
1
 
2
3
4
5
 
6
 
7
8
9
 
10
HusoN, C. A. An in-line subroutine expander for Parafrase. M.S. Thesis, Tech. Rep. UIUCDCS-R-82-1118, Univ. of Illinois at Urbana-Champaign, Dec. 1982.
11
 
12
KEABLES, J., ROBERSON, K., AND VON MAYRHAUSER, A. Data fiow analysis and ifs application to software maintenance. In Proceedings of Conference on Software Mointenance (Phoenix, Ariz., Oct. 1988) pp. 335-347.
13
14
 
15
 
16
 
17
18
 
19
20
21
22
23
24
25

CITED BY  8


REVIEW

"Pani N. Chakrapani : Reviewer"

Users hesitate to use optimizing compilers because optimization analysis and code transformations result in increased compile time and because symbolically debugging optimized code is not straightforward; maintenance changes also r  more...

Collaborative Colleagues:
Lori L. Pollock: colleagues
Mary Lou Soffa: colleagues