Lines Matching defs:DividesBy
15592 // /u B) * B was found, and return the divisor B in \p DividesBy. For
15595 // DividesBy.
15597 [&](const SCEV *Expr, const SCEV *&DividesBy) {
15607 DividesBy = MulRHS;
15612 return HasDivisibiltyInfo(MinMax->getOperand(0), DividesBy) ||
15613 HasDivisibiltyInfo(MinMax->getOperand(1), DividesBy);
15617 // Return true if Expr known to divide by \p DividesBy.
15619 [&](const SCEV *Expr, const SCEV *DividesBy) {
15620 if (SE.getURemExpr(Expr, DividesBy)->isZero())
15623 return IsKnownToDivideBy(MinMax->getOperand(0), DividesBy) &&
15624 IsKnownToDivideBy(MinMax->getOperand(1), DividesBy);
15629 const SCEV *DividesBy = nullptr;
15630 if (HasDivisibiltyInfo(RewrittenLHS, DividesBy))
15631 // Check that the whole expression is divided by DividesBy
15632 DividesBy =
15633 IsKnownToDivideBy(RewrittenLHS, DividesBy) ? DividesBy : nullptr;
15655 RHS = DividesBy ? GetPreviousSCEVDividesByDivisor(RHS, DividesBy) : RHS;
15661 RHS = DividesBy ? GetNextSCEVDividesByDivisor(RHS, DividesBy) : RHS;
15665 RHS = DividesBy ? GetPreviousSCEVDividesByDivisor(RHS, DividesBy) : RHS;
15669 RHS = DividesBy ? GetNextSCEVDividesByDivisor(RHS, DividesBy) : RHS;
15723 DividesBy ? GetNextSCEVDividesByDivisor(One, DividesBy) : One;