Lines Matching refs:IndVar
224 /// Computes a range for the induction variable (IndVar) in which the range
228 const SCEVAddRecExpr *IndVar,
647 /// Computes and returns a range of values for the induction variable (IndVar)
652 const SCEVAddRecExpr *IndVar,
656 auto *IVType = dyn_cast<IntegerType>(IndVar->getType());
665 // IndVar is of the form "A + B * I" (where "I" is the canonical induction
669 // checked to "M + N * IndVar" where "N" = "D * B^(-1)" and "M" = "C - NA".
673 // 0 <= M + 1 * IndVar < L given L >= 0 (i.e. N == 1)
676 // The inequality is satisfied by (0 - M) <= IndVar < (L - M). To avoid
679 // space. For example, if IndVar is unsigned, (0 - M) overflows for any M > 0.
685 if (!IndVar->isAffine())
688 const SCEV *A = NoopOrExtend(IndVar->getStart(), RCType, SE, IsLatchSigned);
690 NoopOrExtend(IndVar->getStepRecurrence(SE), RCType, SE, IsLatchSigned));
754 const Loop *L = IndVar->getLoop();
798 auto L = IndVar->getLoop();
1024 const SCEVAddRecExpr *IndVar =
1038 auto Result = IRC.computeSafeIterationSpace(SE, IndVar,