OSDN Git Service

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)
commit0c0db7175b65821971c10e9efeefaf71697175a9
treeab4136291d7f02dd1ef9cd080f6ea196ed4ea7b8
parent5b880f8d07b82a69d66a24eba7dc9277e3e79746
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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@325880 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Scalar/MergedLoadStoreMotion.cpp
test/Transforms/GVN/pr36063.ll [new file with mode: 0644]