[all-commits] [llvm/llvm-project] 3d31ad: [DSE] Improve partial overlap detection
ebrevnov via All-commits
all-commits at lists.llvm.org
Fri Oct 30 08:23:49 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 3d31adaec443daee75c62823082fa2912bbd267e
https://github.com/llvm/llvm-project/commit/3d31adaec443daee75c62823082fa2912bbd267e
Author: Evgeniy Brevnov <ybrevnov at azul.com>
Date: 2020-10-30 (Fri, 30 Oct 2020)
Changed paths:
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/test/Transforms/DeadStoreElimination/MSSA/combined-partial-overwrites.ll
M llvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-overlap.ll
Log Message:
-----------
[DSE] Improve partial overlap detection
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 don'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?
Reviewed By: fhahn, asbirlea
Differential Revision: https://reviews.llvm.org/D90371
More information about the All-commits
mailing list