diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2019-09-24 12:30:13 +0000 |
---|---|---|
committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2019-09-24 12:30:13 +0000 |
commit | 182d4874fd4d3aa4399c14d497a41909e12fb5ed (patch) | |
tree | ced084f5c4cc3c91792e37604be650134ff75469 /llvm/lib/IR/ConstantFold.cpp | |
parent | cc972981d4222c6fd926bf7b0a2688dfb55a24b8 (diff) | |
download | llvm-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.cpp | 1 |
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)) { |