Lines Matching refs:m_Value

1157   if (!match(&I, m_ICmp(Pred, m_OneUse(m_IRem(m_Value(X), m_Value(Y))),  in foldIRemByPowerOfTwoToBitTest()
1158 m_CombineAnd(m_Zero(), m_Value(Zero))))) in foldIRemByPowerOfTwoToBitTest()
1180 if (match(Val, m_TruncOrSelf(m_Shr(m_Value(X), m_Constant(C))))) { in foldSignBitTest()
1209 if (match(Cmp.getOperand(0), m_SMin(m_Value(A), m_Value(B)))) { in foldICmpWithZero()
1225 if (match(Cmp.getOperand(0), m_URem(m_Value(X), m_Value(Y))) && in foldICmpWithZero()
1235 if (match(Cmp.getOperand(0), m_Mul(m_Value(X), m_Value(Y))) && in foldICmpWithZero()
1300 match(Op0, m_Add(m_Add(m_Value(A), m_Value(B)), m_ConstantInt(CI2)))) in foldICmpWithConstant()
1380 match(Cmp.user_back(), m_MaxOrMin(m_Value(), m_Value()))) in foldICmpWithDominatingICmp()
1416 if (Pred == ICmpInst::ICMP_SLT && match(X, m_Signum(m_Value(V)))) in foldICmpTruncConstant()
1428 if (Cmp.isEquality() && match(X, m_Shl(m_One(), m_Value(Y)))) { in foldICmpTruncConstant()
1472 match(X, m_Shr(m_Value(ShOp), m_APInt(ShAmtC))) && in foldICmpTruncConstant()
1495 if (match(&Cmp, m_ICmp(Pred, m_Trunc(m_Value(X)), m_Trunc(m_Value(Y))))) { in foldICmpTruncWithTruncOrExt()
1506 else if (match(&Cmp, m_c_ICmp(Pred, m_Trunc(m_Value(X)), in foldICmpTruncWithTruncOrExt()
1507 m_OneUse(m_ZExt(m_Value(Y)))))) in foldICmpTruncWithTruncOrExt()
1626 if (!match(Xor, m_OneUse(m_c_Xor(m_Value(X), in foldICmpXorShiftConst()
1740 if (!match(And, m_And(m_Value(X), m_APInt(C2)))) in foldICmpAndConstConst()
1780 if (match(And->getOperand(0), m_OneUse(m_Trunc(m_Value(W)))) && in foldICmpAndConstConst()
1807 if (match(Or, m_Or(m_Value(LShr), m_Value(A))) && in foldICmpAndConstConst()
1808 match(LShr, m_LShr(m_Specific(A), m_Value(B)))) { in foldICmpAndConstConst()
1846 if (match(And->getOperand(0), m_Add(m_Value(X), m_AllOnes())) && in foldICmpAndConstant()
1853 if (match(And, m_c_And(m_Neg(m_Value(X)), m_Deferred(X)))) { in foldICmpAndConstant()
1900 if (match(X, m_Select(m_Value(A), m_APInt(TC), m_APInt(FC))) && in foldICmpAndConstant()
1902 m_Select(m_Value(B), m_SpecificInt(*TC), m_SpecificInt(*FC))) && in foldICmpAndConstant()
1915 if (match(And, m_OneUse(m_c_And(m_OneUse(m_ZExt(m_Value(X))), m_Value(Y)))) && in foldICmpAndConstant()
1948 m_OneUse(m_Xor(m_Value(Lhs), m_Value(Rhs))))) { in foldICmpOrXorSubChain()
1954 m_OneUse(m_Sub(m_Value(Lhs), m_Value(Rhs))))) { in foldICmpOrXorSubChain()
1966 m_Or(m_Value(OrOperatorLhs), m_Value(OrOperatorRhs)))) { in foldICmpOrXorSubChain()
1995 if (Pred == ICmpInst::ICMP_SLT && match(Or, m_Signum(m_Value(V)))) in foldICmpOrConstant()
2027 match(Or, m_c_Or(m_Add(m_Value(X), m_AllOnes()), m_Deferred(X)))) { in foldICmpOrConstant()
2035 if (C.isNonNegative() && match(Or, m_Or(m_Value(X), m_APInt(OrC)))) { in foldICmpOrConstant()
2061 if (match(Or, m_Or(m_PtrToInt(m_Value(P)), m_PtrToInt(m_Value(Q))))) { in foldICmpOrConstant()
2173 if (!match(Shl, m_Shl(m_One(), m_Value(Y)))) in foldICmpShlOne()
2939 m_Add(m_CombineAnd(m_Instruction(Ext0), m_ZExtOrSExt(m_Value(Op0))), in foldICmpAddConstant()
2941 m_ZExtOrSExt(m_Value(Op1))))) && in foldICmpAddConstant()
3072 if (!match(SI->getCondition(), m_ICmp(PredA, m_Value(LHS), m_Value(RHS))) || in matchThreeWayIntCompare()
3084 if (!match(UnequalVal, m_Select(m_ICmp(PredB, m_Value(LHS2), m_Value(RHS2)), in matchThreeWayIntCompare()
3182 if (match(BCSrcOp, m_SIToFP(m_Value(X)))) { in foldICmpBitCast()
3205 if (match(BCSrcOp, m_UIToFP(m_Value(X)))) in foldICmpBitCast()
3217 if (match(BCSrcOp, m_FPExt(m_Value(X))) || in foldICmpBitCast()
3218 match(BCSrcOp, m_FPTrunc(m_Value(X)))) { in foldICmpBitCast()
3265 match(BCSrcOp, m_ZExtOrSExt(m_Value(X)))) { in foldICmpBitCast()
3282 if (match(BCSrcOp, m_Shuffle(m_Value(Vec), m_Undef(), m_Mask(Mask)))) { in foldICmpBitCast()
3337 m_Value(X), m_Value(Y)))) || in foldICmpInstWithConstant()
3340 m_Value(X), m_Value(Y)))))) in foldICmpInstWithConstant()
4036 m_CombineOr(m_Not(m_Shl(m_AllOnes(), m_Value())), in foldICmpWithLowBitMaskedVal()
4037 m_Add(m_Shl(m_One(), m_Value()), m_AllOnes())), in foldICmpWithLowBitMaskedVal()
4038 m_CombineOr(m_LShr(m_AllOnes(), m_Value()), in foldICmpWithLowBitMaskedVal()
4039 m_LShr(m_Shl(m_AllOnes(), m_Value(Y)), m_Deferred(Y)))); in foldICmpWithLowBitMaskedVal()
4042 m_c_And(m_CombineAnd(m_Mask, m_Value(M)), m_Value(X)), in foldICmpWithLowBitMaskedVal()
4132 m_OneUse(m_AShr(m_Shl(m_Value(X), m_APInt(C0)), in foldICmpWithTruncSignExtendedVal()
4205 auto m_AnyLogicalShift = m_LogicalShift(m_Value(), m_Value()); in foldShiftIntoShiftInAnotherHandOfAndInICmp()
4232 if (match(YShift, m_LShr(m_Value(), m_Value()))) in foldShiftIntoShiftInAnotherHandOfAndInICmp()
4241 match(XShift, m_BinOp(m_Value(X), m_ZExtOrSelf(m_Value(XShAmt)))); in foldShiftIntoShiftInAnotherHandOfAndInICmp()
4242 match(YShift, m_BinOp(m_Value(Y), m_ZExtOrSelf(m_Value(YShAmt)))); in foldShiftIntoShiftInAnotherHandOfAndInICmp()
4250 m_c_And(m_OneUse(m_AnyLogicalShift), m_Value()))) in foldShiftIntoShiftInAnotherHandOfAndInICmp()
4305 if (HadTrunc && match(WidestShift, m_LShr(m_Value(), m_Value()))) { in foldShiftIntoShiftInAnotherHandOfAndInICmp()
4381 m_CombineAnd(m_OneUse(m_UDiv(m_AllOnes(), m_Value(X))), in foldMultiplicationOverflowCheck()
4383 m_Value(Y)))) { in foldMultiplicationOverflowCheck()
4400 m_c_ICmp(Pred, m_Value(Y), in foldMultiplicationOverflowCheck()
4403 m_Value(X)), in foldMultiplicationOverflowCheck()
4447 if (match(&I, m_c_ICmp(Pred, m_NSWNeg(m_Value(X)), m_Deferred(X)))) { in foldICmpXNegX()
4461 if (match(&I, m_c_ICmp(Pred, m_OneUse(m_Neg(m_Value(X))), m_Deferred(X))) && in foldICmpXNegX()
4480 if (match(Op1, m_c_And(m_Specific(Op0), m_Value()))) { in foldICmpAndXX()
4485 if (!match(Op0, m_c_And(m_Specific(Op1), m_Value(A)))) in foldICmpAndXX()
4505 if (match(Op1, m_c_Or(m_Specific(Op0), m_Value(A)))) { in foldICmpOrXX()
4508 } else if (!match(Op0, m_c_Or(m_Specific(Op1), m_Value(A)))) { in foldICmpOrXX()
4539 if (match(Op1, m_c_Xor(m_Specific(Op0), m_Value()))) { in foldICmpXorXX()
4543 if (!match(Op0, m_c_Xor(m_Specific(Op1), m_Value(A)))) in foldICmpXorXX()
4581 if (match(Op0, m_OneUse(m_c_Add(m_Specific(Op1), m_Value(X)))) && in foldICmpBinOp()
4585 if (match(Op1, m_OneUse(m_c_Add(m_Specific(Op0), m_Value(X)))) && in foldICmpBinOp()
4592 if (match(Op0, m_OneUse(m_Add(m_c_Add(m_Specific(Op1), m_Value(X)), in foldICmpBinOp()
4599 if (match(Op1, m_OneUse(m_Add(m_c_Add(m_Specific(Op0), m_Value(X)), in foldICmpBinOp()
4658 match(BO0, m_AddLike(m_Value(A), m_Value(B))); in foldICmpBinOp()
4662 match(BO1, m_AddLike(m_Value(C), m_Value(D))); in foldICmpBinOp()
4853 if (match(BO0, m_Neg(m_Value(X)))) in foldICmpBinOp()
4870 ((match(Op0, m_Mul(m_Value(X), m_Value(Z))) && in foldICmpBinOp()
4871 match(Op1, m_c_Mul(m_Specific(Z), m_Value(Y)))) || in foldICmpBinOp()
4872 (match(Op0, m_Mul(m_Value(Z), m_Value(X))) && in foldICmpBinOp()
4873 match(Op1, m_c_Mul(m_Specific(Z), m_Value(Y)))))) { in foldICmpBinOp()
5007 auto BitwiseAnd = m_c_And(m_Value(), LSubOne); in foldICmpBinOp()
5197 if (!match(Op0, m_OneUse(m_c_And(m_Add(m_Value(A), m_AllOnes()), in foldICmpPow2Test()
5247 if (match(Op0, m_Xor(m_Value(A), m_Value(B)))) { in foldICmpEquality()
5253 if (match(Op1, m_Xor(m_Value(C), m_Value(D)))) { in foldICmpEquality()
5290 if (match(Op1, m_Xor(m_Value(A), m_Value(B))) && (A == Op0 || B == Op0)) { in foldICmpEquality()
5297 if (match(Op0, m_OneUse(m_And(m_Value(A), m_Value(B)))) && in foldICmpEquality()
5298 match(Op1, m_OneUse(m_And(m_Value(C), m_Value(D))))) { in foldICmpEquality()
5331 if (match(Op0, m_OneUse(m_Or(m_Value(X), m_Constant(C)))) && in foldICmpEquality()
5332 match(Op1, m_OneUse(m_Or(m_Value(Y), m_Specific(C))))) { in foldICmpEquality()
5339 if (match(Op1, m_ZExt(m_Value(A))) && in foldICmpEquality()
5344 if (match(Op0, m_And(m_Value(B), m_LowBitMask(MaskC))) && in foldICmpEquality()
5352 if ((match(Op0, m_OneUse(m_LShr(m_Value(A), m_APIntAllowUndef(AP1)))) && in foldICmpEquality()
5353 match(Op1, m_OneUse(m_LShr(m_Value(B), m_APIntAllowUndef(AP2))))) || in foldICmpEquality()
5354 (match(Op0, m_OneUse(m_AShr(m_Value(A), m_APIntAllowUndef(AP1)))) && in foldICmpEquality()
5355 match(Op1, m_OneUse(m_AShr(m_Value(B), m_APIntAllowUndef(AP2)))))) { in foldICmpEquality()
5371 if (match(Op0, m_OneUse(m_Shl(m_Value(A), m_ConstantInt(Cst1)))) && in foldICmpEquality()
5372 match(Op1, m_OneUse(m_Shl(m_Value(B), m_Specific(Cst1))))) { in foldICmpEquality()
5388 match(Op0, m_Trunc(m_OneUse(m_LShr(m_Value(A), m_ConstantInt(ShAmt))))) && in foldICmpEquality()
5416 if (match(Op0, m_AShr(m_Trunc(m_Value(A)), m_SpecificInt(BitWidth - 1))) && in foldICmpEquality()
5431 if (match(Op0, m_c_And(m_Specific(Op1), m_Value())) && in foldICmpEquality()
5436 if (match(Op1, m_c_And(m_Specific(Op0), m_Value())) && in foldICmpEquality()
5447 if (match(&I, m_c_ICmp(PredUnused, m_Value(A), in foldICmpEquality()
5449 m_Deferred(A), m_Deferred(A), m_Value(B)))))) in foldICmpEquality()
5458 m_OneUse(m_Xor(m_Value(A), m_ImmConstant(Cst))), in foldICmpEquality()
5459 m_CombineAnd(m_Value(B), m_Unless(m_ImmConstant()))))) in foldICmpEquality()
5465 m_CombineOr(m_CombineOr(m_c_Add(m_Value(B), m_Deferred(A)), in foldICmpEquality()
5466 m_c_Xor(m_Value(B), m_Deferred(A))), in foldICmpEquality()
5467 m_Sub(m_Value(B), m_Deferred(A))); in foldICmpEquality()
5469 if (match(&I, m_c_ICmp(PredUnused, m_OneUse(m_c_And(m_Value(A), m_Matcher)), in foldICmpEquality()
5474 m_ICmp(PredUnused, m_OneUse(m_c_And(m_Value(A), m_Matcher)), in foldICmpEquality()
5499 if (!match(Op0, m_OneUse(m_Trunc(m_Value(X)))) || !match(Op1, m_APInt(C))) in foldICmpWithTrunc()
5555 if (!match(CastOp0, m_ZExtOrSExt(m_Value(X)))) in foldICmpWithZextOrSext()
5563 if (match(ICmp.getOperand(1), m_ZExtOrSExt(m_Value(Y)))) { in foldICmpWithZextOrSext()
6171 return match(Op0, m_MaxOrMin(m_Value(), m_Value())) || in foldICmpUsingKnownBits()
6172 match(Op1, m_MaxOrMin(m_Value(), m_Value())); in foldICmpUsingKnownBits()
6256 if (!match(Op0, m_And(m_Value(LHS), m_APInt(LHSC))) || in foldICmpUsingKnownBits()
6262 if (match(LHS, m_Shl(m_Power2(C1), m_Value(X)))) { in foldICmpUsingKnownBits()
6371 if (match(&I, m_c_ICmp(Pred, m_Value(X), m_OneUse(m_ZExt(m_Value(Y))))) && in foldICmpUsingBoolRange()
6377 if (match(&I, m_c_ICmp(Pred, m_Value(X), m_OneUse(m_SExt(m_Value(Y))))) && in foldICmpUsingBoolRange()
6385 if (match(&I, m_c_ICmp(Pred1, m_Value(X), in foldICmpUsingBoolRange()
6655 m_c_ICmp(Pred, m_OneUse(m_Shl(m_One(), m_Value(Y))), m_Value(X)))) { in foldICmpWithHighBitMask()
6668 m_Not(m_Shl(m_AllOnes(), m_Value(Y))), in foldICmpWithHighBitMask()
6669 m_Add(m_Shl(m_One(), m_Value(Y)), in foldICmpWithHighBitMask()
6671 m_Value(X)))) { in foldICmpWithHighBitMask()
6709 if (match(LHS, m_VecReverse(m_Value(V1)))) { in foldVectorCmp()
6711 if (match(RHS, m_VecReverse(m_Value(V2))) && in foldVectorCmp()
6720 else if (isSplatValue(LHS) && match(RHS, m_OneUse(m_VecReverse(m_Value(V2))))) in foldVectorCmp()
6724 if (!match(LHS, m_Shuffle(m_Value(V1), m_Undef(), m_Mask(M)))) in foldVectorCmp()
6731 if (match(RHS, m_Shuffle(m_Value(V2), m_Undef(), m_SpecificMask(M))) && in foldVectorCmp()
6770 m_Intrinsic<Intrinsic::uadd_with_overflow>(m_Value(A), m_Value(B))); in foldICmpOfUAddOv()
6834 m_ICmp(InnerPred, m_Value(LHS), m_Value(RHS))))), in foldReductionIdiom()
6878 if (match(Op0, m_Add(m_Value(X), m_APInt(C))) && Op1 == X) in foldICmpCommutative()
6895 if (match(Op0, m_Intrinsic<Intrinsic::abs>(m_Value(X), m_Constant(C))) && in foldICmpCommutative()
6959 if (match(Op0, m_Select(m_Value(Cond), m_Value(SelectTrue), in visitICmpInst()
6960 m_Value(SelectFalse)))) { in visitICmpInst()
7080 if (match(Op0, m_Select(m_Value(Cond), m_Value(A), m_Value(B))) && in visitICmpInst()
7081 match(Op1, m_Select(m_Specific(Cond), m_Value(C), m_Value(D))) && in visitICmpInst()
7119 if (match(Op0, m_And(m_Value(X), m_Not(m_Value(Y)))) && in visitICmpInst()
7140 if (match(&I, m_UAddWithOverflow(m_Value(X), m_Value(Y), in visitICmpInst()
7157 if (match(Op0, m_NUWMul(m_ZExt(m_Value(X)), m_ZExt(m_Value(Y)))) && in visitICmpInst()
7169 m_CombineAnd(m_Instruction(ExtI), m_ZExtOrSExt(m_Value(Y)))) && in visitICmpInst()
7175 m_Shr(m_Value(X), m_SpecificIntAllowUndef( in visitICmpInst()
7518 if (!match(I.getOperand(0), m_FAbs(m_Value(X)))) in foldFabsWithFcmpZero()
7621 if (match(Op0, m_FNeg(m_Value())) && !match(Op1, m_FNeg(m_Value()))) { in foldFCmpFNegCommonOp()
7692 if (match(Op0, m_FNeg(m_Value(X))) && match(Op1, m_FNeg(m_Value(Y)))) in visitFCmpInst()
7721 match(Op0, m_OneUse(m_BitCast(m_Value(X)))) && in visitFCmpInst()
7769 if (match(Op0, m_FNeg(m_Value(X)))) { in visitFCmpInst()
7777 if (match(Op0, m_FPExt(m_Value(X)))) { in visitFCmpInst()
7779 if (match(Op1, m_FPExt(m_Value(Y))) && X->getType() == Y->getType()) in visitFCmpInst()
7833 m_Value(X)))) && in visitFCmpInst()
7849 match(Op0, m_Intrinsic<Intrinsic::canonicalize>(m_Value(CanonLHS))); in visitFCmpInst()
7850 match(Op1, m_Intrinsic<Intrinsic::canonicalize>(m_Value(CanonRHS))); in visitFCmpInst()