diff options
author | Nikita Popov <npopov@redhat.com> | 2022-12-06 16:56:19 +0100 |
---|---|---|
committer | Nikita Popov <npopov@redhat.com> | 2022-12-06 16:59:00 +0100 |
commit | fa4b518f1d644d60a68639af77386fc925faf8d9 (patch) | |
tree | 7d6aa85a3da51ea676700a5d75be5cfdeb8de727 /llvm/lib/Analysis/BasicAliasAnalysis.cpp | |
parent | 5922a04dbd665f56de562dda0ac4a482df15fc4f (diff) | |
download | llvm-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.cpp | 3 |
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. |