Lines Matching defs:IndVar
216 /// Computes a range for the induction variable (IndVar) in which the range
220 const SCEVAddRecExpr *IndVar,
663 /// Computes and returns a range of values for the induction variable (IndVar)
668 const SCEVAddRecExpr *IndVar,
672 auto *IVType = dyn_cast<IntegerType>(IndVar->getType());
681 // IndVar is of the form "A + B * I" (where "I" is the canonical induction
685 // checked to "M + N * IndVar" where "N" = "D * B^(-1)" and "M" = "C - NA".
689 // 0 <= M + 1 * IndVar < L given L >= 0 (i.e. N == 1)
692 // The inequality is satisfied by (0 - M) <= IndVar < (L - M). To avoid
695 // space. For example, if IndVar is unsigned, (0 - M) overflows for any M > 0.
701 if (!IndVar->isAffine())
704 const SCEV *A = NoopOrExtend(IndVar->getStart(), RCType, SE, IsLatchSigned);
706 NoopOrExtend(IndVar->getStepRecurrence(SE), RCType, SE, IsLatchSigned));
770 const Loop *L = IndVar->getLoop();
814 auto L = IndVar->getLoop();
1046 const SCEVAddRecExpr *IndVar =
1060 auto Result = IRC.computeSafeIterationSpace(SE, IndVar,