[PATCH] D89206: [MemCpyOpt] Add test scaffolding for MSSA based MemCpyOpt

Nikita Popov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Oct 11 08:19:10 PDT 2020


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

This adds an `-enable-memcpyopt-memoryssa` option that currently does nothing apart from requiring MSSA as a dependency. The tests are split to run both with the option disabled and enabled. I went with this rather than the separate directory DSE uses, as I found it convenient to have a direct side-by-side comparison of differences.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D89206

Files:
  llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
  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/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/vscale-memset.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D89206.297466.patch
Type: text/x-patch
Size: 33113 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20201011/e5a0d773/attachment.bin>


More information about the llvm-commits mailing list