Home | History | Annotate | Download | only in Scalar

Lines Matching defs:End

171     const SCEV *End;
174 Range(const SCEV *Begin, const SCEV *End) : Begin(Begin), End(End) {
175 assert(Begin->getType() == End->getType() && "ill-typed range!");
180 const SCEV *getEnd() const { return End; }
477 /// End). The algorithm then tries to break out a "main loop" out of the loop
479 /// in a subset of [Begin, End). The algorithm emits appropriate pre and post
482 /// iterations in which the induction variable is >= End.
512 // on low end of the restricted iteration space of the main loop. `HighLimit`
513 // is None if there is no restriction on high end of the restricted iteration
864 const SCEV *End = SE.getSCEV(MainLoopStructure.LoopExitAt);
875 Greatest = End;
881 // `End`, decrementing by one every time.
883 // * if `Smallest` sign-overflows we know `End` is `INT_SMAX`. Since the
893 Smallest = SE.getAddExpr(End, SE.getSCEV(One));
927 if (It == Result.Map.end())
1106 RRI.IndVarEnd = PHINode::Create(LS.IndVarNext->getType(), 2, "indvar.end",
1288 std::remove(std::begin(NewBlocks), std::end(NewBlocks), nullptr);
1364 const SCEV *End = SE.getMinusSCEV(UpperLimit, M);
1365 return InductiveRangeCheck::Range(Begin, End);