Lines Matching refs:m_Value

58   if (match(V, m_LShr(m_OneUse(m_Shl(m_Value(One), m_Value(A))), m_Value(B))) &&  in simplifyValueKnownNonZero()
105 if (match(&I, m_c_Mul(m_OneUse(m_Select(m_Value(Cond), m_One(), m_AllOnes())), in foldMulSelectToNegate()
106 m_Value(OtherOp)))) { in foldMulSelectToNegate()
113 if (match(&I, m_c_Mul(m_OneUse(m_Select(m_Value(Cond), m_AllOnes(), m_One())), in foldMulSelectToNegate()
114 m_Value(OtherOp)))) { in foldMulSelectToNegate()
122 if (match(&I, m_c_FMul(m_OneUse(m_Select(m_Value(Cond), m_SpecificFP(1.0), in foldMulSelectToNegate()
124 m_Value(OtherOp)))) { in foldMulSelectToNegate()
132 if (match(&I, m_c_FMul(m_OneUse(m_Select(m_Value(Cond), m_SpecificFP(-1.0), in foldMulSelectToNegate()
134 m_Value(OtherOp)))) { in foldMulSelectToNegate()
156 if (match(Y, m_Shl(m_One(), m_Value(Z)))) { in foldMulShl1()
167 match(Shift, m_OneUse(m_Shl(m_One(), m_Value(Z))))) { in foldMulShl1()
179 if (match(Y, m_OneUse(m_Not(m_OneUse(m_Shl(m_AllOnes(), m_Value(Z))))))) { in foldMulShl1()
226 if (match(&I, m_Mul(m_Shl(m_Value(NewOp), m_Constant(C2)), in visitMul()
240 if (match(&I, m_Mul(m_Value(NewOp), m_Constant(C1)))) { in visitMul()
278 if (match(Op0, m_ZExtOrSExt(m_Value(X))) && in visitMul()
303 if (match(Op0, m_OneUse(m_AddLike(m_Value(X), m_ImmConstant(C1))))) { in visitMul()
329 if (match(Op0, m_Intrinsic<Intrinsic::abs>(m_Value(X)))) in visitMul()
338 m_OneUse(m_Intrinsic<Intrinsic::abs>(m_Value(X), m_One()))) && in visitMul()
339 match(Op1, m_OneUse(m_Intrinsic<Intrinsic::abs>(m_Value(Y), m_One())))) in visitMul()
349 if (match(Op0, m_Neg(m_Value(X))) && match(Op1, m_Constant(Op1C))) in visitMul()
353 if (match(Op0, m_Neg(m_Value(X))) && match(Op1, m_Neg(m_Value(Y)))) { in visitMul()
363 if (match(&I, m_c_Mul(m_OneUse(m_Neg(m_Value(X))), m_Value(Y)))) in visitMul()
368 if (match(Op1, m_Neg(m_Value(X)))) { in visitMul()
414 (match(Op0, m_And(m_Value(), m_One())) && in visitMul()
415 match(Op1, m_And(m_Value(), m_One())))) in visitMul()
426 if (((match(Op0, m_ZExt(m_Value(X))) && match(Op1, m_ZExt(m_Value(Y)))) || in visitMul()
427 (match(Op0, m_SExt(m_Value(X))) && match(Op1, m_SExt(m_Value(Y))))) && in visitMul()
436 if (((match(Op0, m_SExt(m_Value(X))) && match(Op1, m_ZExt(m_Value(Y)))) || in visitMul()
437 (match(Op0, m_ZExt(m_Value(X))) && match(Op1, m_SExt(m_Value(Y))))) && in visitMul()
446 if (match(Op0, m_ZExt(m_Value(X))) && X->getType()->isIntOrIntVectorTy(1)) in visitMul()
448 if (match(Op1, m_ZExt(m_Value(X))) && X->getType()->isIntOrIntVectorTy(1)) in visitMul()
454 if (match(Op0, m_SExt(m_Value(X))) && X->getType()->isIntOrIntVectorTy(1)) { in visitMul()
461 if (match(Op0, m_OneUse(m_AShr(m_Value(X), m_APInt(C)))) && in visitMul()
473 if (match(&I, m_c_BinOp(m_LShr(m_Value(X), m_APInt(C)), m_Value(Y))) && in visitMul()
480 if (match(&I, m_c_BinOp(m_OneUse(m_And(m_Value(X), m_One())), m_Value(Y)))) { in visitMul()
487 if (match(&I, m_c_BinOp(m_Or(m_AShr(m_Value(X), in visitMul()
551 if (match(Op0, m_FNeg(m_Value(X))) && match(Op1, m_FNeg(m_Value(Y)))) in foldFPSignBitOps()
556 if (Op0 == Op1 && match(Op0, m_FAbs(m_Value(X)))) in foldFPSignBitOps()
561 if (match(Op0, m_FAbs(m_Value(X))) && match(Op1, m_FAbs(m_Value(Y))) && in foldFPSignBitOps()
584 if (match(Op0, m_OneUse(m_FDiv(m_Constant(C1), m_Value(X))))) { in foldFMulReassoc()
591 if (match(Op0, m_FDiv(m_Value(X), m_Constant(C1)))) { in foldFMulReassoc()
609 if (match(Op0, m_OneUse(m_FAdd(m_Value(X), m_Constant(C1))))) { in foldFMulReassoc()
617 if (match(Op0, m_OneUse(m_FSub(m_Constant(C1), m_Value(X))))) { in foldFMulReassoc()
629 m_c_FMul(m_OneUse(m_FDiv(m_Value(X), m_Value(Y))), m_Value(Z)))) { in foldFMulReassoc()
638 if (I.hasNoNaNs() && match(Op0, m_OneUse(m_Sqrt(m_Value(X)))) && in foldFMulReassoc()
639 match(Op1, m_OneUse(m_Sqrt(m_Value(Y))))) { in foldFMulReassoc()
652 match(Op0, (m_FDiv(m_SpecificFP(1.0), m_Value(Y)))) && in foldFMulReassoc()
653 match(Y, m_Sqrt(m_Value(X))) && Op1 == X) in foldFMulReassoc()
656 match(Op1, (m_FDiv(m_SpecificFP(1.0), m_Value(Y)))) && in foldFMulReassoc()
657 match(Y, m_Sqrt(m_Value(X))) && Op0 == X) in foldFMulReassoc()
665 if (match(Op0, m_FDiv(m_Value(X), m_Sqrt(m_Value(Y))))) { in foldFMulReassoc()
670 if (match(Op0, m_FDiv(m_Sqrt(m_Value(Y)), m_Value(X)))) { in foldFMulReassoc()
678 if (match(&I, m_c_FMul(m_OneUse(m_Intrinsic<Intrinsic::pow>(m_Value(X), in foldFMulReassoc()
679 m_Value(Y))), in foldFMulReassoc()
688 if (match(Op0, m_Intrinsic<Intrinsic::pow>(m_Value(X), m_Value(Y))) && in foldFMulReassoc()
689 match(Op1, m_Intrinsic<Intrinsic::pow>(m_Specific(X), m_Value(Z)))) { in foldFMulReassoc()
695 if (match(Op0, m_Intrinsic<Intrinsic::pow>(m_Value(X), m_Value(Y))) && in foldFMulReassoc()
696 match(Op1, m_Intrinsic<Intrinsic::pow>(m_Value(Z), m_Specific(Y)))) { in foldFMulReassoc()
703 if (match(Op0, m_Intrinsic<Intrinsic::powi>(m_Value(X), m_Value(Y))) && in foldFMulReassoc()
704 match(Op1, m_Intrinsic<Intrinsic::powi>(m_Specific(X), m_Value(Z))) && in foldFMulReassoc()
713 if (match(Op0, m_Intrinsic<Intrinsic::exp>(m_Value(X))) && in foldFMulReassoc()
714 match(Op1, m_Intrinsic<Intrinsic::exp>(m_Value(Y)))) { in foldFMulReassoc()
721 if (match(Op0, m_Intrinsic<Intrinsic::exp2>(m_Value(X))) && in foldFMulReassoc()
722 match(Op1, m_Intrinsic<Intrinsic::exp2>(m_Value(Y)))) { in foldFMulReassoc()
736 if (match(Op0, m_OneUse(m_c_FMul(m_Specific(Op1), m_Value(Y)))) && Op1 != Y) { in foldFMulReassoc()
740 if (match(Op1, m_OneUse(m_c_FMul(m_Specific(Op0), m_Value(Y)))) && Op0 != Y) { in foldFMulReassoc()
787 if (match(Op0, m_FNeg(m_Value(X))) && match(Op1, m_Constant(C))) in visitFMul()
803 m_OneUse(m_FMul(m_Value(X), m_SpecificFP(0.5))))))) { in visitFMul()
808 m_OneUse(m_FMul(m_Value(X), m_SpecificFP(0.5))))))) { in visitFMul()
830 m_c_FMul(m_Intrinsic<Intrinsic::maximum>(m_Value(X), m_Value(Y)), in visitFMul()
957 if (match(Op1, m_Shl(m_Value(X), m_Value(Z))) && in foldIDivShl()
958 match(Op0, m_c_Mul(m_Specific(X), m_Value(Y)))) { in foldIDivShl()
978 if (match(Op0, m_Shl(m_Value(X), m_Value(Z))) && in foldIDivShl()
979 match(Op1, m_Shl(m_Value(Y), m_Specific(Z)))) { in foldIDivShl()
1001 if (match(Op0, m_Shl(m_Value(X), m_Value(Y))) && in foldIDivShl()
1002 match(Op1, m_Shl(m_Specific(X), m_Value(Z)))) { in foldIDivShl()
1049 match(Op1, m_Select(m_Value(), m_ImmConstant(), m_ImmConstant()))) { in commonIDivTransforms()
1061 if ((IsSigned && match(Op0, m_SDiv(m_Value(X), m_APInt(C1)))) || in commonIDivTransforms()
1062 (!IsSigned && match(Op0, m_UDiv(m_Value(X), m_APInt(C1))))) { in commonIDivTransforms()
1070 if ((IsSigned && match(Op0, m_NSWMul(m_Value(X), m_APInt(C1)))) || in commonIDivTransforms()
1071 (!IsSigned && match(Op0, m_NUWMul(m_Value(X), m_APInt(C1))))) { in commonIDivTransforms()
1092 if ((IsSigned && match(Op0, m_NSWShl(m_Value(X), m_APInt(C1))) && in commonIDivTransforms()
1094 (!IsSigned && match(Op0, m_NUWShl(m_Value(X), m_APInt(C1))) && in commonIDivTransforms()
1123 match(Op0, m_NSWAdd(m_NSWMul(m_Value(X), m_SpecificInt(*C2)), in commonIDivTransforms()
1129 match(Op0, m_NUWAdd(m_NUWMul(m_Value(X), m_SpecificInt(*C2)), in commonIDivTransforms()
1163 if (match(Op0, m_Sub(m_Value(X), m_Value(Z)))) // (X - Z) / Y; Y = Op1 in commonIDivTransforms()
1170 if (IsSigned && match(Op0, m_NSWShl(m_Specific(Op1), m_Value(Y)))) in commonIDivTransforms()
1172 if (!IsSigned && match(Op0, m_NUWShl(m_Specific(Op1), m_Value(Y)))) in commonIDivTransforms()
1176 if (match(Op1, m_c_Mul(m_Specific(Op0), m_Value(Y)))) { in commonIDivTransforms()
1189 match(Op0, m_NUWShl(m_Value(X), m_Value(Z))) && in commonIDivTransforms()
1190 match(Op1, m_c_Mul(m_Specific(X), m_Value(Y)))) in commonIDivTransforms()
1204 if (match(Op0, m_BinOp(I.getOpcode(), m_c_Mul(m_Specific(Op1), m_Value(X)), in commonIDivTransforms()
1205 m_Value(Y)))) { in commonIDivTransforms()
1222 if (match(Op0, m_Mul(m_Value(X), m_Value(Y)))) { in commonIDivTransforms()
1244 if (match(Op1, m_c_Mul(m_Specific(X), m_Value(Z)))) { in commonIDivTransforms()
1248 if (match(Op1, m_c_Mul(m_Specific(Y), m_Value(Z)))) { in commonIDivTransforms()
1287 if (match(Op, m_ZExt(m_Value(X)))) in takeLog2()
1293 if (match(Op, m_Shl(m_Value(X), m_Value(Y)))) { in takeLog2()
1343 if (match(N, m_ZExt(m_Value(X))) && match(D, m_ZExt(m_Value(Y))) && in narrowUDivURem()
1352 if (isa<Instruction>(N) && match(N, m_OneUse(m_ZExt(m_Value(X)))) && in narrowUDivURem()
1363 if (isa<Instruction>(D) && match(D, m_OneUse(m_ZExt(m_Value(X)))) && in narrowUDivURem()
1393 if (match(Op0, m_LShr(m_Value(X), m_APInt(C1))) && match(Op1, m_APInt(C2))) { in visitUDiv()
1398 bool IsExact = I.isExact() && match(Op0, m_Exact(m_Value())); in visitUDiv()
1415 if (match(Op1, m_SExt(m_Value(X))) && X->getType()->isIntOrIntVectorTy(1)) { in visitUDiv()
1427 if (match(Op0, m_LShr(m_NUWMul(m_Specific(Op1), m_Value(A)), m_Value(B))) || in visitUDiv()
1428 match(Op0, m_LShr(m_NUWMul(m_Value(A), m_Specific(Op1)), m_Value(B)))) { in visitUDiv()
1465 (match(Op1, m_SExt(m_Value(X))) && X->getType()->isIntOrIntVectorTy(1))) in visitSDiv()
1481 if (match(Op1, m_NSWShl(m_One(), m_Value(ShAmt)))) in visitSDiv()
1499 if (match(Op0, m_OneUse(m_SExt(m_Value(Op0Src)))) && in visitSDiv()
1517 match(Op0, m_NSWSub(m_Zero(), m_Value(X)))) { in visitSDiv()
1527 if (match(&I, m_SDiv(m_OneUse(m_NSWSub(m_Zero(), m_Value(X))), m_Value(Y)))) in visitSDiv()
1534 m_OneUse(m_Intrinsic<Intrinsic::abs>(m_Value(X), m_One())), in visitSDiv()
1596 if (match(I.getOperand(0), m_FNeg(m_Value(X)))) in foldFDivConstantDivisor()
1639 if (match(I.getOperand(1), m_FNeg(m_Value(X)))) in foldFDivConstantDividend()
1648 if (match(I.getOperand(1), m_FMul(m_Value(X), m_Constant(C2)))) { in foldFDivConstantDividend()
1651 } else if (match(I.getOperand(1), m_FDiv(m_Value(X), m_Constant(C2)))) { in foldFDivConstantDividend()
1746 if (match(Op0, m_OneUse(m_FDiv(m_Value(X), m_Value(Y)))) && in visitFDiv()
1752 if (match(Op1, m_OneUse(m_FDiv(m_Value(X), m_Value(Y)))) && in visitFDiv()
1764 if (match(Op1, m_FDiv(m_SpecificFP(1.0), m_Value(Y)))) in visitFDiv()
1772 bool IsTan = match(Op0, m_Intrinsic<Intrinsic::sin>(m_Value(X))) && in visitFDiv()
1775 !IsTan && match(Op0, m_Intrinsic<Intrinsic::cos>(m_Value(X))) && in visitFDiv()
1798 match(Op1, m_c_FMul(m_Specific(Op0), m_Value(Y)))) { in visitFDiv()
1807 (match(&I, m_FDiv(m_Value(X), m_FAbs(m_Deferred(X)))) || in visitFDiv()
1808 match(&I, m_FDiv(m_FAbs(m_Value(X)), m_Deferred(X))))) { in visitFDiv()
1820 m_Value(Y))))) { in visitFDiv()
1833 m_Value(Y)))) && in visitFDiv()
1860 if ((!V && match(Op, m_Mul(m_Value(V), m_APInt(Tmp)))) || in simplifyIRemMulShl()
1863 else if ((!V && match(Op, m_Shl(m_Value(V), m_APInt(Tmp)))) || in simplifyIRemMulShl()
1876 if ((!V && match(Op, m_Shl(m_APInt(Tmp), m_Value(V)))) || in simplifyIRemMulShl()
1972 match(Op1, m_Select(m_Value(), m_ImmConstant(), m_ImmConstant()))) { in commonIRemTransforms()
2053 if (match(Op1, m_SExt(m_Value(X))) && X->getType()->isIntOrIntVectorTy(1)) { in visitURem()
2061 if (match(Op0, m_Add(m_Value(X), m_One()))) { in visitURem()
2096 if (match(&I, m_SRem(m_OneUse(m_NSWSub(m_Zero(), m_Value(X))), m_Value(Y)))) in visitSRem()