[all-commits] [llvm/llvm-project] 176bbc: [DSE] Remove MemDep-based implementation

Nikita Popov via All-commits all-commits at lists.llvm.org
Sun Mar 7 09:17:49 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 176bbcae1113fbb4f34d2b79eab35b086a9f2a8e
      https://github.com/llvm/llvm-project/commit/176bbcae1113fbb4f34d2b79eab35b086a9f2a8e
  Author: Nikita Popov <nikita.ppv at gmail.com>
  Date:   2021-03-07 (Sun, 07 Mar 2021)

  Changed paths:
    M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
    A llvm/test/Transforms/DeadStoreElimination/2011-03-25-DSEMiscompile.ll
    A llvm/test/Transforms/DeadStoreElimination/2011-09-06-EndOfFunction.ll
    A llvm/test/Transforms/DeadStoreElimination/2011-09-06-MemCpy.ll
    A llvm/test/Transforms/DeadStoreElimination/2016-07-17-UseAfterFree.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/2011-03-25-DSEMiscompile.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/2011-09-06-EndOfFunction.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/2011-09-06-MemCpy.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/2016-07-17-UseAfterFree.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/OverwriteStoreBegin.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/OverwriteStoreEnd.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/PartialStore.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/PartialStore2.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/X86/gather-null-pointer.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/atomic-overlapping.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/atomic-todo.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/atomic.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/calloc-store.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/combined-partial-overwrites.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/const-pointers.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/crash.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/cs-cs-aliasing.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/debug-counter.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/debuginfo.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/dominate.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/fence-todo.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/fence.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/free.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/inst-limits.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/int_sideeffect.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/invariant.start.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/launder.invariant.group.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/libcalls.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/lifetime.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/loop-invariant-entry-block.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/mda-with-dbg-values.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/memcpy-complete-overwrite.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/memcpy-lifetimes.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/memintrinsics.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/memoryssa-scan-limit.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/memset-and-memcpy.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/memset-missing-debugloc.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/memset-unknown-sizes.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/merge-stores-big-endian.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/merge-stores.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-captures.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-exceptions.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-loop-carried-dependence.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-loops.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-malloc-free.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-memintrinsics.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-memoryphis.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-multipath-throwing.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-multipath.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-overlap.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-partial.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-simple.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-throwing.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-unreachable.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/no-targetdata.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/noop-stores.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/operand-bundles.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/out-of-bounds-stores.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/overlap.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/pr11390.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/pr47285-not-overwritten-on-all-exit-paths.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/read-clobber-after-overwrite.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/scoped-noalias.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/simple-preservation.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/simple.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/stats.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/stores-of-existing-values.ll
    R llvm/test/Transforms/DeadStoreElimination/MSSA/tail-byval.ll
    R llvm/test/Transforms/DeadStoreElimination/MemDepAnalysis/2011-03-25-DSEMiscompile.ll
    R llvm/test/Transforms/DeadStoreElimination/MemDepAnalysis/2011-09-06-EndOfFunction.ll
    R llvm/test/Transforms/DeadStoreElimination/MemDepAnalysis/2011-09-06-MemCpy.ll
    R llvm/test/Transforms/DeadStoreElimination/MemDepAnalysis/2016-07-17-UseAfterFree.ll
    R llvm/test/Transforms/DeadStoreElimination/MemDepAnalysis/DeleteThrowableInst.ll
    R llvm/test/Transforms/DeadStoreElimination/MemDepAnalysis/OverwriteStoreBegin.ll
    R llvm/test/Transforms/DeadStoreElimination/MemDepAnalysis/OverwriteStoreEnd.ll
    R llvm/test/Transforms/DeadStoreElimination/MemDepAnalysis/PartialStore.ll
    R llvm/test/Transforms/DeadStoreElimination/MemDepAnalysis/PartialStore2.ll
    R llvm/test/Transforms/DeadStoreElimination/MemDepAnalysis/X86/gather-null-pointer.ll
    R llvm/test/Transforms/DeadStoreElimination/MemDepAnalysis/atomic.ll
    R llvm/test/Transforms/DeadStoreElimination/MemDepAnalysis/calloc-store.ll
    R llvm/test/Transforms/DeadStoreElimination/MemDepAnalysis/combined-partial-overwrites.ll
    R llvm/test/Transforms/DeadStoreElimination/MemDepAnalysis/const-pointers.ll
    R llvm/test/Transforms/DeadStoreElimination/MemDepAnalysis/crash.ll
    R llvm/test/Transforms/DeadStoreElimination/MemDepAnalysis/cs-cs-aliasing.ll
    R llvm/test/Transforms/DeadStoreElimination/MemDepAnalysis/debuginfo.ll
    R llvm/test/Transforms/DeadStoreElimination/MemDepAnalysis/dominate.ll
    R llvm/test/Transforms/DeadStoreElimination/MemDepAnalysis/fence.ll
    R llvm/test/Transforms/DeadStoreElimination/MemDepAnalysis/free.ll
    R llvm/test/Transforms/DeadStoreElimination/MemDepAnalysis/inst-limits.ll
    R llvm/test/Transforms/DeadStoreElimination/MemDepAnalysis/int_sideeffect.ll
    R llvm/test/Transforms/DeadStoreElimination/MemDepAnalysis/invariant.start.ll
    R llvm/test/Transforms/DeadStoreElimination/MemDepAnalysis/launder.invariant.group.ll
    R llvm/test/Transforms/DeadStoreElimination/MemDepAnalysis/libcalls.ll
    R llvm/test/Transforms/DeadStoreElimination/MemDepAnalysis/libcalls2.ll
    R llvm/test/Transforms/DeadStoreElimination/MemDepAnalysis/lifetime.ll
    R llvm/test/Transforms/DeadStoreElimination/MemDepAnalysis/mda-with-dbg-values.ll
    R llvm/test/Transforms/DeadStoreElimination/MemDepAnalysis/memintrinsics.ll
    R llvm/test/Transforms/DeadStoreElimination/MemDepAnalysis/memset-missing-debugloc.ll
    R llvm/test/Transforms/DeadStoreElimination/MemDepAnalysis/merge-stores-big-endian.ll
    R llvm/test/Transforms/DeadStoreElimination/MemDepAnalysis/merge-stores.ll
    R llvm/test/Transforms/DeadStoreElimination/MemDepAnalysis/no-targetdata.ll
    R llvm/test/Transforms/DeadStoreElimination/MemDepAnalysis/operand-bundles.ll
    R llvm/test/Transforms/DeadStoreElimination/MemDepAnalysis/pr11390.ll
    R llvm/test/Transforms/DeadStoreElimination/MemDepAnalysis/simple.ll
    R llvm/test/Transforms/DeadStoreElimination/MemDepAnalysis/tail-byval.ll
    A llvm/test/Transforms/DeadStoreElimination/OverwriteStoreBegin.ll
    A llvm/test/Transforms/DeadStoreElimination/OverwriteStoreEnd.ll
    A llvm/test/Transforms/DeadStoreElimination/PartialStore.ll
    A llvm/test/Transforms/DeadStoreElimination/PartialStore2.ll
    A llvm/test/Transforms/DeadStoreElimination/X86/gather-null-pointer.ll
    A llvm/test/Transforms/DeadStoreElimination/atomic-overlapping.ll
    A llvm/test/Transforms/DeadStoreElimination/atomic-todo.ll
    A llvm/test/Transforms/DeadStoreElimination/atomic.ll
    A llvm/test/Transforms/DeadStoreElimination/calloc-store.ll
    A llvm/test/Transforms/DeadStoreElimination/combined-partial-overwrites.ll
    A llvm/test/Transforms/DeadStoreElimination/const-pointers.ll
    A llvm/test/Transforms/DeadStoreElimination/crash.ll
    A llvm/test/Transforms/DeadStoreElimination/cs-cs-aliasing.ll
    A llvm/test/Transforms/DeadStoreElimination/debug-counter.ll
    A llvm/test/Transforms/DeadStoreElimination/debuginfo.ll
    A llvm/test/Transforms/DeadStoreElimination/dominate.ll
    A llvm/test/Transforms/DeadStoreElimination/fence-todo.ll
    A llvm/test/Transforms/DeadStoreElimination/fence.ll
    A llvm/test/Transforms/DeadStoreElimination/free.ll
    A llvm/test/Transforms/DeadStoreElimination/inst-limits.ll
    A llvm/test/Transforms/DeadStoreElimination/int_sideeffect.ll
    A llvm/test/Transforms/DeadStoreElimination/invariant.start.ll
    A llvm/test/Transforms/DeadStoreElimination/launder.invariant.group.ll
    A llvm/test/Transforms/DeadStoreElimination/libcalls.ll
    A llvm/test/Transforms/DeadStoreElimination/lifetime.ll
    A llvm/test/Transforms/DeadStoreElimination/loop-invariant-entry-block.ll
    M llvm/test/Transforms/DeadStoreElimination/masked-dead-store-inseltpoison.ll
    M llvm/test/Transforms/DeadStoreElimination/masked-dead-store.ll
    A llvm/test/Transforms/DeadStoreElimination/mda-with-dbg-values.ll
    A llvm/test/Transforms/DeadStoreElimination/memcpy-complete-overwrite.ll
    A llvm/test/Transforms/DeadStoreElimination/memcpy-lifetimes.ll
    A llvm/test/Transforms/DeadStoreElimination/memintrinsics.ll
    A llvm/test/Transforms/DeadStoreElimination/memoryssa-scan-limit.ll
    A llvm/test/Transforms/DeadStoreElimination/memset-and-memcpy.ll
    A llvm/test/Transforms/DeadStoreElimination/memset-missing-debugloc.ll
    A llvm/test/Transforms/DeadStoreElimination/memset-unknown-sizes.ll
    A llvm/test/Transforms/DeadStoreElimination/merge-stores-big-endian.ll
    A llvm/test/Transforms/DeadStoreElimination/merge-stores.ll
    A llvm/test/Transforms/DeadStoreElimination/multiblock-captures.ll
    A llvm/test/Transforms/DeadStoreElimination/multiblock-exceptions.ll
    A llvm/test/Transforms/DeadStoreElimination/multiblock-loop-carried-dependence.ll
    A llvm/test/Transforms/DeadStoreElimination/multiblock-loops.ll
    A llvm/test/Transforms/DeadStoreElimination/multiblock-malloc-free.ll
    A llvm/test/Transforms/DeadStoreElimination/multiblock-memintrinsics.ll
    A llvm/test/Transforms/DeadStoreElimination/multiblock-memoryphis.ll
    A llvm/test/Transforms/DeadStoreElimination/multiblock-multipath-throwing.ll
    A llvm/test/Transforms/DeadStoreElimination/multiblock-multipath.ll
    A llvm/test/Transforms/DeadStoreElimination/multiblock-overlap.ll
    A llvm/test/Transforms/DeadStoreElimination/multiblock-partial.ll
    A llvm/test/Transforms/DeadStoreElimination/multiblock-simple.ll
    A llvm/test/Transforms/DeadStoreElimination/multiblock-throwing.ll
    A llvm/test/Transforms/DeadStoreElimination/multiblock-unreachable.ll
    A llvm/test/Transforms/DeadStoreElimination/no-targetdata.ll
    A llvm/test/Transforms/DeadStoreElimination/noop-stores.ll
    A llvm/test/Transforms/DeadStoreElimination/operand-bundles.ll
    A llvm/test/Transforms/DeadStoreElimination/out-of-bounds-stores.ll
    A llvm/test/Transforms/DeadStoreElimination/overlap.ll
    A llvm/test/Transforms/DeadStoreElimination/pr11390.ll
    A llvm/test/Transforms/DeadStoreElimination/pr47285-not-overwritten-on-all-exit-paths.ll
    A llvm/test/Transforms/DeadStoreElimination/read-clobber-after-overwrite.ll
    A llvm/test/Transforms/DeadStoreElimination/scoped-noalias.ll
    A llvm/test/Transforms/DeadStoreElimination/simple-preservation.ll
    A llvm/test/Transforms/DeadStoreElimination/simple.ll
    A llvm/test/Transforms/DeadStoreElimination/stats.ll
    A llvm/test/Transforms/DeadStoreElimination/stores-of-existing-values.ll
    A llvm/test/Transforms/DeadStoreElimination/tail-byval.ll

  Log Message:
  -----------
  [DSE] Remove MemDep-based implementation

The MemorySSA-based implementation has been enabled without issue
for a while now, so keeping the old implementation around doesn't
seem useful anymore. This drops the MemDep-based implementation.

Differential Revision: https://reviews.llvm.org/D97877




More information about the All-commits mailing list