[polly] [llvm] [AST] Don't merge memory locations in AliasSetTracker (PR #65731)
Bruno De Fraine via llvm-commits
llvm-commits at lists.llvm.org
Mon Dec 25 14:52:21 PST 2023
================
@@ -124,42 +110,20 @@ void AliasSet::removeFromTracker(AliasSetTracker &AST) {
AST.removeAliasSet(this);
}
-void AliasSet::addPointer(AliasSetTracker &AST, PointerRec &Entry,
- LocationSize Size, const AAMDNodes &AAInfo,
- bool KnownMustAlias, bool SkipSizeUpdate) {
- assert(!Entry.hasAliasSet() && "Entry already in set!");
-
+void AliasSet::addPointer(AliasSetTracker &AST, const MemoryLocation &MemLoc,
+ bool KnownMustAlias) {
// Check to see if we have to downgrade to _may_ alias.
- if (isMustAlias())
- if (PointerRec *P = getSomePointer()) {
- if (!KnownMustAlias) {
- BatchAAResults &AA = AST.getAliasAnalysis();
- AliasResult Result = AA.alias(
- MemoryLocation(P->getValue(), P->getSize(), P->getAAInfo()),
- MemoryLocation(Entry.getValue(), Size, AAInfo));
- if (Result != AliasResult::MustAlias) {
- Alias = SetMayAlias;
- AST.TotalMayAliasSetSize += size();
- }
- assert(Result != AliasResult::NoAlias && "Cannot be part of must set!");
- } else if (!SkipSizeUpdate)
- P->updateSizeAndAAInfo(Size, AAInfo);
- }
-
- Entry.setAliasSet(this);
- Entry.updateSizeAndAAInfo(Size, AAInfo);
+ if (isMustAlias() && !KnownMustAlias)
+ for (const MemoryLocation &ASMemLoc : MemoryLocs)
+ if (!AST.getAliasAnalysis().isMustAlias(ASMemLoc, MemLoc)) {
----------------
brunodf-snps wrote:
Updated in commit 5f82129f98f2.
https://github.com/llvm/llvm-project/pull/65731
More information about the llvm-commits
mailing list