Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sdasgup3/partial-redundancy-elimination
Partial Redundancy Elimination Pass in LLVM
https://github.com/sdasgup3/partial-redundancy-elimination
bitvector common-subexpression-elimination compiler-optimization data-flow-analysis llvm loop-invariants
Last synced: about 1 month ago
JSON representation
Partial Redundancy Elimination Pass in LLVM
- Host: GitHub
- URL: https://github.com/sdasgup3/partial-redundancy-elimination
- Owner: sdasgup3
- License: mit
- Created: 2014-03-27T09:40:09.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2019-05-20T17:21:11.000Z (over 5 years ago)
- Last Synced: 2023-08-14T19:16:38.814Z (over 1 year ago)
- Topics: bitvector, common-subexpression-elimination, compiler-optimization, data-flow-analysis, llvm, loop-invariants
- Language: TeX
- Homepage:
- Size: 22.7 MB
- Stars: 11
- Watchers: 3
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![DOI](https://zenodo.org/badge/18170897.svg)](https://zenodo.org/badge/latestdoi/18170897)
Partial Redundancy Elimination (PRE)
====================================PRE is a compiler optimization that eliminates
expressions that are redundant on some but not necessarily all paths through a
program. We implement a PRE optimization pass in the LLVM framework, and evaluate the benefits
on a variety of applications. PRE is a powerful technique that subsumes
Common Subexpression Elimination (CSE) and Loop Invariant Code Motion (LICM), and hence has a potential to
greatly improve performance.Commands
-------opts_lcm = "-mem2reg -loop-rotate -reassociate -lcm -mem2reg -simplifycfy;
$opt -load $load_pass $opts_lcm $test.bc -o $test-lcm.bc