Lines Matching refs:upper_expr
796 InductionInfo* upper_expr = b; in VisitCondition() local
806 if (cmp == kCondNE && ((stride_value == +1 && IsTaken(lower_expr, upper_expr, kCondLE)) || in VisitCondition()
807 (stride_value == -1 && IsTaken(lower_expr, upper_expr, kCondGE)))) { in VisitCondition()
815 !FitsNarrowerControl(lower_expr, upper_expr, stride_value, a->type, cmp)) { in VisitCondition()
823 VisitTripCount(loop, lower_expr, upper_expr, stride_expr, stride_value, type, cmp); in VisitCondition()
830 InductionInfo* upper_expr, in VisitTripCount() argument
861 InductionInfo* trip_count = upper_expr; in VisitTripCount()
862 const bool is_taken = IsTaken(lower_expr, upper_expr, cmp); in VisitTripCount()
863 const bool is_finite = IsFinite(upper_expr, stride_value, type, cmp); in VisitTripCount()
899 InductionInfo* taken_test = CreateInvariantOp(op, lower_expr, upper_expr); in VisitTripCount()
905 InductionInfo* upper_expr, in IsTaken() argument
912 && IsAtLeast(upper_expr, &upper_value) in IsTaken()
916 && IsAtLeast(upper_expr, &upper_value) in IsTaken()
920 && IsAtMost(upper_expr, &upper_value) in IsTaken()
924 && IsAtMost(upper_expr, &upper_value) in IsTaken()
932 bool HInductionVarAnalysis::IsFinite(InductionInfo* upper_expr, in IsFinite() argument
943 (IsAtMost(upper_expr, &value) && value <= (max - stride_value + 1)); in IsFinite()
945 return (IsAtMost(upper_expr, &value) && value <= (max - stride_value)); in IsFinite()
948 (IsAtLeast(upper_expr, &value) && value >= (min - stride_value - 1)); in IsFinite()
950 return (IsAtLeast(upper_expr, &value) && value >= (min - stride_value)); in IsFinite()
958 InductionInfo* upper_expr, in FitsNarrowerControl() argument
976 IsAtLeast(upper_expr, &value) && value >= min && in FitsNarrowerControl()
977 IsAtMost(upper_expr, &value) && value <= max; in FitsNarrowerControl()