Lines Matching defs:DividesBy
15288 // /u B) * B was found, and return the divisor B in \p DividesBy. For
15291 // DividesBy.
15293 [&](const SCEV *Expr, const SCEV *&DividesBy) {
15303 DividesBy = MulRHS;
15308 return HasDivisibiltyInfo(MinMax->getOperand(0), DividesBy) ||
15309 HasDivisibiltyInfo(MinMax->getOperand(1), DividesBy);
15313 // Return true if Expr known to divide by \p DividesBy.
15315 [&](const SCEV *Expr, const SCEV *DividesBy) {
15316 if (SE.getURemExpr(Expr, DividesBy)->isZero())
15319 return IsKnownToDivideBy(MinMax->getOperand(0), DividesBy) &&
15320 IsKnownToDivideBy(MinMax->getOperand(1), DividesBy);
15325 const SCEV *DividesBy = nullptr;
15326 if (HasDivisibiltyInfo(RewrittenLHS, DividesBy))
15327 // Check that the whole expression is divided by DividesBy
15328 DividesBy =
15329 IsKnownToDivideBy(RewrittenLHS, DividesBy) ? DividesBy : nullptr;
15351 RHS = DividesBy ? GetPreviousSCEVDividesByDivisor(RHS, DividesBy) : RHS;
15357 RHS = DividesBy ? GetNextSCEVDividesByDivisor(RHS, DividesBy) : RHS;
15361 RHS = DividesBy ? GetPreviousSCEVDividesByDivisor(RHS, DividesBy) : RHS;
15365 RHS = DividesBy ? GetNextSCEVDividesByDivisor(RHS, DividesBy) : RHS;
15420 DividesBy ? GetNextSCEVDividesByDivisor(One, DividesBy) : One;