[PATCH] D102113: [MemCpyOpt] Remove MemDepAnalysis-based implementation

Nikita Popov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat May 8 12:23:01 PDT 2021


nikic created this revision.
nikic added reviewers: asbirlea, fhahn.
Herald added subscribers: george.burgess.iv, hiraditya.
nikic requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

The MemorySSA-based implementation has been enabled for a few months (since D94376 <https://reviews.llvm.org/D94376>) without any issues that I'm aware of. 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.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D102113

Files:
  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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D102113.343860.patch
Type: text/x-patch
Size: 101937 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210508/226db48e/attachment.bin>


More information about the llvm-commits mailing list