diff --git a/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp b/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp index 3f4c7da39138..f97c31eacf21 100644 --- a/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp +++ b/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp @@ -1133,29 +1133,24 @@ Instruction *InstCombiner::visitSelectInst(SelectInst &SI) { if (Instruction *IV = FoldSelectOpOp(SI, TI, FI)) return IV; - // (select C, (sext X), const) -> (sext (select C, X, const')) and - // variations thereof when extending from i1, as that allows further folding - // into logic ops. When the sext is from a larger type, we prefer to have it - // as an operand. - if (TI && - (TI->getOpcode() == Instruction::ZExt || TI->getOpcode() == Instruction::SExt)) { + // (select C, (ext X), const) -> (ext (select C, X, const')) and variations + // thereof when extending from i1, as that allows further folding into logic + // ops. When the sext is from a larger type, prefer to have it as an operand. + if (TI && (TI->getOpcode() == Instruction::ZExt || + TI->getOpcode() == Instruction::SExt)) { bool IsSExt = TI->getOpcode() == Instruction::SExt; const APInt *C; - if (match(FalseVal, m_APInt(C))) { - if (Instruction *IV = - foldSelectExtConst(*Builder, SI, TI, *C, true, IsSExt)) - return IV; - } + if (match(FalseVal, m_APInt(C))) + if (auto *I = foldSelectExtConst(*Builder, SI, TI, *C, true, IsSExt)) + return I; } - if (FI && - (FI->getOpcode() == Instruction::ZExt || FI->getOpcode() == Instruction::SExt)) { + if (FI && (FI->getOpcode() == Instruction::ZExt || + FI->getOpcode() == Instruction::SExt)) { bool IsSExt = FI->getOpcode() == Instruction::SExt; const APInt *C; - if (match(TrueVal, m_APInt(C))) { - if (Instruction *IV = - foldSelectExtConst(*Builder, SI, FI, *C, false, IsSExt)) - return IV; - } + if (match(TrueVal, m_APInt(C))) + if (auto *I = foldSelectExtConst(*Builder, SI, FI, *C, false, IsSExt)) + return I; } // See if we can fold the select into one of our operands. @@ -1293,7 +1288,7 @@ Instruction *InstCombiner::visitSelectInst(SelectInst &SI) { return &SI; } - if (VectorType* VecTy = dyn_cast(SelType)) { + if (VectorType *VecTy = dyn_cast(SelType)) { unsigned VWidth = VecTy->getNumElements(); APInt UndefElts(VWidth, 0); APInt AllOnesEltMask(APInt::getAllOnesValue(VWidth));