Lines Matching refs:C2

170     Constant *C1, *C2;  in visitMul()  local
172 if (match(&I, m_Mul(m_Shl(m_Value(NewOp), m_Constant(C2)), in visitMul()
176 Constant *Shl = ConstantExpr::getShl(C1, C2); in visitMul()
696 static bool multiplyOverflows(const APInt &C1, const APInt &C2, APInt &Product, in multiplyOverflows() argument
699 Product = IsSigned ? C1.smul_ov(C2, Overflow) : C1.umul_ov(C2, Overflow); in multiplyOverflows()
704 static bool isMultiple(const APInt &C1, const APInt &C2, APInt &Quotient, in isMultiple() argument
706 assert(C1.getBitWidth() == C2.getBitWidth() && "Constant widths not equal"); in isMultiple()
709 if (C2.isNullValue()) in isMultiple()
713 if (IsSigned && C1.isMinSignedValue() && C2.isAllOnesValue()) in isMultiple()
718 APInt::sdivrem(C1, C2, Quotient, Remainder); in isMultiple()
720 APInt::udivrem(C1, C2, Quotient, Remainder); in isMultiple()
743 const APInt *C2; in commonIDivTransforms() local
744 if (match(Op1, m_APInt(C2))) { in commonIDivTransforms()
752 if (!multiplyOverflows(*C1, *C2, Product, IsSigned)) in commonIDivTransforms()
762 if (isMultiple(*C2, *C1, Quotient, IsSigned)) { in commonIDivTransforms()
770 if (isMultiple(*C1, *C2, Quotient, IsSigned)) { in commonIDivTransforms()
788 if (isMultiple(*C2, C1Shifted, Quotient, IsSigned)) { in commonIDivTransforms()
796 if (isMultiple(C1Shifted, *C2, Quotient, IsSigned)) { in commonIDivTransforms()
806 if (!C2->isNullValue()) // avoid X udiv 0 in commonIDivTransforms()
1021 const APInt *C1, *C2; in visitUDiv() local
1022 if (match(Op0, m_LShr(m_Value(X), m_APInt(C1))) && match(Op1, m_APInt(C2))) { in visitUDiv()
1025 APInt C2ShlC1 = C2->ushl_ov(*C1, Overflow); in visitUDiv()
1265 Constant *C2, *NewC = nullptr; in foldFDivConstantDividend() local
1266 if (match(I.getOperand(1), m_FMul(m_Value(X), m_Constant(C2)))) { in foldFDivConstantDividend()
1268 NewC = ConstantExpr::getFDiv(C, C2); in foldFDivConstantDividend()
1269 } else if (match(I.getOperand(1), m_FDiv(m_Value(X), m_Constant(C2)))) { in foldFDivConstantDividend()
1271 NewC = ConstantExpr::getFMul(C, C2); in foldFDivConstantDividend()