diff options
author | Juneyoung Lee <aqjune@gmail.com> | 2020-02-29 14:58:07 +0900 |
---|---|---|
committer | Juneyoung Lee <aqjune@gmail.com> | 2020-03-01 07:32:05 +0900 |
commit | 5cbb26569474f33a39942255ba96f3427c155087 (patch) | |
tree | e751ed36917e6eda40f223463aaf996541f0dfe9 /llvm/lib/Analysis/ValueTracking.cpp | |
parent | 5d6dfd877fa4fab5c318d3d25f55eb39b1158fef (diff) | |
download | llvm-5cbb26569474f33a39942255ba96f3427c155087.zip llvm-5cbb26569474f33a39942255ba96f3427c155087.tar.gz llvm-5cbb26569474f33a39942255ba96f3427c155087.tar.bz2 |
[GVN] Fold equivalent freeze instructions
Summary:
This patch defines two freeze instructions to have the same value number if they are equivalent.
This is allowed because GVN replaces all uses of a duplicated instruction with another.
If it partially rewrites use, it is not allowed. e.g)
```
a = freeze(x)
b = freeze(x)
use(a)
use(a)
use(b)
=>
use(a)
use(b) // This is not allowed!
use(b)
```
Reviewers: fhahn, reames, spatel, efriedma
Reviewed By: fhahn
Subscribers: lebedev.ri, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D75398
Diffstat (limited to 'llvm/lib/Analysis/ValueTracking.cpp')
0 files changed, 0 insertions, 0 deletions