Lines Matching refs:C1

224     Constant *C1, *C2;  in visitMul()  local
227 m_Constant(C1))) && in visitMul()
228 match(C1, m_APInt(IVal))) { in visitMul()
230 Constant *Shl = ConstantExpr::getShl(C1, C2); in visitMul()
240 if (match(&I, m_Mul(m_Value(NewOp), m_Constant(C1)))) { in visitMul()
242 if (Constant *NewCst = ConstantExpr::getExactLogBase2(C1)) { in visitMul()
302 Constant *C1; in visitMul() local
303 if (match(Op0, m_OneUse(m_AddLike(m_Value(X), m_ImmConstant(C1))))) { in visitMul()
305 Value *NewC = Builder.CreateMul(C1, MulC); in visitMul()
583 Constant *C1; in foldFMulReassoc() local
584 if (match(Op0, m_OneUse(m_FDiv(m_Constant(C1), m_Value(X))))) { in foldFMulReassoc()
587 ConstantFoldBinaryOpOperands(Instruction::FMul, C, C1, DL); in foldFMulReassoc()
591 if (match(Op0, m_FDiv(m_Value(X), m_Constant(C1)))) { in foldFMulReassoc()
594 ConstantFoldBinaryOpOperands(Instruction::FDiv, C, C1, DL); in foldFMulReassoc()
601 ConstantFoldBinaryOpOperands(Instruction::FDiv, C1, C, DL); in foldFMulReassoc()
609 if (match(Op0, m_OneUse(m_FAdd(m_Value(X), m_Constant(C1))))) { in foldFMulReassoc()
612 ConstantFoldBinaryOpOperands(Instruction::FMul, C, C1, DL)) { in foldFMulReassoc()
617 if (match(Op0, m_OneUse(m_FSub(m_Constant(C1), m_Value(X))))) { in foldFMulReassoc()
620 ConstantFoldBinaryOpOperands(Instruction::FMul, C, C1, DL)) { in foldFMulReassoc()
915 static bool multiplyOverflows(const APInt &C1, const APInt &C2, APInt &Product, in multiplyOverflows() argument
918 Product = IsSigned ? C1.smul_ov(C2, Overflow) : C1.umul_ov(C2, Overflow); in multiplyOverflows()
923 static bool isMultiple(const APInt &C1, const APInt &C2, APInt &Quotient, in isMultiple() argument
925 assert(C1.getBitWidth() == C2.getBitWidth() && "Constant widths not equal"); in isMultiple()
932 if (IsSigned && C1.isMinSignedValue() && C2.isAllOnes()) in isMultiple()
935 APInt Remainder(C1.getBitWidth(), /*val=*/0ULL, IsSigned); in isMultiple()
937 APInt::sdivrem(C1, C2, Quotient, Remainder); in isMultiple()
939 APInt::udivrem(C1, C2, Quotient, Remainder); in isMultiple()
1058 const APInt *C1; in commonIDivTransforms() local
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()
1063 APInt Product(C1->getBitWidth(), /*val=*/0ULL, IsSigned); in commonIDivTransforms()
1064 if (!multiplyOverflows(*C1, *C2, Product, IsSigned)) 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()
1074 if (isMultiple(*C2, *C1, Quotient, IsSigned)) { in commonIDivTransforms()
1082 if (isMultiple(*C1, *C2, Quotient, IsSigned)) { in commonIDivTransforms()
1092 if ((IsSigned && match(Op0, m_NSWShl(m_Value(X), m_APInt(C1))) && in commonIDivTransforms()
1093 C1->ult(C1->getBitWidth() - 1)) || in commonIDivTransforms()
1094 (!IsSigned && match(Op0, m_NUWShl(m_Value(X), m_APInt(C1))) && in commonIDivTransforms()
1095 C1->ult(C1->getBitWidth()))) { in commonIDivTransforms()
1097 C1->getBitWidth(), static_cast<unsigned>(C1->getZExtValue())); in commonIDivTransforms()
1124 m_APInt(C1))) && in commonIDivTransforms()
1125 isMultiple(*C1, *C2, Quotient, IsSigned)) { in commonIDivTransforms()
1130 m_APInt(C1)))) { in commonIDivTransforms()
1132 ConstantInt::get(Ty, C1->udiv(*C2))); in commonIDivTransforms()
1230 const APInt *C1, *C2; in commonIDivTransforms() local
1232 if (OB1HasNSW && match(B, m_APInt(C1)) && !C1->isAllOnes()) in commonIDivTransforms()
1238 if (match(A, m_APInt(C1)) && match(B, m_APInt(C2)) && C2->ule(*C1)) in commonIDivTransforms()
1392 const APInt *C1, *C2; in visitUDiv() local
1393 if (match(Op0, m_LShr(m_Value(X), m_APInt(C1))) && match(Op1, m_APInt(C2))) { in visitUDiv()
1396 APInt C2ShlC1 = C2->ushl_ov(*C1, Overflow); in visitUDiv()