Lines Matching full:denominator

54 // Denominator.
56 const SCEV *Denominator, const SCEV **Quotient, in divide() argument
58 assert(Numerator && Denominator && "Uninitialized SCEV"); in divide()
60 SCEVDivision D(SE, Numerator, Denominator); in divide()
64 if (Numerator == Denominator) { in divide()
77 if (Denominator->isOne()) { in divide()
83 // Split the Denominator when it is a product. in divide()
84 if (const SCEVMulExpr *T = dyn_cast<SCEVMulExpr>(Denominator)) { in divide()
92 // the Denominator. in divide()
109 if (const SCEVConstant *D = dyn_cast<SCEVConstant>(Denominator)) { in visitConstant()
137 divide(SE, Numerator->getStart(), Denominator, &StartQ, &StartR); in visitAddRecExpr()
138 divide(SE, Numerator->getStepRecurrence(SE), Denominator, &StepQ, &StepR); in visitAddRecExpr()
140 Type *Ty = Denominator->getType(); in visitAddRecExpr()
152 Type *Ty = Denominator->getType(); in visitAddExpr()
156 divide(SE, Op, Denominator, &Q, &R); in visitAddExpr()
178 Type *Ty = Denominator->getType(); in visitMulExpr()
191 // Check whether Denominator divides one of the product operands. in visitMulExpr()
193 divide(SE, Op, Denominator, &Q, &R); in visitMulExpr()
216 if (!isa<SCEVUnknown>(Denominator)) in visitMulExpr()
219 // The Remainder is obtained by replacing Denominator by 0 in Numerator. in visitMulExpr()
221 RewriteMap[cast<SCEVUnknown>(Denominator)->getValue()] = Zero; in visitMulExpr()
225 // The Quotient is obtained by replacing Denominator by 1 in Numerator. in visitMulExpr()
226 RewriteMap[cast<SCEVUnknown>(Denominator)->getValue()] = One; in visitMulExpr()
231 // Quotient is (Numerator - Remainder) divided by Denominator. in visitMulExpr()
237 divide(SE, Diff, Denominator, &Q, &R); in visitMulExpr()
244 const SCEV *Denominator) in SCEVDivision() argument
245 : SE(S), Denominator(Denominator) { in SCEVDivision()
246 Zero = SE.getZero(Denominator->getType()); in SCEVDivision()
247 One = SE.getOne(Denominator->getType()); in SCEVDivision()
249 // We generally do not know how to divide Expr by Denominator. We initialize in SCEVDivision()