• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-12-stable/contrib/llvm-project/llvm/lib/Analysis/

Lines Matching defs:Denominator

891   // Denominator.
893 const SCEV *Denominator, const SCEV **Quotient,
895 assert(Numerator && Denominator && "Uninitialized SCEV");
897 SCEVDivision D(SE, Numerator, Denominator);
901 if (Numerator == Denominator) {
914 if (Denominator->isOne()) {
920 // Split the Denominator when it is a product.
921 if (const SCEVMulExpr *T = dyn_cast<SCEVMulExpr>(Denominator)) {
929 // the Denominator.
946 // Expr by Denominator for the following functions with empty implementation.
959 if (const SCEVConstant *D = dyn_cast<SCEVConstant>(Denominator)) {
983 divide(SE, Numerator->getStart(), Denominator, &StartQ, &StartR);
984 divide(SE, Numerator->getStepRecurrence(SE), Denominator, &StepQ, &StepR);
986 Type *Ty = Denominator->getType();
998 Type *Ty = Denominator->getType();
1002 divide(SE, Op, Denominator, &Q, &R);
1024 Type *Ty = Denominator->getType();
1037 // Check whether Denominator divides one of the product operands.
1039 divide(SE, Op, Denominator, &Q, &R);
1062 if (!isa<SCEVUnknown>(Denominator))
1065 // The Remainder is obtained by replacing Denominator by 0 in Numerator.
1067 RewriteMap[cast<SCEVUnknown>(Denominator)->getValue()] =
1072 // The Quotient is obtained by replacing Denominator by 1 in Numerator.
1073 RewriteMap[cast<SCEVUnknown>(Denominator)->getValue()] =
1080 // Quotient is (Numerator - Remainder) divided by Denominator.
1086 divide(SE, Diff, Denominator, &Q, &R);
1094 const SCEV *Denominator)
1095 : SE(S), Denominator(Denominator) {
1096 Zero = SE.getZero(Denominator->getType());
1097 One = SE.getOne(Denominator->getType());
1099 // We generally do not know how to divide Expr by Denominator. We
1113 const SCEV *Denominator, *Quotient, *Remainder, *Zero, *One;
10349 // We are going to perform some comparisons with Denominator and its
10355 // So we bail if Denominator is not a constant.
10359 auto *Denominator = cast<SCEVConstant>(getSCEV(LR));
10361 // We want to make sure that LHS = FoundLHS / Denominator. If it is so,
10369 if (!HasSameValue(Numerator, FoundLHS) || !isKnownPositive(Denominator))
10372 auto *DTy = Denominator->getType();
10382 // FoundLHS > FoundRHS, LHS = FoundLHS / Denominator, Denominator > 0.
10384 auto *DenominatorExt = getNoopOrSignExtend(Denominator, WTy);
10388 // (FoundRHS > Denominator - 2) && (RHS <= 0) => (LHS > RHS).
10390 // least 3. If we divide it by Denominator < 4, we will have at least 1.
10397 // (FoundRHS > -1 - Denominator) && (RHS < 0) => (LHS > RHS).
10399 // If we divide it by Denominator > 2, then: