Lines Matching refs:InductiveRangeCheck

145 class InductiveRangeCheck {  class
158 SmallVectorImpl<InductiveRangeCheck> &Checks,
238 SmallVectorImpl<InductiveRangeCheck> &Checks, bool &Changed);
270 bool InductiveRangeCheck::parseRangeCheckICmp(Loop *L, ICmpInst *ICI, in parseRangeCheckICmp()
304 bool InductiveRangeCheck::parseIvAgaisntLimit(Loop *L, Value *LHS, Value *RHS, in parseIvAgaisntLimit()
367 bool InductiveRangeCheck::reassociateSubLHS( in reassociateSubLHS()
485 void InductiveRangeCheck::extractRangeChecksFromCond( in extractRangeChecksFromCond()
487 SmallVectorImpl<InductiveRangeCheck> &Checks, in extractRangeChecksFromCond()
517 InductiveRangeCheck IRC; in extractRangeChecksFromCond()
525 void InductiveRangeCheck::extractRangeChecksFromBranch( in extractRangeChecksFromBranch()
527 SmallVectorImpl<InductiveRangeCheck> &Checks, bool &Changed) { in extractRangeChecksFromBranch()
551 InductiveRangeCheck::extractRangeChecksFromCond(L, SE, BI->getOperandUse(0), in extractRangeChecksFromBranch()
567 InductiveRangeCheck::Range &Range, in calculateSubRanges()
650 std::optional<InductiveRangeCheck::Range>
651 InductiveRangeCheck::computeSafeIterationSpace(ScalarEvolution &SE, in computeSafeIterationSpace()
824 return InductiveRangeCheck::Range(Begin, End); in computeSafeIterationSpace()
827 static std::optional<InductiveRangeCheck::Range>
829 const std::optional<InductiveRangeCheck::Range> &R1, in IntersectSignedRange()
830 const InductiveRangeCheck::Range &R2) { in IntersectSignedRange()
850 auto Ret = InductiveRangeCheck::Range(NewBegin, NewEnd); in IntersectSignedRange()
856 static std::optional<InductiveRangeCheck::Range>
858 const std::optional<InductiveRangeCheck::Range> &R1, in IntersectUnsignedRange()
859 const InductiveRangeCheck::Range &R2) { in IntersectUnsignedRange()
879 auto Ret = InductiveRangeCheck::Range(NewBegin, NewEnd); in IntersectUnsignedRange()
988 SmallVector<InductiveRangeCheck, 16> RangeChecks; in run()
993 InductiveRangeCheck::extractRangeChecksFromBranch(TBI, L, SE, BPI, in run()
1003 for (InductiveRangeCheck &IRC : RangeChecks) in run()
1027 std::optional<InductiveRangeCheck::Range> SafeIterRange; in run()
1029 SmallVector<InductiveRangeCheck, 4> RangeChecksToEliminate; in run()
1037 for (InductiveRangeCheck &IRC : RangeChecks) { in run()
1081 for (InductiveRangeCheck &IRC : RangeChecksToEliminate) { in run()