aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Analysis/AliasSetTracker.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Analysis/AliasSetTracker.cpp')
-rw-r--r--llvm/lib/Analysis/AliasSetTracker.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/llvm/lib/Analysis/AliasSetTracker.cpp b/llvm/lib/Analysis/AliasSetTracker.cpp
index e43416d..3814333 100644
--- a/llvm/lib/Analysis/AliasSetTracker.cpp
+++ b/llvm/lib/Analysis/AliasSetTracker.cpp
@@ -300,7 +300,7 @@ AliasSet *AliasSetTracker::mergeAliasSetsForPointer(const Value *Ptr,
const AAMDNodes &AAInfo,
bool &MustAliasAll) {
AliasSet *FoundSet = nullptr;
- AliasResult AllAR = MustAlias;
+ MustAliasAll = true;
for (AliasSet &AS : llvm::make_early_inc_range(*this)) {
if (AS.Forward)
continue;
@@ -309,8 +309,8 @@ AliasSet *AliasSetTracker::mergeAliasSetsForPointer(const Value *Ptr,
if (AR == NoAlias)
continue;
- AllAR =
- AliasResult(AllAR & AR); // Possible downgrade to May/Partial, even No
+ if (AR != MustAlias)
+ MustAliasAll = false;
if (!FoundSet) {
// If this is the first alias set ptr can go into, remember it.
@@ -321,7 +321,6 @@ AliasSet *AliasSetTracker::mergeAliasSetsForPointer(const Value *Ptr,
}
}
- MustAliasAll = (AllAR == MustAlias);
return FoundSet;
}