NewGVN: Don't try to kill off the stored value of stores when
authorDaniel Berlin <dberlin@dberlin.org>
Sat, 1 Apr 2017 09:44:33 +0000 (09:44 +0000)
committerDaniel Berlin <dberlin@dberlin.org>
Sat, 1 Apr 2017 09:44:33 +0000 (09:44 +0000)
commit9a9c9ff260b2af780e89a85df89b63c37ec66665
tree71f922c7e7bca1a35ea1c707696b5ef666ef90fa
parent9b4984926c74e79a9152f2a97e0b733ac797d282
NewGVN: Don't try to kill off the stored value of stores when
processing the congruence class of the store.
Because we use the stored value of a store as the def, it isn't dead
just because it appears as a def when it comes from a store.

Note: I have not hit any cases with the memory code as it is where
this breaks anything, just because of what memory congruences we
actually allow.  In a followup that improves memory congruence,
this bug actually breaks real stuff (but the verifier catches it).

llvm-svn: 299300
llvm/lib/Transforms/Scalar/NewGVN.cpp