[PATCH] D43425: [DSE] Don't DSE stores that subsequent memmove calls read from

Sanjoy Das via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 20 13:34:53 PST 2018


sanjoy added a comment.

Reverted back to a more conservative memcpy handling.



================
Comment at: lib/Transforms/Scalar/DeadStoreElimination.cpp:524
                                const MemoryLocation &InstStoreLoc,
                                Instruction *DepWrite,
                                const TargetLibraryInfo &TLI,
----------------
rsmith wrote:
> Remove unused parameter `DepWrite`?
Not relevant anymore since in this version of the patch I use `DepWrite`.


================
Comment at: test/Transforms/DeadStoreElimination/simple.ll:261
+; locations without invoking undefined behavior.
+
 ; CHECK-LABEL: @test18(
----------------
efriedma wrote:
> See https://bugs.llvm.org/show_bug.cgi?id=11763 .
Wow, that's a huge omission from the langref (which specifically says that the source and destination cannot overlap).

Given that, the previous code makes more sense to me that it did initially.


Repository:
  rL LLVM

https://reviews.llvm.org/D43425





More information about the llvm-commits mailing list