HomePhabricator

[DSE] Improve partial overlap detection

Authored by Evgeniy Brevnov <ybrevnov@azul.com> on Oct 29 2020, 12:27 AM.

Description

[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

Details

Committed
Evgeniy Brevnov <ybrevnov@azul.com>Oct 30 2020, 8:23 AM
Reviewer
fhahn
Differential Revision
D90371: [DSE] Improve partial overlap detection
Parents
rG1eeae4310771: [SLP][X86] Extend target coverage for PR47629
Branches
Unknown
Tags
Unknown

Event Timeline

Evgeniy Brevnov <ybrevnov@azul.com> committed rG3d31adaec443: [DSE] Improve partial overlap detection (authored by Evgeniy Brevnov <ybrevnov@azul.com>).Oct 30 2020, 8:23 AM