diff options
author | Nikita Popov <nikita.ppv@gmail.com> | 2020-10-03 11:26:13 +0200 |
---|---|---|
committer | Nikita Popov <nikita.ppv@gmail.com> | 2020-10-13 21:39:09 +0200 |
commit | e79ca751fc2bea9f80c4df1eebf61fce3fd4f439 (patch) | |
tree | e06fe549774d0fc7f3daa5c744dff0e281cdb0d9 /llvm/lib/Support/LineIterator.cpp | |
parent | 0ec1cf13f2a4e31aa2c5ccc665c5fbdcd3a94577 (diff) | |
download | llvm-e79ca751fc2bea9f80c4df1eebf61fce3fd4f439.zip llvm-e79ca751fc2bea9f80c4df1eebf61fce3fd4f439.tar.gz llvm-e79ca751fc2bea9f80c4df1eebf61fce3fd4f439.tar.bz2 |
[MemCpyOpt] Fix MemorySSA preservation
moveUp() moves instructions, so we should move the corresponding
memory accesses as well. We should also move the store instruction
itself: Even though we'll end up removing it later, this gives us
a correct MemoryDef to replace.
The implementation is somewhat more complicated than it should be,
because we also handle the case where P does not have a memory
access due to a degnerate AA pipeline. Hopefully, the need for this
will go away in the future, when the rest of the pass is based on
MSSA.
Differential Revision: https://reviews.llvm.org/D88778
Diffstat (limited to 'llvm/lib/Support/LineIterator.cpp')
0 files changed, 0 insertions, 0 deletions