Abstract
Morel and Renvoise have previously described a method for global optimization and code motion by suppression of partial redundancies [l]. Morel and Renvoise use data flow analysis to determine expression computations that should be inserted at the end of certain basic blocks and to determine redundant computations that can be eliminated. The execution of these techniques results in the movement of loop invariant expressions out of the loop. In addition to [l] Morel and Renvoise's techniques can also be applied to subexpressions of larger expressions. Then, however, in certain special cases these optimization techniques move expressions to places where some of its subexpressions are neither available nor moved together with the expression. In this paper we present a modification of Morel and Renvoise's algorithm that avoids the above described situations.
- 1 MOREL, E., AND RENVOISE, C. Global optimization by suppression of partial redundancies. Commun. ACM 22, 2 (1979), 96-103, 111-126. Google Scholar
Index Terms
- A solution to a problem with Morel and Renvoise's “Global optimization by suppression of partial redundancies”
Recommendations
Global optimization by suppression of partial redundancies
The elimination of redundant computations and the moving of invariant computations out of loops are often done separately, with invariants moved outward loop by loop. We propose to do both at once and to move each expression directly to the entrance of ...
Some comments on “A solution to a problem with Morel and Renvoise's 'Global optimization by suppression of partial redundancies'”
Abstract: Drechsler and Stadel presented a solution to a problem with Morel and Renvoise's “Global Optimization by Suppression of Partial Redundancies.” We cite some earlier generalizations of Morel and Renvoise's algorithm that solve the same problem, ...
Comments