|
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
|
Alfred V. Aho , Ravi Sethi , Jeffrey D. Ullman, Compilers: principles, techniques, and tools, Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 1986
|
| |
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
|
B. K. Rosen , M. N. Wegman , F. K. Zadeck, Global value numbers and redundant computations, Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.12-27, January 10-13, 1988, San Diego, California, United States
[doi> 10.1145/73560.73562]
|
 |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Oliver Rüthing , Jens Knoop , Bernhard Steffen, Sparse code motion, Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.170-183, January 19-21, 2000, Boston, MA, USA
|
|
|
Robert Kennedy , Sun Chan , Shin-Ming Liu , Raymond Lo , Peng Tu , Fred Chow, Partial redundancy elimination in SSA form, ACM Transactions on Programming Languages and Systems (TOPLAS), v.21 n.3, p.627-676, May 1999
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Fred Chow , Sun Chan , Robert Kennedy , Shin-Ming Liu , Raymond Lo , Peng Tu, A new algorithm for partial redundancy elimination based on SSA form, ACM SIGPLAN Notices, v.32 n.5, p.273-286, May 1997
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Long Li , Bo Huang , Jinquan Dai , Luddy Harrison, Automatic multithreading and multiprocessing of C programs for IXP, Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming, June 15-17, 2005, Chicago, IL, USA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Tom Vander Aa , Bing-Feng Mei , Bjorn De Sutter, A backtracking instruction scheduler using predicate-based code hoisting to fill delay slots, Proceedings of the 2007 international conference on Compilers, architecture, and synthesis for embedded systems, September 30-October 03, 2007, Salzburg, Austria
|
|
|
|
|
|
|
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...
|