| /src/contrib/llvm-project/llvm/lib/Transforms/InstCombine/ |
| H A D | InstCombineSelect.cpp | 1468 if (!match(Sel1, m_Select(m_Value(Cmp1), m_Value(ReplacementLow), in canonicalizeClampLike() 1604 match(&Sel, m_Select(m_Value(), m_Value(SelVal0), m_Value(SelVal1))); in tryToReuseConstantFromSelectInComparison() 1697 if (match(&SI, m_Select(m_Specific(ICI), m_APInt(C), m_BinOp(BO)))) in foldSelectInstWithICmpConst() 1699 else if (match(&SI, m_Select(m_Specific(ICI), m_BinOp(BO), m_APInt(C)))) in foldSelectInstWithICmpConst() 2118 if (!match(Limit, m_Select(m_ICmp(Pred, m_Value(Op), m_APInt(C)), in foldOverflowingAddSubSelect() 3029 m_Select(m_Value(OuterCond), in foldSelectOfSymmetricSelect() 3030 m_OneUse(m_Select(m_Value(InnerCond), m_Value(InnerTrueVal), in foldSelectOfSymmetricSelect() 3032 m_OneUse(m_Select(m_Deferred(InnerCond), in foldSelectOfSymmetricSelect() 3056 m_Select(m_Value(OuterSel.Cond), m_Value(OuterSel.TrueVal), in foldNestedSelects() 3079 m_Select(m_Value(InnerSel.Cond), m_Value(InnerSel.TrueVal), in foldNestedSelects() [all …]
|
| H A D | InstCombineMulDivRem.cpp | 105 if (match(&I, m_c_Mul(m_OneUse(m_Select(m_Value(Cond), m_One(), m_AllOnes())), in foldMulSelectToNegate() 113 if (match(&I, m_c_Mul(m_OneUse(m_Select(m_Value(Cond), m_AllOnes(), m_One())), in foldMulSelectToNegate() 122 if (match(&I, m_c_FMul(m_OneUse(m_Select(m_Value(Cond), m_SpecificFP(1.0), in foldMulSelectToNegate() 132 if (match(&I, m_c_FMul(m_OneUse(m_Select(m_Value(Cond), m_SpecificFP(-1.0), in foldMulSelectToNegate() 1186 match(Op1, m_Select(m_Value(), m_ImmConstant(), m_ImmConstant()))) { in commonIDivTransforms() 2128 match(Op1, m_Select(m_Value(), m_ImmConstant(), m_ImmConstant()))) { in commonIRemTransforms()
|
| H A D | InstCombineAddSub.cpp | 1371 if (!match(Select, m_Select(m_ICmp(Pred, m_Specific(X), m_APInt(Thr)), in canonicalizeCondSignextOfHighBitExtractToSignextHighBitExtract() 2195 m_Select(m_Value(), m_Specific(Op1), m_Specific(&I))) || in visitSub() 2196 match(UI, m_Select(m_Value(), m_Specific(&I), m_Specific(Op1))); in visitSub() 2482 if (!match(Select, m_OneUse(m_Select(m_Value(Cond), m_Value(TrueVal), in visitSub() 2771 if (match(OneUse, m_Select(m_Value(Cond), m_Value(X), m_Value(Y)))) { in visitFNeg()
|
| H A D | InstructionCombining.cpp | 1034 match(SelectOp, m_Select(m_Value(CondVal), m_Value(TrueVal), in foldBinOpOfSelectAndCastOfSelectCondition() 1285 bool LHSIsSelect = match(LHS, m_Select(m_Value(A), m_Value(B), m_Value(C))); in SimplifySelectsFeedingBinaryOp() 1286 bool RHSIsSelect = match(RHS, m_Select(m_Value(D), m_Value(E), m_Value(F))); in SimplifySelectsFeedingBinaryOp() 2328 m_Select(m_Value(Cond), m_Constant(TrueC), m_Constant(FalseC)))) in foldSelectGEP() 2598 bool IsSelect = match(V, m_Select(m_Value(Cond), m_Value(A), m_Value(B))) && in getFreelyInvertedImpl() 4645 else if (match(U, m_Select(m_Specific(&I), m_Constant(), m_Value()))) in visitFreeze()
|
| H A D | InstCombineCasts.cpp | 1828 if (match(Op, m_Select(m_Value(Cond), m_FPExt(m_Value(X)), m_Value(Y))) && in visitFPTrunc() 1835 if (match(Op, m_Select(m_Value(Cond), m_Value(Y), m_FPExt(m_Value(X)))) && in visitFPTrunc() 2446 m_OneUse(m_Select(m_Value(Cond), m_Value(TVal), m_Value(FVal))))) in foldBitCastSelect()
|
| H A D | InstCombineShifts.cpp | 860 if (match(Op0, m_Select(m_Value(Cond), m_OneUse(m_BinOp(TBO)), in FoldShiftByConstant() 877 if (match(Op0, m_Select(m_Value(Cond), m_Value(TrueVal), in FoldShiftByConstant()
|
| H A D | InstCombineCompares.cpp | 1939 if (match(X, m_Select(m_Value(A), m_APInt(TC), m_APInt(FC))) && in foldICmpAndConstant() 1941 m_Select(m_Value(B), m_SpecificInt(*TC), m_SpecificInt(*FC))) && in foldICmpAndConstant() 3182 if (!match(UnequalVal, m_Select(m_ICmp(PredB, m_Value(LHS2), m_Value(RHS2)), in matchThreeWayIntCompare() 7322 if (match(Op0, m_Select(m_Value(Cond), m_Value(SelectTrue), in visitICmpInst() 7451 if (match(Op0, m_Select(m_Value(Cond), m_Value(A), m_Value(B))) && in visitICmpInst() 7452 match(Op1, m_Select(m_Specific(Cond), m_Value(C), m_Value(D))) && in visitICmpInst() 8216 m_Select(m_Value(), m_Value(X), m_FNeg(m_Deferred(X)))) || in visitFCmpInst() 8217 match(LHSI, m_Select(m_Value(), m_FNeg(m_Value(X)), m_Deferred(X))))) in visitFCmpInst()
|
| H A D | InstCombineCalls.cpp | 1647 if (match(IIOperand, m_Select(m_Value(), m_Value(X), m_Neg(m_Deferred(X))))) in visitCallInst() 1649 if (match(IIOperand, m_Select(m_Value(), m_Neg(m_Value(X)), m_Deferred(X)))) in visitCallInst() 2571 if (match(Arg, m_Select(m_Value(Cond), m_Value(TVal), m_Value(FVal)))) { in visitCallInst() 2699 m_OneUse(m_Select(m_Value(SelectCond), m_Value(SelectLHS), in visitCallInst()
|
| H A D | InstCombineAndOrXor.cpp | 3835 match(Op0, m_Select(m_Value(X), m_Value(A), m_Value(B))) && in visitOr() 3836 match(Op1, m_Select(m_Value(Y), m_Value(C), m_Value(D))) && X == Y) { in visitOr()
|
| H A D | InstCombineVectorOps.cpp | 2438 m_OneUse(m_Select(m_Value(Cond), m_Value(X), m_Value(Y))))) in narrowVectorSelect()
|
| /src/contrib/llvm-project/llvm/lib/Analysis/ |
| H A D | IVDescriptors.cpp | 639 m_Select(m_Cmp(Pred, m_Value(), m_Value()), m_Value(), m_Value()))) in isAnyOfPattern() 680 !match(I, m_Select(m_OneUse(m_Cmp(Pred, m_Value(), m_Value())), m_Value(), in isMinMaxPattern()
|
| H A D | VectorUtils.cpp | 303 if (match(V, m_Select(m_Value(X), m_Value(Y), m_Value(Z)))) in isSplatValue()
|
| H A D | InstructionSimplify.cpp | 2156 if (match(Op1, m_Select(m_Specific(Op0), m_Value(), m_Zero()))) in simplifyAndInst() 2158 else if (match(Op0, m_Select(m_Specific(Op1), m_Value(), m_Zero()))) in simplifyAndInst() 2447 if (match(Op1, m_Select(m_Specific(Op0), m_One(), m_Value()))) in simplifyOrInst() 2449 else if (match(Op0, m_Select(m_Specific(Op1), m_One(), m_Value()))) in simplifyOrInst()
|
| H A D | ValueTracking.cpp | 8823 match(I, m_Select(m_OneUse(m_Value()), m_Value(), m_Value())); in canConvertToMinOrMaxIntrinsic()
|
| /src/contrib/llvm-project/llvm/lib/CodeGen/ |
| H A D | ComplexDeinterleavingPass.cpp | 1854 if (!match(Real, m_Select(m_Instruction(MaskA), m_Instruction(AR), in identifySelectNode() 1856 !match(Imag, m_Select(m_Instruction(MaskB), m_Instruction(AI), in identifySelectNode()
|
| H A D | CodeGenPrepare.cpp | 7060 m_OneUse(m_Select(m_Value(Cond), m_Value(TVal), m_Value(FVal))))) in optimizeShiftInst() 7095 m_OneUse(m_Select(m_Value(Cond), m_Value(TVal), m_Value(FVal))))) in optimizeFunnelShift()
|
| /src/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
| H A D | EarlyCSE.cpp | 179 if (!match(V, m_Select(m_Value(Cond), m_Value(A), m_Value(B)))) in matchSelectWithOptionalNotCond()
|
| H A D | SimpleLoopUnswitch.cpp | 180 while (match(Cond, m_Select(m_Value(CondNext), m_One(), m_Zero()))) in skipTrivialSelect()
|
| /src/contrib/llvm-project/llvm/include/llvm/IR/ |
| H A D | PatternMatch.h | 1745 m_Select(const Cond &C, const LHS &L, const RHS &R) { in m_Select() function 1755 return m_Select(C, m_ConstantInt<L>(), m_ConstantInt<R>()); in m_SelectCst()
|
| /src/contrib/llvm-project/llvm/lib/Target/RISCV/ |
| H A D | RISCVTargetTransformInfo.cpp | 1528 return match(U, m_Select(m_Specific(I), m_Value(), m_Value())) && in getCmpSelInstrCost()
|
| /src/contrib/llvm-project/llvm/lib/Transforms/Vectorize/ |
| H A D | VectorCombine.cpp | 922 if (match(U, m_Select(m_Specific(&I), m_Value(), m_Value()))) in scalarizeBinopOrCmp()
|
| H A D | SLPVectorizer.cpp | 9639 if (match(VL0, m_Select(MatchCmp, m_Value(), m_Value())) || in getEntryCost() 9652 if ((!match(VI, m_Select(MatchCmp, m_Value(), m_Value())) && in getEntryCost() 16676 return match(I, m_Select(m_Cmp(), m_Value(), m_Value())) && in isCmpSelMinMax() 18231 bool IsSelect = match(I, m_Select(m_Value(), m_Value(), m_Value())); in isReductionCandidate()
|
| /src/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
| H A D | SimplifyCFG.cpp | 3599 m_CombineOr(m_Select(m_Value(), m_ImmConstant(), m_Value()), in FoldTwoEntryPHINode() 3600 m_Select(m_Value(), m_Value(), m_ImmConstant())))); in FoldTwoEntryPHINode()
|
| H A D | SimplifyLibCalls.cpp | 321 if (match(Size, m_Select(m_Value(), m_APInt(X), m_APInt(Y)))) { in annotateNonNullAndDereferenceable()
|
| /src/contrib/llvm-project/llvm/lib/Target/AArch64/ |
| H A D | AArch64TargetTransformInfo.cpp | 3250 if (match(I, m_Select(m_Cmp(CurrentPred, m_Value(), m_Value()), m_Value(), in getCmpSelInstrCost()
|