aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/IR/ConstantFold.cpp
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2019-09-24 12:30:13 +0000
committerSimon Pilgrim <llvm-dev@redking.me.uk>2019-09-24 12:30:13 +0000
commit182d4874fd4d3aa4399c14d497a41909e12fb5ed (patch)
treeced084f5c4cc3c91792e37604be650134ff75469 /llvm/lib/IR/ConstantFold.cpp
parentcc972981d4222c6fd926bf7b0a2688dfb55a24b8 (diff)
downloadllvm-182d4874fd4d3aa4399c14d497a41909e12fb5ed.zip
llvm-182d4874fd4d3aa4399c14d497a41909e12fb5ed.tar.gz
llvm-182d4874fd4d3aa4399c14d497a41909e12fb5ed.tar.bz2
ConstantFold - silence static analyzer dyn_cast<> null dereference warning. NFCI.
Early out if the vector element is not Constant. llvm-svn: 372743
Diffstat (limited to 'llvm/lib/IR/ConstantFold.cpp')
-rw-r--r--llvm/lib/IR/ConstantFold.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/IR/ConstantFold.cpp b/llvm/lib/IR/ConstantFold.cpp
index 835fbb34..ee0ad32 100644
--- a/llvm/lib/IR/ConstantFold.cpp
+++ b/llvm/lib/IR/ConstantFold.cpp
@@ -747,6 +747,7 @@ Constant *llvm::ConstantFoldSelectInstruction(Constant *Cond,
Constant *V2Element = ConstantExpr::getExtractElement(V2,
ConstantInt::get(Ty, i));
Constant *Cond = dyn_cast<Constant>(CondV->getOperand(i));
+ if (!Cond) break;
if (V1Element == V2Element) {
V = V1Element;
} else if (isa<UndefValue>(Cond)) {