diff options
author | Nikita Popov <npopov@redhat.com> | 2025-05-05 12:08:55 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-05-05 12:08:55 +0200 |
commit | 3416d4fcee01b63002b95774e9aff35a0ab8ef9e (patch) | |
tree | 449bee367d881dd47cb9cca562bf880ca11b5d91 /llvm/lib/Analysis/BasicAliasAnalysis.cpp | |
parent | 56097bce97b4f0a9717268e9ddc1bb72bc49390c (diff) | |
download | llvm-3416d4fcee01b63002b95774e9aff35a0ab8ef9e.zip llvm-3416d4fcee01b63002b95774e9aff35a0ab8ef9e.tar.gz llvm-3416d4fcee01b63002b95774e9aff35a0ab8ef9e.tar.bz2 |
[AA] Assert that alias() arguments are pointers (#138242)
Assert instead of returning NoAlias for non-pointers. This makes sure
that people don't confuse alias (working on locations) with
getModRefInfo (working on instructions).
Diffstat (limited to 'llvm/lib/Analysis/BasicAliasAnalysis.cpp')
-rw-r--r-- | llvm/lib/Analysis/BasicAliasAnalysis.cpp | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/llvm/lib/Analysis/BasicAliasAnalysis.cpp b/llvm/lib/Analysis/BasicAliasAnalysis.cpp index a46edc0..2de9bb5 100644 --- a/llvm/lib/Analysis/BasicAliasAnalysis.cpp +++ b/llvm/lib/Analysis/BasicAliasAnalysis.cpp @@ -1574,9 +1574,6 @@ AliasResult BasicAAResult::aliasCheck(const Value *V1, LocationSize V1Size, if (isValueEqualInPotentialCycles(V1, V2, AAQI)) return AliasResult::MustAlias; - if (!V1->getType()->isPointerTy() || !V2->getType()->isPointerTy()) - return AliasResult::NoAlias; // Scalars cannot alias each other - // Figure out what objects these things are pointing to if we can. const Value *O1 = getUnderlyingObject(V1, MaxLookupSearchDepth); const Value *O2 = getUnderlyingObject(V2, MaxLookupSearchDepth); |