aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Analysis/BasicAliasAnalysis.cpp
diff options
context:
space:
mode:
authorNikita Popov <npopov@redhat.com>2025-05-05 12:08:55 +0200
committerGitHub <noreply@github.com>2025-05-05 12:08:55 +0200
commit3416d4fcee01b63002b95774e9aff35a0ab8ef9e (patch)
tree449bee367d881dd47cb9cca562bf880ca11b5d91 /llvm/lib/Analysis/BasicAliasAnalysis.cpp
parent56097bce97b4f0a9717268e9ddc1bb72bc49390c (diff)
downloadllvm-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.cpp3
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);