Partial Redundancy Elimination (PRE) is a compiler optimization that eliminates expressions that are redundant on some but not necessarily all paths through a program. In this project, we implemented a PRE optimization pass in LLVM and measured results on a variety of applications. We chose PRE because it is a powerful technique that subsumes Common Subexpression Elimination (CSE) and Loop Invariant Code Motion (LICM), and hence has the potential to greatly improve performance.
Cite
@article{arxiv.1905.08178,
title = {Partial Redundancy Elimination using Lazy Code Motion},
author = {Sandeep Dasgupta and Tanmay Gangwani},
journal= {arXiv preprint arXiv:1905.08178},
year = {2019}
}