aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Analysis/AliasAnalysis.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/AliasAnalysis.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/AliasAnalysis.cpp')
-rw-r--r--llvm/lib/Analysis/AliasAnalysis.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/Analysis/AliasAnalysis.cpp b/llvm/lib/Analysis/AliasAnalysis.cpp
index efabf69..f4946c3 100644
--- a/llvm/lib/Analysis/AliasAnalysis.cpp
+++ b/llvm/lib/Analysis/AliasAnalysis.cpp
@@ -110,6 +110,9 @@ AliasResult AAResults::alias(const MemoryLocation &LocA,
AliasResult AAResults::alias(const MemoryLocation &LocA,
const MemoryLocation &LocB, AAQueryInfo &AAQI,
const Instruction *CtxI) {
+ assert(LocA.Ptr->getType()->isPointerTy() &&
+ LocB.Ptr->getType()->isPointerTy() &&
+ "Can only call alias() on pointers");
AliasResult Result = AliasResult::MayAlias;
if (EnableAATrace) {