Lines Matching refs:InductiveRangeCheck
137 class InductiveRangeCheck { class
150 SmallVectorImpl<InductiveRangeCheck> &Checks,
231 SmallVectorImpl<InductiveRangeCheck> &Checks, bool &Changed);
264 bool InductiveRangeCheck::parseRangeCheckICmp(Loop *L, ICmpInst *ICI, in parseRangeCheckICmp()
298 bool InductiveRangeCheck::parseIvAgaisntLimit(Loop *L, Value *LHS, Value *RHS, in parseIvAgaisntLimit()
361 bool InductiveRangeCheck::reassociateSubLHS( in reassociateSubLHS()
479 void InductiveRangeCheck::extractRangeChecksFromCond( in extractRangeChecksFromCond()
481 SmallVectorImpl<InductiveRangeCheck> &Checks, in extractRangeChecksFromCond()
511 InductiveRangeCheck IRC; in extractRangeChecksFromCond()
519 void InductiveRangeCheck::extractRangeChecksFromBranch( in extractRangeChecksFromBranch()
522 SmallVectorImpl<InductiveRangeCheck> &Checks, bool &Changed) { in extractRangeChecksFromBranch()
567 InductiveRangeCheck::extractRangeChecksFromCond(L, SE, BI->getOperandUse(0), in extractRangeChecksFromBranch()
583 InductiveRangeCheck::Range &Range, in calculateSubRanges()
666 std::optional<InductiveRangeCheck::Range>
667 InductiveRangeCheck::computeSafeIterationSpace(ScalarEvolution &SE, in computeSafeIterationSpace()
840 return InductiveRangeCheck::Range(Begin, End); in computeSafeIterationSpace()
843 static std::optional<InductiveRangeCheck::Range>
845 const std::optional<InductiveRangeCheck::Range> &R1, in IntersectSignedRange()
846 const InductiveRangeCheck::Range &R2) { in IntersectSignedRange()
866 auto Ret = InductiveRangeCheck::Range(NewBegin, NewEnd); in IntersectSignedRange()
872 static std::optional<InductiveRangeCheck::Range>
874 const std::optional<InductiveRangeCheck::Range> &R1, in IntersectUnsignedRange()
875 const InductiveRangeCheck::Range &R2) { in IntersectUnsignedRange()
895 auto Ret = InductiveRangeCheck::Range(NewBegin, NewEnd); in IntersectUnsignedRange()
1012 SmallVector<InductiveRangeCheck, 16> RangeChecks; in run()
1017 InductiveRangeCheck::extractRangeChecksFromBranch( in run()
1027 for (InductiveRangeCheck &IRC : RangeChecks) in run()
1049 std::optional<InductiveRangeCheck::Range> SafeIterRange; in run()
1051 SmallVector<InductiveRangeCheck, 4> RangeChecksToEliminate; in run()
1059 for (InductiveRangeCheck &IRC : RangeChecks) { in run()
1103 for (InductiveRangeCheck &IRC : RangeChecksToEliminate) { in run()