diff --git a/llvm/include/llvm/Analysis/AliasSetTracker.h b/llvm/include/llvm/Analysis/AliasSetTracker.h index 179ec457abc52b..3a3c8095ad9347 100644 --- a/llvm/include/llvm/Analysis/AliasSetTracker.h +++ b/llvm/include/llvm/Analysis/AliasSetTracker.h @@ -311,7 +311,7 @@ class AliasSet : public ilist_node { /// If the specified pointer "may" (or must) alias one of the members in the /// set return the appropriate AliasResult. Otherwise return NoAlias. AliasResult aliasesPointer(const Value *Ptr, LocationSize Size, - const AAMDNodes &AAInfo, AAResults &AA) const; + const AAMDNodes &AAInfo, BatchAAResults &AA) const; bool aliasesUnknownInst(const Instruction *Inst, BatchAAResults &AA) const; }; diff --git a/llvm/lib/Analysis/AliasSetTracker.cpp b/llvm/lib/Analysis/AliasSetTracker.cpp index 232fefe474995d..b8b64d3890c4fe 100644 --- a/llvm/lib/Analysis/AliasSetTracker.cpp +++ b/llvm/lib/Analysis/AliasSetTracker.cpp @@ -189,7 +189,7 @@ void AliasSet::addUnknownInst(Instruction *I, AliasAnalysis &AA) { /// AliasResult AliasSet::aliasesPointer(const Value *Ptr, LocationSize Size, const AAMDNodes &AAInfo, - AliasAnalysis &AA) const { + BatchAAResults &AA) const { if (AliasAny) return AliasResult::MayAlias; @@ -275,11 +275,12 @@ AliasSet *AliasSetTracker::mergeAliasSetsForPointer(const Value *Ptr, bool &MustAliasAll) { AliasSet *FoundSet = nullptr; MustAliasAll = true; + BatchAAResults BatchAA(AA); for (AliasSet &AS : llvm::make_early_inc_range(*this)) { if (AS.Forward) continue; - AliasResult AR = AS.aliasesPointer(Ptr, Size, AAInfo, AA); + AliasResult AR = AS.aliasesPointer(Ptr, Size, AAInfo, BatchAA); if (AR == AliasResult::NoAlias) continue;