Abstract

Partial redundancy elimination has become a major compiler optimization that subsumes various ad hoc code motion optimizations. However, partial redundancy elimination is extremely conservative, failing to take advantage of many opportunities for optimization. We describe a new formulation of partial redundancy elimination based on a cost-benefit analysis of the flowgraph. Costs and benefits are measured by the number of evaluations of an expression. For that reason, our technique requires estimates for the execution frequency of every edge in the flowgraph. The new technique is much more aggressive, performing more code motion and thereby reducing the number of expression evaluations as compared to the standard optimization.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call