Lines Matching refs:SCEV
119 const SCEV *Offset;
120 const SCEV *Scale;
131 const SCEV *&Index, Value *&UpperLimit);
137 const SCEV *getOffset() const { return Offset; } in getOffset()
138 const SCEV *getScale() const { return Scale; } in getScale()
170 const SCEV *Begin;
171 const SCEV *End;
174 Range(const SCEV *Begin, const SCEV *End) : Begin(Begin), End(End) { in Range()
179 const SCEV *getBegin() const { return Begin; } in getBegin()
180 const SCEV *getEnd() const { return End; } in getEnd()
264 const SCEV *S = SE.getSCEV(V); in parseRangeCheckICmp()
327 Value *Condition, const SCEV *&Index, in parseRangeCheck()
397 const SCEV *IndexSCEV = nullptr; in create()
517 Optional<const SCEV *> LowLimit;
518 Optional<const SCEV *> HighLimit;
595 const SCEV *LatchTakenCount;
630 static bool CanBeSMax(ScalarEvolution &SE, const SCEV *S) { in CanBeSMax()
637 static bool CanBeSMin(ScalarEvolution &SE, const SCEV *S) { in CanBeSMin()
684 const SCEV *LatchCount = SE.getExitCount(&L, Latch); in parseLoopStructure()
692 const SCEV *LeftSCEV = SE.getSCEV(LeftValue); in parseLoopStructure()
696 const SCEV *RightSCEV = SE.getSCEV(RightValue); in parseLoopStructure()
711 if (AR->getNoWrapFlags(SCEV::FlagNSW)) in parseLoopStructure()
721 const SCEV *ExtendedStart = SE.getSignExtendExpr(AR->getStart(), WideTy); in parseLoopStructure()
722 const SCEV *ExtendedStep = in parseLoopStructure()
733 return AR->getNoWrapFlags(SCEV::FlagNSW) != SCEV::FlagAnyWrap; in parseLoopStructure()
815 const SCEV *StartNext = IndVarNext->getStart(); in parseLoopStructure()
816 const SCEV *Addend = SE.getNegativeSCEV(IndVarNext->getStepRecurrence(SE)); in parseLoopStructure()
817 const SCEV *IndVarStart = SE.getAddExpr(StartNext, Addend); in parseLoopStructure()
863 const SCEV *Start = SE.getSCEV(MainLoopStructure.IndVarStart); in calculateSubRanges()
864 const SCEV *End = SE.getSCEV(MainLoopStructure.LoopExitAt); in calculateSubRanges()
871 const SCEV *Smallest = nullptr, *Greatest = nullptr; in calculateSubRanges()
897 auto Clamp = [this, Smallest, Greatest](const SCEV *S) { in calculateSubRanges()
1209 const SCEV *ExitPreLoopAtSCEV = nullptr; in run()
1228 const SCEV *ExitMainLoopAtSCEV = nullptr; in run()
1335 const SCEV *A = IndVar->getStart(); in computeSafeIterationSpace()
1340 const SCEV *C = getOffset(); in computeSafeIterationSpace()
1349 const SCEV *M = SE.getMinusSCEV(C, A); in computeSafeIterationSpace()
1351 const SCEV *Begin = SE.getNegativeSCEV(M); in computeSafeIterationSpace()
1352 const SCEV *UpperLimit = nullptr; in computeSafeIterationSpace()
1364 const SCEV *End = SE.getMinusSCEV(UpperLimit, M); in computeSafeIterationSpace()
1381 const SCEV *NewBegin = SE.getSMaxExpr(R1Value.getBegin(), R2.getBegin()); in IntersectRange()
1382 const SCEV *NewEnd = SE.getSMinExpr(R1Value.getEnd(), R2.getEnd()); in IntersectRange()
1437 const SCEV *MinusOne = in runOnLoop()