Lines Matching refs:Step
58 // I.INC = I + Step
70 // I.INC = I + Step
75 // One solution for M is M = forall X . (G(X) && B(X)) => G(X + Step)
95 // So M = forall X . (G(X) && B(X)) => G(X + Step) implies G(I + Step).
274 bool isSupportedStep(const SCEV* Step);
478 bool LoopPredication::isSupportedStep(const SCEV* Step) {
479 return Step->isOne() || (Step->isAllOnesValue() && EnableCountDownLoop);
680 auto *Step = RangeCheckIV->getStepRecurrence(*SE);
683 if (!isSupportedStep(Step)) {
699 assert(Step->getType() ==
702 if (Step != CurrLatchCheck.IV->getStepRecurrence(*SE)) {
707 if (Step->isOne())
711 assert(Step->isAllOnesValue() && "Step should be -1!");
848 auto *Step = Result->IV->getStepRecurrence(*SE);
849 if (!isSupportedStep(Step)) {
850 LLVM_DEBUG(dbgs() << "Unsupported loop stride(" << *Step << ")!\n");
854 auto IsUnsupportedPredicate = [](const SCEV *Step, ICmpInst::Predicate Pred) {
855 if (Step->isOne()) {
859 assert(Step->isAllOnesValue() && "Step should be -1!");
866 if (IsUnsupportedPredicate(Step, Result->Pred)) {