NewGVN: Handle coercion of constant stores, loads, memory insts.
authorDaniel Berlin <dberlin@dberlin.org>
Sun, 2 Apr 2017 13:23:44 +0000 (13:23 +0000)
committerDaniel Berlin <dberlin@dberlin.org>
Sun, 2 Apr 2017 13:23:44 +0000 (13:23 +0000)
commit07daac8a366cf9762140b55c34fcbbc24346634b
tree5e608d5b5e40108c6a23b5fa88b2944df57b3886
parentfca527af5c5454efdde8cdf2c54d21074ac76c90
NewGVN: Handle coercion of constant stores, loads, memory insts.

Summary:
Depends on D30928.

This adds support for coercion of stores and memory instructions that do not require insertion to process.
Another few tests down.
I added the relevant tests from rle.ll

Reviewers: davide

Subscribers: llvm-commits, Prazek

Differential Revision: https://reviews.llvm.org/D30929

llvm-svn: 299330
llvm/lib/Transforms/Scalar/NewGVN.cpp
llvm/test/Transforms/NewGVN/calloc-load-removal.ll
llvm/test/Transforms/NewGVN/fold-const-expr.ll
llvm/test/Transforms/NewGVN/malloc-load-removal.ll
llvm/test/Transforms/NewGVN/pr17732.ll
llvm/test/Transforms/NewGVN/rle.ll [new file with mode: 0644]