ACM Home Page
Please provide us with feedback. Feedback
Optimal code motion: theory and practice
Full text PdfPdf (2.02 MB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 16 ,  Issue 4  (July 1994) table of contents
Pages: 1117 - 1155  
Year of Publication: 1994
ISSN:0164-0925
Authors
Jens Knoop  Univ. Kiel, Kiel, Germany
Oliver Rüthing  Univ. Kiel, Kiel, Germany
Bernhard Steffen  Univ. Passau, Passau, Germany
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 10,   Downloads (12 Months): 62,   Citation Count: 56
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/183432.183443
What is a DOI?

ABSTRACT

An implementation-oriented algorithm for lazy code motion is presented that minimizes the number of computations in programs while suppressing any unnecessary code motion in order to avoid superfluous register pressure. In particular, this variant of the original algorithm for lazy code motion works on flowgraphs whose nodes are basic blocks rather than single statements, since this format is standard in optimizing compilers. The theoretical foundations of the modified algorithm are given in the first part, where t-refined flowgraphs are introduced for simplifying the treatment of flow graphs whose nodes are basic blocks. The second part presents the “basic block” algorithm in standard notation and gives directions for its implementation in standard compiler environments.


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
DHAMDHERE, D. M. 1989. A new algorithm for composite hoisting and strength reduction optimlsation (+Corrigendum). Int. J. Comput Math. 27, 1, 1-14, 31-32.
7
 
8
DHAMDHERE, D.M. 1983. Characterization of program loops in code optimization J. Comput. Lang. 8, 2, 69-76.
9
10
11
12
13
14
 
15
 
16
HECHT, M. S. AND ULLMAN, J. D. 1977. A simple algorithm for global data flow analysis problems. SIAM J. Comput. 4, 4, 519-532.
17
 
18
Josm, S. M. AND DHAMDHERE, D.M. 1982a. A composite hoisting-strength reduction transformation for global program optimization--Part I. Int. J. Comput. Math. 11, 1, 21-41.
 
19
JOSHI, S. M. AND DHAMDHERE, D.M. 1982b. A composite hoisting-strength reduction transformation for global program optimization--Part II. Int. J. Comput. Math. 11, 2, 111-126.
20
21
 
22
 
23
KNOOP, J. AND STEFFEN, B. 1992b. Optimal interprocedural partial redundancy elimination. Extended abstract. In Addenda to Proceedings of the 4th Conference on Compiler Constructzon (CC). Lecture Notes in Computer Science. Springer-Verlag, Berlin. Also, Tech. Rep. 103, Dept. of Computer Science, Univ. of Paderborn, Germany, 36-39.
 
24
KNOOP, J., RUTHING, O., AND STEFFEN, B. 1993. Lazy strength reduction. J. Program. Lang. 1, 1, 71-91.
25
 
26
 
27
MOREL, E. AND RENVOISE, C. 1981. Interprocedural elimination of partial redundancies. In Program Flow Analysis: Theory and Applications, S. S. Muchnick and N. D. Jones, Eds. Prentice Hall, Englewood Cliffs, N.J., 160-188.
28
29
30
 
31
 
32
 
33
34
35
36
 
37
ULLMAN, J. D. 1973.Fast algorithms for the elimination of common subexpressions. Acta Informatica 2, 3, 191-213.

CITED BY  56


REVIEW

"Olivier Louis Marie Lecarme : Reviewer"

The context of this paper is the global optimization part of a compiler, and especially the part that realizes code motion to improve computing efficiency by avoiding unnecessary computations at runtime. Code motion must be both correct (that   more...

Collaborative Colleagues:
Jens Knoop: colleagues
Oliver Rüthing: colleagues
Bernhard Steffen: colleagues