A variation of Knoop, Rüthing, and Steffen's Lazy Code Motion
- 1 May 1993
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGPLAN Notices
- Vol. 28 (5), 29-38
- https://doi.org/10.1145/152819.152823
Abstract
Morel and Renvoise discussed in 1979 a universal method for global code optimization in a compiler. By suppressing partial redundancies their method achieves several optimization techniques - such as moving loop invariant computations out of a loop or deleting redundant computations - at once. Their algorithm moves computations to earlier places in execution paths to eliminate partial redundancies. The movement is controlled by some heuristics.The heuristics and algorithms used by Morel and Renvoise sometimes cause difficulties for practical use. Subsequent papers partly circumvented these difficulties by slightly modifying the heuristics and the algorithms. Knoop, Rüthing, and Steffen published in their paper Lazy Code Motion an optimal algorithm for the elimination of partial redundancies which entirely prevents these difficulties. This paper presents a variant of their algorithm which is better prepared for practical use.Keywords
This publication has 5 references indexed in Scilit:
- Lazy code motionACM SIGPLAN Notices, 1992
- Practical adaption of the global optimization algorithm of Morel and RenvoiseACM Transactions on Programming Languages and Systems, 1991
- A fast algorithm for code movement optimisationACM SIGPLAN Notices, 1988
- A solution to a problem with Morel and Renvoise's “Global optimization by suppression of partial redundancies”ACM Transactions on Programming Languages and Systems, 1988
- Global optimization by suppression of partial redundanciesCommunications of the ACM, 1979