Lines Matching refs:SCEV
118 const SCEV *Offset = nullptr;
119 const SCEV *Scale = nullptr;
134 const SCEV *getOffset() const { return Offset; } in getOffset()
135 const SCEV *getScale() const { return Scale; } in getScale()
167 const SCEV *Begin;
168 const SCEV *End;
171 Range(const SCEV *Begin, const SCEV *End) : Begin(Begin), End(End) { in Range()
176 const SCEV *getBegin() const { return Begin; } in getBegin()
177 const SCEV *getEnd() const { return End; } in getEnd()
259 const SCEV *S = SE.getSCEV(V); in parseRangeCheckICmp()
495 Optional<const SCEV *> LowLimit;
496 Optional<const SCEV *> HighLimit;
573 const SCEV *LatchTakenCount;
608 static bool CanBeSMax(ScalarEvolution &SE, const SCEV *S) { in CanBeSMax()
615 static bool CanBeSMin(ScalarEvolution &SE, const SCEV *S) { in CanBeSMin()
662 const SCEV *LatchCount = SE.getExitCount(&L, Latch); in parseLoopStructure()
670 const SCEV *LeftSCEV = SE.getSCEV(LeftValue); in parseLoopStructure()
674 const SCEV *RightSCEV = SE.getSCEV(RightValue); in parseLoopStructure()
689 if (AR->getNoWrapFlags(SCEV::FlagNSW)) in parseLoopStructure()
699 const SCEV *ExtendedStart = SE.getSignExtendExpr(AR->getStart(), WideTy); in parseLoopStructure()
700 const SCEV *ExtendedStep = in parseLoopStructure()
711 return AR->getNoWrapFlags(SCEV::FlagNSW) != SCEV::FlagAnyWrap; in parseLoopStructure()
793 const SCEV *StartNext = IndVarNext->getStart(); in parseLoopStructure()
794 const SCEV *Addend = SE.getNegativeSCEV(IndVarNext->getStepRecurrence(SE)); in parseLoopStructure()
795 const SCEV *IndVarStart = SE.getAddExpr(StartNext, Addend); in parseLoopStructure()
841 const SCEV *Start = SE.getSCEV(MainLoopStructure.IndVarStart); in calculateSubRanges()
842 const SCEV *End = SE.getSCEV(MainLoopStructure.LoopExitAt); in calculateSubRanges()
849 const SCEV *Smallest = nullptr, *Greatest = nullptr; in calculateSubRanges()
875 auto Clamp = [this, Smallest, Greatest](const SCEV *S) { in calculateSubRanges()
1187 const SCEV *ExitPreLoopAtSCEV = nullptr; in run()
1206 const SCEV *ExitMainLoopAtSCEV = nullptr; in run()
1312 const SCEV *A = IndVar->getStart(); in computeSafeIterationSpace()
1317 const SCEV *C = getOffset(); in computeSafeIterationSpace()
1326 const SCEV *M = SE.getMinusSCEV(C, A); in computeSafeIterationSpace()
1328 const SCEV *Begin = SE.getNegativeSCEV(M); in computeSafeIterationSpace()
1329 const SCEV *UpperLimit = nullptr; in computeSafeIterationSpace()
1341 const SCEV *End = SE.getMinusSCEV(UpperLimit, M); in computeSafeIterationSpace()
1358 const SCEV *NewBegin = SE.getSMaxExpr(R1Value.getBegin(), R2.getBegin()); in IntersectRange()
1359 const SCEV *NewEnd = SE.getSMinExpr(R1Value.getEnd(), R2.getEnd()); in IntersectRange()
1416 const SCEV *MinusOne = in runOnLoop()