Mark MergedLoadStoreMotion as not preserving MemDep results
authorBjorn Steinbrink <bsteinbr@gmail.com>
Fri, 23 Feb 2018 10:41:57 +0000 (10:41 +0000)
committerBjorn Steinbrink <bsteinbr@gmail.com>
Fri, 23 Feb 2018 10:41:57 +0000 (10:41 +0000)
commit983d6c3f18908532b28887ca96ac0da6ad921e7f
tree0e72fbd4562d8489b8fbb4775c72825fd339bf94
parent2d53967b486fa213613f4ced6b3087050997b82b
Mark MergedLoadStoreMotion as not preserving MemDep results

Summary:
MemDep caches results that signify that a dependence is non-local, and
there is currently no way to invalidate such cache entries.
Unfortunately, when MLSM sinks a store that can result in a non-local
dependence becoming a local one, and then MemDep gives wrong answers.
The easiest way out here is to just say that MLSM does indeed not
preserve MemDep results.

Reviewers: davide, Gerolf

Subscribers: llvm-commits

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

llvm-svn: 325880
llvm/lib/Transforms/Scalar/MergedLoadStoreMotion.cpp
llvm/test/Transforms/GVN/pr36063.ll [new file with mode: 0644]