[PATCH] D90371: [DSE] Improve partial overlap detection

Evgeniy via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 29 01:48:17 PDT 2020


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

Currently isOverwrite returns OW_MaybePartial even for accesss known not to overlap. This is not a big problem for legacy implementation (since isPartialOverwrite follows isOverwrite and clarifies the result). Contrary SSA based version does a lot of work to later find out that accesses doesn't overlap. Besides negative impact on compile time we quickly reach MemorySSAPartialStoreLimit and miss optimization opportunities.

Note: In fact, I think it would be cleaner implementation if isOverwrite returned fully clarified result in the first place whithout need to call isPartialOverwrite. This can be done as a follow up. What do you think?


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D90371

Files:
  llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
  llvm/test/Transforms/DeadStoreElimination/MSSA/combined-partial-overwrites.ll
  llvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-overlap.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D90371.301534.patch
Type: text/x-patch
Size: 13951 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20201029/60fd61f9/attachment.bin>


More information about the llvm-commits mailing list