[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
Fri Feb 16 17:15:58 PST 2018


sanjoy created this revision.
sanjoy added a reviewer: rsmith.
Herald added subscribers: jlebar, mcrosier.

We used to remove the first memmove in cases like this:

  memmove(p, p+2, 8);
  memmove(p, p+2, 8);

which is incorrect.  Fix this by changing isPossibleSelfRead to what was most
likely the intended behavior.

Historical note: the buggy code was added in https://reviews.llvm.org/rL120974
to address PR8728.


Repository:
  rL LLVM

https://reviews.llvm.org/D43425

Files:
  lib/Transforms/Scalar/DeadStoreElimination.cpp
  test/Transforms/DeadStoreElimination/simple.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D43425.134777.patch
Type: text/x-patch
Size: 4954 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180217/952a058c/attachment.bin>


More information about the llvm-commits mailing list