Redundancy Elimination

0Citations
Citations of this article
1Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Redundancy elimination identifies repeated computations that yield the same results in the course of program execution. It transforms the program code to avoid recomputations by saving the results computed earlier and reusing them, thus speeding up program execution. We distinguish between two different views of redundant computations, resulting in redundancy elimination approaches being designated as either syntax-driven or value-driven. The dominant redundancy elimination concept under the syntax-driven approach is partial redundancy elimination (PRE). We explain why PRE and SSA are intimately related and how a particular version of PRE, called SSAPRE, actually works by exploiting the many useful properties of SSA form. We explain how the SSAPRE algorithm can be adapted to add the speculative flavor. A different version of SSAPRE, called SSUPRE, can also be derived to perform the PRE of store operations. Furthermore, combining the PRE of loads with the PRE stores will accomplish the effects of register promotion. This chapter finishes by discussing the value-driven redundancy elimination approach to contrast it with the syntax-driven approach.

Cite

CITATION STYLE

APA

Chow, F. (2022). Redundancy Elimination. In SSA-based Compiler Design (pp. 135–153). Springer International Publishing. https://doi.org/10.1007/978-3-030-80515-9_11

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free