Lines Matching refs:m_Value

765   if (match(RHS, m_Add(m_Value(X), m_One())))  in checkForNegativeOperand()
768 if (match(LHS, m_Add(m_Value(X), m_One()))) { in checkForNegativeOperand()
770 if (match(RHS, m_Xor(m_Value(Y), m_APInt(C1)))) in checkForNegativeOperand()
773 if (match(X, m_Xor(m_Value(Y), m_APInt(C1)))) { in checkForNegativeOperand()
776 if (match(Y, m_Or(m_Value(Z), m_APInt(C2))) && (*C2 == ~(*C1))) { in checkForNegativeOperand()
779 } else if (match(Y, m_And(m_Value(Z), m_APInt(C2))) && (*C1 == *C2)) { in checkForNegativeOperand()
793 if (match(RHS, m_Xor(m_Value(Y), m_APInt(C1)))) in checkForNegativeOperand()
799 if (match(LHS, m_Xor(m_Value(Y), m_APInt(C1)))) in checkForNegativeOperand()
801 if (match(Y, m_And(m_Value(Z), m_APInt(C2))) && *C1 == (*C2 + 1)) { in checkForNegativeOperand()
822 match(Op0, m_OneUse(m_ZExt(m_NUWAdd(m_Value(X), m_APInt(C2))))) && in foldNoWrapAdd()
832 if (match(Op0, m_OneUse(m_SExt(m_NSWAdd(m_Value(X), m_Constant(NarrowC)))))) { in foldNoWrapAdd()
839 if (match(Op0, m_OneUse(m_ZExt(m_NUWAdd(m_Value(X), m_Constant(NarrowC)))))) { in foldNoWrapAdd()
863 if (match(Op0, m_Sub(m_Constant(Op00C), m_Value(X)))) in foldAddWithConstant()
869 if (match(Op0, m_OneUse(m_Sub(m_Value(X), m_Value(Y)))) && in foldAddWithConstant()
874 if (match(Op0, m_ZExt(m_Value(X))) && in foldAddWithConstant()
878 if (match(Op0, m_SExt(m_Value(X))) && in foldAddWithConstant()
883 if (match(Op0, m_Not(m_Value(X)))) { in foldAddWithConstant()
896 if (match(Op0, m_OneUse(m_AShr(m_Value(X), in foldAddWithConstant()
906 if (match(Op0, m_DisjointOr(m_Value(X), m_ImmConstant(Op01C)))) in foldAddWithConstant()
911 if (match(Op0, m_Or(m_Value(), m_APInt(C2))) && *C2 == -*C) in foldAddWithConstant()
927 if (match(Op0, m_ZExt(m_Xor(m_Value(X), m_APInt(C2)))) && in foldAddWithConstant()
931 if (match(Op0, m_Xor(m_Value(X), m_APInt(C2)))) { in foldAddWithConstant()
970 if (match(Op0, m_SExt(m_Value(X))) && in foldAddWithConstant()
977 if (match(Op0, m_AShr(m_Shl(m_Value(X), m_APInt(C2)), m_APInt(C3))) && in foldAddWithConstant()
987 if (match(Op0, m_ZExt(m_Add(m_Value(X), m_AllOnes())))) { in foldAddWithConstant()
1014 AddOp, m_OneUse(m_BinOp(MulOp, m_Value(A), m_Deferred(A))), in matchesSquareSum()
1018 m_Value(B)), in matchesSquareSum()
1030 Mul2Op, m_BinOp(MulOp, m_Value(A), m_Value(B)), M2Rhs)), in matchesSquareSum()
1031 m_OneUse(m_BinOp(MulOp, m_BinOp(Mul2Op, m_Value(A), M2Rhs), in matchesSquareSum()
1032 m_Value(B)))), in matchesSquareSum()
1065 if (match(E, m_Mul(m_Value(Op), m_APInt(AI)))) { in MatchMul()
1069 if (match(E, m_Shl(m_Value(Op), m_APInt(AI)))) { in MatchMul()
1084 if (match(E, m_SRem(m_Value(Op), m_APInt(AI)))) { in MatchRem()
1089 if (match(E, m_URem(m_Value(Op), m_APInt(AI)))) { in MatchRem()
1093 if (match(E, m_And(m_Value(Op), m_APInt(AI))) && (*AI + 1).isPowerOf2()) { in MatchRem()
1105 if (IsSigned && match(E, m_SDiv(m_Value(Op), m_APInt(AI)))) { in MatchDiv()
1110 if (match(E, m_UDiv(m_Value(Op), m_APInt(AI)))) { in MatchDiv()
1114 if (match(E, m_LShr(m_Value(Op), m_APInt(AI)))) { in MatchDiv()
1174 if (!match(&I, m_Add(m_OneUse(m_Shl(m_One(), m_Value(NBits))), m_AllOnes()))) in canonicalizeLowbitMask()
1198 if (match(&I, m_c_Add(m_c_UMin(m_Value(X), m_Not(m_Value(Y))), in foldToUnsignedSaturatedAdd()
1204 if (match(&I, m_Add(m_UMin(m_Value(X), m_APInt(NotC)), m_APInt(C))) && in foldToUnsignedSaturatedAdd()
1218 m_c_Add(m_OneUse(m_Shl(m_OneUse(m_Neg(m_Value(B))), m_Value(Cnt))), in combineAddSubWithShlAddSub()
1219 m_Value(A)))) { in combineAddSubWithShlAddSub()
1231 if (!match(Add.getOperand(0), m_SDiv(m_Value(X), m_Power2(DivC))) || in foldAddToAshr()
1278 m_LShr(m_Value(X), m_Instruction(LowBitsToSkip)), in canonicalizeCondSignextOfHighBitExtractToSignextHighBitExtract()
1280 m_Value(Select)))) in canonicalizeCondSignextOfHighBitExtractToSignextHighBitExtract()
1292 if (HadTrunc && !match(&I, m_c_BinOp(m_OneUse(m_Value()), m_Value()))) in canonicalizeCondSignextOfHighBitExtractToSignextHighBitExtract()
1303 m_ZExtOrSelf(m_Sub(m_Constant(C), m_ZExtOrSelf(m_Value(NBits))))) || in canonicalizeCondSignextOfHighBitExtractToSignextHighBitExtract()
1313 match(V, m_ZExtOrSelf(m_Value(V))); in canonicalizeCondSignextOfHighBitExtractToSignextHighBitExtract()
1315 match(V, m_SExtOrSelf(m_Value(V))); in canonicalizeCondSignextOfHighBitExtractToSignextHighBitExtract()
1330 m_Value(SignExtendingValue), m_Value(Zero))) || in canonicalizeCondSignextOfHighBitExtractToSignextHighBitExtract()
1381 if (!match(Op0, m_Shl(m_Value(X), m_Value(ShAmt))) || in factorizeMathWithShlOps()
1382 !match(Op1, m_Shl(m_Value(Y), m_Specific(ShAmt)))) in factorizeMathWithShlOps()
1419 if (!match(&I, m_c_Add(m_Shl(m_Value(CrossSum), m_SpecificInt(HalfBits)), in foldBoxMultiply()
1420 m_OneUse(m_Mul(m_Value(YLo), m_Value(XLo)))))) in foldBoxMultiply()
1428 if (!match(XLo, m_And(m_Value(X), m_SpecificInt(HalfMask))) || in foldBoxMultiply()
1429 !match(YLo, m_And(m_Value(Y), m_SpecificInt(HalfMask)))) in foldBoxMultiply()
1495 if (match(LHS, m_Neg(m_Value(A)))) { in visitAdd()
1497 if (match(RHS, m_Neg(m_Value(B)))) in visitAdd()
1509 if (match(RHS, m_Neg(m_Value(B)))) in visitAdd()
1519 if (match(&I, m_c_BinOp(m_Add(m_Value(A), m_One()), m_Not(m_Value(B)))) || in visitAdd()
1520 match(&I, m_BinOp(m_c_Add(m_Not(m_Value(B)), m_Value(A)), m_One()))) in visitAdd()
1524 if (match(LHS, m_OneUse(m_c_Add(m_Value(A), m_Specific(RHS))))) in visitAdd()
1528 if (match(RHS, m_OneUse(m_c_Add(m_Value(A), m_Specific(LHS))))) in visitAdd()
1534 if (match(&I, m_c_Add(m_Add(m_Value(A), m_ImmConstant(C1)), in visitAdd()
1535 m_Sub(m_ImmConstant(C2), m_Value(B)))) && in visitAdd()
1543 if (match(&I, m_c_Add(m_OneUse(m_Sub(m_ImmConstant(C1), m_Value(A))), in visitAdd()
1544 m_Value(B)))) { in visitAdd()
1565 if (match(&I, m_c_Add(m_And(m_Value(A), m_APInt(C1)), m_Deferred(A))) && in visitAdd()
1572 if ((match(RHS, m_ZExt(m_Value(A))) && in visitAdd()
1573 match(LHS, m_ZExt(m_NUWSub(m_Value(B), m_Specific(A))))) || in visitAdd()
1574 (match(LHS, m_ZExt(m_Value(A))) && in visitAdd()
1575 match(RHS, m_ZExt(m_NUWSub(m_Value(B), m_Specific(A)))))) in visitAdd()
1579 if (match(&I, m_c_BinOp(m_ZExt(m_Value(A)), m_SExt(m_Deferred(A)))) && in visitAdd()
1593 if (match(&I, m_c_BinOp(m_Xor(m_Value(A), m_Value(B)), in visitAdd()
1599 if (match(&I, m_c_BinOp(m_Or(m_Value(A), m_Value(B)), in visitAdd()
1611 if (match(&I, m_c_BinOp(m_Value(A), m_OneUse(m_c_Or(m_Neg(m_Deferred(A)), in visitAdd()
1622 m_Add(m_OneUse(m_c_And(m_Value(A), m_OneUse(m_Neg(m_Deferred(A))))), in visitAdd()
1636 m_c_Add(m_OneUse(m_Not(m_OneUse(m_Mul(m_Value(A), m_APInt(C1))))), in visitAdd()
1646 if (match(&I, m_c_Add(m_OneUse(m_Mul(m_Value(A), m_NegatedPower2(NegPow2C))), in visitAdd()
1647 m_Value(B)))) { in visitAdd()
1657 if (match(LHS, m_AShr(m_Value(A), m_SpecificIntAllowUndef(BitWidth - 1))) && in visitAdd()
1715 m_OneUse(m_Intrinsic<Intrinsic::usub_sat>(m_Value(A), m_Value(B))), in visitAdd()
1722 if (match(LHS, m_OneUse(m_Intrinsic<Intrinsic::ctpop>(m_Value(A)))) && in visitAdd()
1723 match(RHS, m_OneUse(m_Intrinsic<Intrinsic::ctpop>(m_Value(B)))) && in visitAdd()
1736 m_ZExt(m_ICmp(Pred, m_Intrinsic<Intrinsic::ctpop>(m_Value(A)), in visitAdd()
1769 if (!match(&I, m_c_FAdd(m_OneUse(m_c_FMul(m_Value(Y), in factorizeLerp()
1771 m_Value(Z))))), in factorizeLerp()
1772 m_OneUse(m_c_FMul(m_Value(X), m_Deferred(Z)))))) in factorizeLerp()
1798 if ((match(Op0, m_FMul(m_Value(X), m_Value(Z))) && in factorizeFAddFSub()
1799 match(Op1, m_c_FMul(m_Value(Y), m_Specific(Z)))) || in factorizeFAddFSub()
1800 (match(Op0, m_FMul(m_Value(Z), m_Value(X))) && in factorizeFAddFSub()
1801 match(Op1, m_c_FMul(m_Value(Y), m_Specific(Z))))) in factorizeFAddFSub()
1803 else if (match(Op0, m_FDiv(m_Value(X), m_Value(Z))) && in factorizeFAddFSub()
1804 match(Op1, m_FDiv(m_Value(Y), m_Specific(Z)))) in factorizeFAddFSub()
1847 if (match(&I, m_c_FAdd(m_FNeg(m_Value(X)), m_Value(Y)))) in visitFAdd()
1853 if (match(&I, m_c_FAdd(m_OneUse(m_c_FMul(m_FNeg(m_Value(X)), m_Value(Y))), in visitFAdd()
1854 m_Value(Z)))) { in visitFAdd()
1860 if (match(&I, m_c_FAdd(m_OneUse(m_FDiv(m_FNeg(m_Value(X)), m_Value(Y))), in visitFAdd()
1861 m_Value(Z))) || in visitFAdd()
1862 match(&I, m_c_FAdd(m_OneUse(m_FDiv(m_Value(X), m_FNeg(m_Value(Y)))), in visitFAdd()
1863 m_Value(Z)))) { in visitFAdd()
1941 m_AnyZeroFP(), m_Value(X))), in visitFAdd()
1942 m_Value(Y)))) { in visitFAdd()
1950 m_APFloat(StartC), m_Value(X)))) && in visitFAdd()
1961 if (match(&I, m_c_FAdd(m_FMul(m_Value(X), m_ImmConstant(MulC)), in visitFAdd()
1969 if (match(&I, m_c_FAdd(m_FSub(m_FNeg(m_Value(X)), m_Value(Y)), in visitFAdd()
1970 m_c_FAdd(m_Deferred(X), m_Value(Z))))) in visitFAdd()
1979 m_c_FAdd(m_Intrinsic<Intrinsic::maximum>(m_Value(X), m_Value(Y)), in visitFAdd()
2096 if (match(Op1, m_OneUse(m_UMin(m_Value(Y), m_Value(Z))))) { in foldSubOfMinMax()
2097 if (match(Op0, m_OneUse(m_c_Add(m_Specific(Y), m_Value(X))))) { in foldSubOfMinMax()
2101 if (match(Op0, m_OneUse(m_c_Add(m_Specific(Z), m_Value(X))))) { in foldSubOfMinMax()
2110 match(X, m_NSWSub(m_Specific(Op0), m_Value(Z)))) { in foldSubOfMinMax()
2161 if (match(Op1, m_Add(m_Value(X), m_ImmConstant(C2)))) { in visitSub()
2202 m_Select(m_Value(), m_Specific(Op1), m_Specific(&I))) || in visitSub()
2203 match(UI, m_Select(m_Value(), m_Specific(&I), m_Specific(Op1))); in visitSub()
2226 if (match(Op0, m_OneUse(m_Add(m_Value(X), m_AllOnes())))) in visitSub()
2233 if (match(Op0, m_OneUse(m_c_Add(m_OneUse(m_Sub(m_Value(X), m_Value(Y))), in visitSub()
2234 m_Value(Z))))) { in visitSub()
2241 if (match(Op0, m_OneUse(m_Sub(m_Value(X), m_Value(Y))))) { in visitSub()
2258 if (match(Op0, m_Add(m_Value(X), m_Value(Z))) && in visitSub()
2259 match(Op1, m_c_Add(m_Value(Y), m_Specific(Z)))) in visitSub()
2264 if (match(Op0, m_OneUse(m_Add(m_Value(X), m_ImmConstant(CX)))) && in visitSub()
2265 match(Op1, m_OneUse(m_Add(m_Value(Y), m_ImmConstant(CY))))) { in visitSub()
2289 return m_OneUse(m_Intrinsic<Intrinsic::vector_reduce_add>(m_Value(Vec))); in visitSub()
2304 if (match(Op1, m_ZExt(m_Value(X))) && X->getType()->isIntOrIntVectorTy(1)) in visitSub()
2307 if (match(Op1, m_SExt(m_Value(X))) && X->getType()->isIntOrIntVectorTy(1)) in visitSub()
2312 if (match(Op1, m_Not(m_Value(X)))) in visitSub()
2328 if (match(Op1, m_Sub(m_ImmConstant(C2), m_Value(X)))) in visitSub()
2349 match(InnerSub, m_Sub(m_APInt(C3), m_Value(X))) && in visitSub()
2366 if (match(Op1, m_c_Add(m_Specific(Op0), m_Value(Y)))) in visitSub()
2370 if (match(Op0, m_Sub(m_Specific(Op1), m_Value(Y)))) in visitSub()
2377 if (match(Op1, m_And(m_Value(A), m_Value(B))) && in visitSub()
2385 if (match(Op0, m_Add(m_Value(A), m_Value(B))) && in visitSub()
2393 if (match(Op0, m_Add(m_Value(A), m_Value(B))) && in visitSub()
2401 if (match(Op0, m_And(m_Value(A), m_Value(B))) && in visitSub()
2410 if (match(Op1, m_Xor(m_Value(A), m_Value(B))) && in visitSub()
2418 if (match(Op0, m_Xor(m_Value(A), m_Value(B))) && in visitSub()
2427 if (match(Op0, m_OneUse(m_c_Or(m_Value(Y), m_Specific(Op1))))) in visitSub()
2436 m_OneUse(m_Neg(m_Value(X))))))) { in visitSub()
2472 if (!match(Select, m_OneUse(m_Select(m_Value(Cond), m_Value(TrueVal), in visitSub()
2473 m_Value(FalseVal))))) in visitSub()
2507 if (match(Op1, m_c_And(m_Specific(Op0), m_Value(Y))) && in visitSub()
2519 if (match(Op0, m_Not(m_Value(X))) && in visitSub()
2520 match(Op1, m_c_MaxOrMin(m_Specific(Op0), m_Value(Y))) && in visitSub()
2525 if (match(Op1, m_Not(m_Value(X))) && in visitSub()
2526 match(Op0, m_c_MaxOrMin(m_Specific(Op1), m_Value(Y))) && in visitSub()
2535 if (match(Op0, m_PtrToInt(m_Value(LHSOp))) && in visitSub()
2536 match(Op1, m_PtrToInt(m_Value(RHSOp)))) in visitSub()
2542 if (match(Op0, m_Trunc(m_PtrToInt(m_Value(LHSOp)))) && in visitSub()
2543 match(Op1, m_Trunc(m_PtrToInt(m_Value(RHSOp))))) in visitSub()
2557 if (match(Op1, m_AShr(m_Value(A), m_APInt(ShAmt))) && in visitSub()
2575 if (match(Op0, m_Add(m_Value(X), m_APInt(AddC))) && in visitSub()
2589 m_Value(Y))))) in visitSub()
2596 if (match(Op0, m_OneUse(m_c_UMax(m_Value(X), m_Specific(Op1))))) in visitSub()
2601 if (match(Op1, m_OneUse(m_c_UMin(m_Value(X), m_Specific(Op0))))) in visitSub()
2606 if (match(Op1, m_OneUse(m_c_UMax(m_Value(X), m_Specific(Op0))))) { in visitSub()
2612 if (match(Op0, m_OneUse(m_c_UMin(m_Value(X), m_Specific(Op1))))) { in visitSub()
2619 match(Op1, m_OneUse(m_Intrinsic<Intrinsic::ctpop>(m_Value(X))))) in visitSub()
2626 if (match(Op0, m_OneUse(m_Mul(m_Value(X), m_Deferred(X)))) && in visitSub()
2627 match(Op1, m_OneUse(m_Mul(m_Value(Y), m_Deferred(Y))))) { in visitSub()
2641 if (match(Op0, m_OneUse(m_c_SMax(m_Value(X), m_Value(Y)))) && in visitSub()
2673 if (match(FNegOp, m_FMul(m_Value(X), m_Constant(C)))) in foldFNegIntoConstant()
2677 if (match(FNegOp, m_FDiv(m_Value(X), m_Constant(C)))) in foldFNegIntoConstant()
2681 if (match(FNegOp, m_FDiv(m_Constant(C), m_Value(X)))) in foldFNegIntoConstant()
2696 if (I.hasNoSignedZeros() && match(FNegOp, m_FAdd(m_Value(X), m_Constant(C)))) in foldFNegIntoConstant()
2706 if (match(FNegOp, m_FMul(m_Value(X), m_Value(Y)))) { in hoistFNegAboveFMulFDiv()
2711 if (match(FNegOp, m_FDiv(m_Value(X), m_Value(Y)))) { in hoistFNegAboveFMulFDiv()
2748 match(Op, m_OneUse(m_FSub(m_Value(X), m_Value(Y))))) in visitFNeg()
2752 if (!match(Op, m_OneUse(m_Value(OneUse)))) in visitFNeg()
2760 if (match(OneUse, m_Select(m_Value(Cond), m_Value(X), m_Value(Y)))) { in visitFNeg()
2776 if (match(X, m_FNeg(m_Value(P)))) { in visitFNeg()
2783 if (match(Y, m_FNeg(m_Value(P)))) { in visitFNeg()
2792 if (match(OneUse, m_CopySign(m_Value(X), m_Value(Y)))) { in visitFNeg()
2829 if (match(&I, m_FNeg(m_Value(Op)))) in visitFSub()
2846 if (match(Op1, m_OneUse(m_FSub(m_Value(X), m_Value(Y))))) { in visitFSub()
2854 match(Op0, m_OneUse(m_FNeg(m_Value(X))))) { in visitFSub()
2872 if (match(Op1, m_FNeg(m_Value(Y)))) in visitFSub()
2878 if (match(Op1, m_OneUse(m_FPTrunc(m_FNeg(m_Value(Y)))))) in visitFSub()
2882 if (match(Op1, m_OneUse(m_FPExt(m_FNeg(m_Value(Y)))))) in visitFSub()
2888 if (match(Op1, m_OneUse(m_c_FMul(m_FNeg(m_Value(X)), m_Value(Y))))) { in visitFSub()
2894 if (match(Op1, m_OneUse(m_FDiv(m_FNeg(m_Value(X)), m_Value(Y)))) || in visitFSub()
2895 match(Op1, m_OneUse(m_FDiv(m_Value(X), m_FNeg(m_Value(Y)))))) { in visitFSub()
2906 if (match(Op0, m_FSub(m_Specific(Op1), m_Value(X)))) in visitFSub()
2911 if (match(Op1, m_c_FAdd(m_Specific(Op0), m_Value(X)))) in visitFSub()
2931 if (match(Op0, m_OneUse(m_c_FAdd(m_OneUse(m_FSub(m_Value(X), m_Value(Y))), in visitFSub()
2932 m_Value(Z))))) { in visitFSub()
2939 return m_OneUse(m_Intrinsic<Intrinsic::vector_reduce_fadd>(m_Value(Sum), in visitFSub()
2940 m_Value(Vec))); in visitFSub()
2964 if (match(Op0, m_OneUse(m_FSub(m_Value(X), m_Value(Y))))) { in visitFSub()