Abstract
Partial redundancy elimination was originally formulated as a bidirectional, bit-vector, data-flow analysis problem by Morel and Renvoise. Dhamdhere improved the original algorithm using the concept of edge placement. Knoop, Rüthing, and Steffen viewed the problem within a framework that required only four unidirectional analyses for an optimal solution. Here, we propose an algorithm for partial redundancy elimination based on well known concepts, viz., availability, anticipability, partial availability, and partial anticipability. The algorithm is both computationally and lifetime optimal. Our algorithm also requires four unidirectional data-flow analyses. The main advantage of the algorithm is its simplicity.
Index Terms
- A simple algorithm for partial redundancy elimination
Recommendations
A new algorithm for partial redundancy elimination based on SSA form
A new algorithm, SSAPRE, for performing partial redundancy elimination based entirely on SSA form is presented. It achieves optimal code motion similar to lazy code motion [KRS94a, DS93], but is formulated independently and does not involve iterative ...
Partial redundancy elimination in SSA form
The SSAPRE algorithm for performing partial redundancy elimination based entirely on SSA form is presented. The algorithm is formulated based on a new conceptual framework, the factored redundancy graph, for analyzing redundancy, and representes the ...
Comments