aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Analysis/BasicAliasAnalysis.cpp
diff options
context:
space:
mode:
authorNikita Popov <npopov@redhat.com>2022-12-06 16:56:19 +0100
committerNikita Popov <npopov@redhat.com>2022-12-06 16:59:00 +0100
commitfa4b518f1d644d60a68639af77386fc925faf8d9 (patch)
tree7d6aa85a3da51ea676700a5d75be5cfdeb8de727 /llvm/lib/Analysis/BasicAliasAnalysis.cpp
parent5922a04dbd665f56de562dda0ac4a482df15fc4f (diff)
downloadllvm-fa4b518f1d644d60a68639af77386fc925faf8d9.zip
llvm-fa4b518f1d644d60a68639af77386fc925faf8d9.tar.gz
llvm-fa4b518f1d644d60a68639af77386fc925faf8d9.tar.bz2
[BasicAA] Guard against empty successors list (PR59360)
Succs can be empty here if a phi predecessor is unreachable. Fixes https://github.com/llvm/llvm-project/issues/59360
Diffstat (limited to 'llvm/lib/Analysis/BasicAliasAnalysis.cpp')
-rw-r--r--llvm/lib/Analysis/BasicAliasAnalysis.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Analysis/BasicAliasAnalysis.cpp b/llvm/lib/Analysis/BasicAliasAnalysis.cpp
index e70be0f..2b552bf 100644
--- a/llvm/lib/Analysis/BasicAliasAnalysis.cpp
+++ b/llvm/lib/Analysis/BasicAliasAnalysis.cpp
@@ -1671,7 +1671,8 @@ bool BasicAAResult::isValueEqualInPotentialCycles(const Value *V,
// block can (non-trivially) reach itself.
BasicBlock *BB = const_cast<BasicBlock *>(Inst->getParent());
SmallVector<BasicBlock *> Succs(successors(BB));
- return !isPotentiallyReachableFromMany(Succs, BB, nullptr, DT);
+ return !Succs.empty() &&
+ !isPotentiallyReachableFromMany(Succs, BB, nullptr, DT);
}
/// Computes the symbolic difference between two de-composed GEPs.