[MemCpyOpt] Remove MemDepAnalysis-based implementation
authorNikita Popov <nikita.ppv@gmail.com>
Sat, 8 May 2021 18:39:54 +0000 (20:39 +0200)
committerNikita Popov <nikita.ppv@gmail.com>
Sat, 7 Aug 2021 20:35:44 +0000 (22:35 +0200)
commit88003cea1c6eb3ebcb18b4f1b9d0e2052dd76fe4
tree06e7a72db2382d1e384b03ec0eb9182ba5c7dbec
parenta382a746275b4a1eb1867331efa2319c614305d8
[MemCpyOpt] Remove MemDepAnalysis-based implementation

The MemorySSA-based implementation has been enabled for a few months
(since D94376). This patch drops the old MDA-based implementation
entirely.

I've kept this to only the basic cleanup of dropping various
conditions -- the code could be further cleaned up now that there
is only one implementation.

Differential Revision: https://reviews.llvm.org/D102113
49 files changed:
llvm/include/llvm/Transforms/Scalar/MemCpyOptimizer.h
llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
llvm/test/Analysis/BasicAA/phi-values-usage.ll
llvm/test/Transforms/MemCpyOpt/2008-02-24-MultipleUseofSRet.ll
llvm/test/Transforms/MemCpyOpt/2008-03-13-ReturnSlotBitcast.ll
llvm/test/Transforms/MemCpyOpt/2011-06-02-CallSlotOverwritten.ll
llvm/test/Transforms/MemCpyOpt/aggregate-type-crash.ll
llvm/test/Transforms/MemCpyOpt/align.ll
llvm/test/Transforms/MemCpyOpt/atomic.ll
llvm/test/Transforms/MemCpyOpt/byval-readnone.ll
llvm/test/Transforms/MemCpyOpt/callslot.ll
llvm/test/Transforms/MemCpyOpt/callslot_aa.ll
llvm/test/Transforms/MemCpyOpt/callslot_deref.ll
llvm/test/Transforms/MemCpyOpt/callslot_throw.ll
llvm/test/Transforms/MemCpyOpt/capturing-func.ll
llvm/test/Transforms/MemCpyOpt/crash.ll
llvm/test/Transforms/MemCpyOpt/fca2memcpy.ll
llvm/test/Transforms/MemCpyOpt/form-memset.ll
llvm/test/Transforms/MemCpyOpt/invariant.start.ll
llvm/test/Transforms/MemCpyOpt/lifetime.ll
llvm/test/Transforms/MemCpyOpt/load-store-to-memcpy.ll
llvm/test/Transforms/MemCpyOpt/loadstore-sret.ll
llvm/test/Transforms/MemCpyOpt/memcpy-invoke-memcpy.ll
llvm/test/Transforms/MemCpyOpt/memcpy-to-memset-with-lifetimes.ll
llvm/test/Transforms/MemCpyOpt/memcpy-to-memset.ll
llvm/test/Transforms/MemCpyOpt/memcpy-undef.ll
llvm/test/Transforms/MemCpyOpt/memcpy.ll
llvm/test/Transforms/MemCpyOpt/memmove.ll
llvm/test/Transforms/MemCpyOpt/memset-memcpy-oversized.ll
llvm/test/Transforms/MemCpyOpt/memset-memcpy-redundant-memset.ll
llvm/test/Transforms/MemCpyOpt/memset-memcpy-to-2x-memset.ll
llvm/test/Transforms/MemCpyOpt/merge-into-memset.ll
llvm/test/Transforms/MemCpyOpt/mixed-sizes.ll
llvm/test/Transforms/MemCpyOpt/non-integral.ll
llvm/test/Transforms/MemCpyOpt/nonlocal-memcpy-memcpy.ll
llvm/test/Transforms/MemCpyOpt/nontemporal.ll
llvm/test/Transforms/MemCpyOpt/pr29105.ll
llvm/test/Transforms/MemCpyOpt/pr37967.ll
llvm/test/Transforms/MemCpyOpt/process_store.ll
llvm/test/Transforms/MemCpyOpt/profitable-memset.ll
llvm/test/Transforms/MemCpyOpt/smaller.ll
llvm/test/Transforms/MemCpyOpt/sret.ll
llvm/test/Transforms/MemCpyOpt/stackrestore.ll
llvm/test/Transforms/MemCpyOpt/store-to-memset-is-nonzero-type.ll
llvm/test/Transforms/MemCpyOpt/store-to-memset.ll
llvm/test/Transforms/MemCpyOpt/variable-sized-memcpy-memcpy.ll
llvm/test/Transforms/MemCpyOpt/variable-sized-memcpy-uninit.ll
llvm/test/Transforms/MemCpyOpt/variable-sized-memset-memcpy.ll
llvm/test/Transforms/MemCpyOpt/vscale-memset.ll