From d71315f2ae8a14ca4b55f316ab00faf56c4f6208 Mon Sep 17 00:00:00 2001 From: Simon Pilgrim Date: Tue, 1 Oct 2019 10:22:01 +0000 Subject: [PATCH] ConstantFold - ConstantFoldSelectInstruction - assume constant vector elements are constant. NFCI. Goes a bit further than rL372743 which added the early out - elements should be Constant so use cast instead (and rely on the assert if anything fails). llvm-svn: 373321 --- llvm/lib/IR/ConstantFold.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/llvm/lib/IR/ConstantFold.cpp b/llvm/lib/IR/ConstantFold.cpp index ee0ad32..54814bb 100644 --- a/llvm/lib/IR/ConstantFold.cpp +++ b/llvm/lib/IR/ConstantFold.cpp @@ -746,8 +746,7 @@ Constant *llvm::ConstantFoldSelectInstruction(Constant *Cond, ConstantInt::get(Ty, i)); Constant *V2Element = ConstantExpr::getExtractElement(V2, ConstantInt::get(Ty, i)); - Constant *Cond = dyn_cast(CondV->getOperand(i)); - if (!Cond) break; + auto *Cond = cast(CondV->getOperand(i)); if (V1Element == V2Element) { V = V1Element; } else if (isa(Cond)) { -- 2.7.4