Lines Matching refs:SelectInst
60 static Instruction *foldSelectBinOpIdentity(SelectInst &Sel, in foldSelectBinOpIdentity()
125 static Value *foldSelectICmpAnd(SelectInst &Sel, ICmpInst *Cmp, in foldSelectICmpAnd()
264 Instruction *InstCombinerImpl::foldSelectOpOp(SelectInst &SI, Instruction *TI, in foldSelectOpOp()
431 Instruction *InstCombinerImpl::foldSelectIntoOp(SelectInst &SI, Value *TrueVal, in foldSelectIntoOp()
688 static Instruction *foldSetClearBits(SelectInst &Sel, in foldSetClearBits()
945 static bool adjustMinMax(SelectInst &Sel, ICmpInst &Cmp) { in adjustMinMax()
1041 static Instruction *canonicalizeMinMaxWithConstant(SelectInst &Sel, in canonicalizeMinMaxWithConstant()
1080 static Instruction *canonicalizeAbsNabs(SelectInst &Sel, ICmpInst &Cmp, in canonicalizeAbsNabs()
1121 Instruction *InstCombinerImpl::foldSelectValueEquivalence(SelectInst &Sel, in foldSelectValueEquivalence()
1232 static Instruction *canonicalizeClampLike(SelectInst &Sel0, ICmpInst &Cmp0, in canonicalizeClampLike()
1356 SelectInst::Create(ShouldReplaceHigh, ReplacementHigh, MaybeReplacedLow); in canonicalizeClampLike()
1370 tryToReuseConstantFromSelectInComparison(SelectInst &Sel, ICmpInst &Cmp, in tryToReuseConstantFromSelectInComparison()
1438 Instruction *InstCombinerImpl::foldSelectInstWithICmp(SelectInst &SI, in foldSelectInstWithICmp()
1564 const SelectInst &SI) { in canSelectOperandBeMappingIntoPredBlock()
1661 SelectInst *SI = cast<SelectInst>(Inner); in foldSPFofSPF()
1720 static Instruction *foldAddSubSelect(SelectInst &SI, in foldAddSubSelect()
1796 foldOverflowingAddSubSelect(SelectInst &SI, InstCombiner::BuilderTy &Builder) { in foldOverflowingAddSubSelect()
1912 Instruction *InstCombinerImpl::foldSelectExtConst(SelectInst &Sel) { in foldSelectExtConst()
1961 return SelectInst::Create(Cond, AllOnesOrOne, C, "", nullptr, &Sel); in foldSelectExtConst()
1966 return SelectInst::Create(Cond, C, Zero, "", nullptr, &Sel); in foldSelectExtConst()
1975 static Instruction *canonicalizeSelectToShuffle(SelectInst &SI) { in canonicalizeSelectToShuffle()
2014 static Instruction *canonicalizeScalarSelectOfVecs(SelectInst &Sel, in canonicalizeScalarSelectOfVecs()
2035 static Instruction *foldSelectCmpBitcasts(SelectInst &Sel, in foldSelectCmpBitcasts()
2102 static Value *foldSelectCmpXchg(SelectInst &SI) { in foldSelectCmpXchg()
2119 if (auto *Select = dyn_cast<SelectInst>(SI.user_back())) in foldSelectCmpXchg()
2185 Instruction *InstCombinerImpl::matchSAddSubSat(SelectInst &MinMax1) { in matchSAddSubSat()
2303 return SelectInst::Create(CmpABC, MinMaxOp, ThirdOp); in factorizeMinMaxTree()
2314 static Instruction *foldSelectFunnelShift(SelectInst &Sel, in foldSelectFunnelShift()
2385 static Instruction *foldSelectToCopysign(SelectInst &Sel, in foldSelectToCopysign()
2428 Instruction *InstCombinerImpl::foldVectorSelect(SelectInst &Sel) { in foldVectorSelect()
2482 static Instruction *foldSelectToPhiImpl(SelectInst &Sel, BasicBlock *BB, in foldSelectToPhiImpl()
2543 static Instruction *foldSelectToPhi(SelectInst &Sel, const DominatorTree &DT, in foldSelectToPhi()
2558 static Value *foldSelectWithFrozenICmp(SelectInst &Sel, InstCombiner::BuilderTy &Builder) { in foldSelectWithFrozenICmp()
2585 SelectInst &SI, in foldAndOrOfSelectUsingImpliedCond()
2606 return SelectInst::Create(Op, A, Zero); in foldAndOrOfSelectUsingImpliedCond()
2611 return SelectInst::Create(Op, One, A); in foldAndOrOfSelectUsingImpliedCond()
2617 return SelectInst::Create(Op, B, Zero); in foldAndOrOfSelectUsingImpliedCond()
2622 return SelectInst::Create(Op, One, B); in foldAndOrOfSelectUsingImpliedCond()
2626 Instruction *InstCombinerImpl::visitSelectInst(SelectInst &SI) { in visitSelectInst()
2685 return SelectInst::Create(NotCond, FalseVal, Zero); in visitSelectInst()
2690 return SelectInst::Create(NotCond, One, TrueVal); in visitSelectInst()
2702 return SelectInst::Create(TrueVal, FalseVal, Zero); in visitSelectInst()
2705 return SelectInst::Create(FalseVal, One, TrueVal); in visitSelectInst()
2752 if (auto *Op1SI = dyn_cast<SelectInst>(Op1)) in visitSelectInst()
2802 return SelectInst::Create(C1, A, B); in visitSelectInst()
2804 return SelectInst::Create(C2, B, A); in visitSelectInst()
3030 cast<SelectInst>(NewMinMax)->setMetadata(LLVMContext::MD_prof, MD); in visitSelectInst()
3033 cast<SelectInst>(NewMinMax)->swapProfMetadata(); in visitSelectInst()
3078 if (SelectInst *TrueSI = dyn_cast<SelectInst>(TrueVal)) { in visitSelectInst()
3098 if (SelectInst *FalseSI = dyn_cast<SelectInst>(FalseVal)) { in visitSelectInst()
3135 if (auto *TrueBOSI = dyn_cast<SelectInst>(TrueBO->getOperand(0))) { in visitSelectInst()
3142 if (auto *TrueBOSI = dyn_cast<SelectInst>(TrueBO->getOperand(1))) { in visitSelectInst()
3155 if (auto *FalseBOSI = dyn_cast<SelectInst>(FalseBO->getOperand(0))) { in visitSelectInst()
3162 if (auto *FalseBOSI = dyn_cast<SelectInst>(FalseBO->getOperand(1))) { in visitSelectInst()