[PATCH] D73763: [DSE] Lift post-dominance restriction.

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 2 05:02:55 PST 2020


fhahn updated this revision to Diff 247596.
fhahn added a comment.

Rebased, update comment.

In D73763#1899610 <https://reviews.llvm.org/D73763#1899610>, @jdoerfert wrote:

> Disclaimer: I haven't looked at the approach here.
>  Have you seen the MustBeExecutedContextExplorer and the path exploration it allows (D65593 <https://reviews.llvm.org/D65593>)?
>  Sounds like this might actually be applicable here. If the chosen approach is superior or more natural feel free to say so.


We use MemorySSA traversals here, which allows us to only check the relevant linked memory instructions, without needing to explore the CFG. I had a brief look at MustExecute and I think the MemorySSA traversal is better suited to the problem at hand, as MemorySSA directly links the 'interesting' instructions (although I might miss something about MustExecute).

Also, for a killing store, we need to find an overwriting store that must execute when the other store executes. But we also have to check for any aliasing reads that may execute in between.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D73763/new/

https://reviews.llvm.org/D73763

Files:
  llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
  llvm/test/Transforms/DeadStoreElimination/MSSA/memset-missing-debugloc.ll
  llvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-malloc-free.ll
  llvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-multipath.ll
  llvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-overlap.ll
  llvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-simple.ll
  llvm/test/Transforms/DeadStoreElimination/MSSA/simple.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D73763.247596.patch
Type: text/x-patch
Size: 18043 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200302/09e9e187/attachment.bin>


More information about the llvm-commits mailing list