Lines Matching refs:HInductionVarAnalysis
121 InductionVarRange::InductionVarRange(HInductionVarAnalysis* induction_analysis) in InductionVarRange()
135 HInductionVarAnalysis::InductionInfo* info = induction_analysis_->LookupInfo(loop, instruction); in GetInductionRange()
154 HInductionVarAnalysis::InductionInfo* trip = in GetInductionRange()
227 bool InductionVarRange::IsConstant(HInductionVarAnalysis::InductionInfo* info, in IsConstant()
233 if (info->induction_class == HInductionVarAnalysis::kInvariant && in IsConstant()
234 info->operation == HInductionVarAnalysis::kFetch) { in IsConstant()
267 bool InductionVarRange::NeedsTripCount(HInductionVarAnalysis::InductionInfo* info) const { in NeedsTripCount()
269 if (info->induction_class == HInductionVarAnalysis::kLinear) { in NeedsTripCount()
271 } else if (info->induction_class == HInductionVarAnalysis::kWrapAround) { in NeedsTripCount()
278 bool InductionVarRange::IsBodyTripCount(HInductionVarAnalysis::InductionInfo* trip) const { in IsBodyTripCount()
280 if (trip->induction_class == HInductionVarAnalysis::kInvariant) { in IsBodyTripCount()
281 return trip->operation == HInductionVarAnalysis::kTripCountInBody || in IsBodyTripCount()
282 trip->operation == HInductionVarAnalysis::kTripCountInBodyUnsafe; in IsBodyTripCount()
288 bool InductionVarRange::IsUnsafeTripCount(HInductionVarAnalysis::InductionInfo* trip) const { in IsUnsafeTripCount()
290 if (trip->induction_class == HInductionVarAnalysis::kInvariant) { in IsUnsafeTripCount()
291 return trip->operation == HInductionVarAnalysis::kTripCountInBodyUnsafe || in IsUnsafeTripCount()
292 trip->operation == HInductionVarAnalysis::kTripCountInLoopUnsafe; in IsUnsafeTripCount()
298 InductionVarRange::Value InductionVarRange::GetLinear(HInductionVarAnalysis::InductionInfo* info, in GetLinear()
299 HInductionVarAnalysis::InductionInfo* trip, in GetLinear()
307 HInductionVarAnalysis::InductionInfo* trip_expr = trip->op_a; in GetLinear()
308 if (trip_expr->operation == HInductionVarAnalysis::kSub) { in GetLinear()
313 if (HInductionVarAnalysis::InductionEqual(trip_expr->op_b, info->op_b)) { in GetLinear()
315 HInductionVarAnalysis::InductionInfo cancelled_trip( in GetLinear()
326 if (HInductionVarAnalysis::InductionEqual(trip_expr->op_a, info->op_b)) { in GetLinear()
328 HInductionVarAnalysis::InductionInfo neg( in GetLinear()
329 HInductionVarAnalysis::kInvariant, in GetLinear()
330 HInductionVarAnalysis::kNeg, in GetLinear()
335 HInductionVarAnalysis::InductionInfo cancelled_trip( in GetLinear()
349 HInductionVarAnalysis::InductionInfo* trip, in GetFetch()
382 InductionVarRange::Value InductionVarRange::GetVal(HInductionVarAnalysis::InductionInfo* info, in GetVal()
383 HInductionVarAnalysis::InductionInfo* trip, in GetVal()
388 case HInductionVarAnalysis::kInvariant: in GetVal()
391 case HInductionVarAnalysis::kAdd: in GetVal()
394 case HInductionVarAnalysis::kSub: // second reversed! in GetVal()
397 case HInductionVarAnalysis::kNeg: // second reversed! in GetVal()
400 case HInductionVarAnalysis::kMul: in GetVal()
402 case HInductionVarAnalysis::kDiv: in GetVal()
404 case HInductionVarAnalysis::kFetch: in GetVal()
406 case HInductionVarAnalysis::kTripCountInLoop: in GetVal()
407 case HInductionVarAnalysis::kTripCountInLoopUnsafe: in GetVal()
412 case HInductionVarAnalysis::kTripCountInBody: in GetVal()
413 case HInductionVarAnalysis::kTripCountInBodyUnsafe: in GetVal()
424 case HInductionVarAnalysis::kLinear: { in GetVal()
427 case HInductionVarAnalysis::kWrapAround: in GetVal()
428 case HInductionVarAnalysis::kPeriodic: in GetVal()
436 InductionVarRange::Value InductionVarRange::GetMul(HInductionVarAnalysis::InductionInfo* info1, in GetMul()
437 HInductionVarAnalysis::InductionInfo* info2, in GetMul()
438 HInductionVarAnalysis::InductionInfo* trip, in GetMul()
474 InductionVarRange::Value InductionVarRange::GetDiv(HInductionVarAnalysis::InductionInfo* info1, in GetDiv()
475 HInductionVarAnalysis::InductionInfo* info2, in GetDiv()
476 HInductionVarAnalysis::InductionInfo* trip, in GetDiv()
592 HInductionVarAnalysis::InductionInfo* info = induction_analysis_->LookupInfo(loop, v.instruction); in RefineOuter()
599 HInductionVarAnalysis::InductionInfo* trip = in RefineOuter()
618 HInductionVarAnalysis::InductionInfo* info = induction_analysis_->LookupInfo(loop, instruction); in GenerateCode()
625 HInductionVarAnalysis::InductionInfo* trip = in GenerateCode()
650 ((info->induction_class == HInductionVarAnalysis::kInvariant) || in GenerateCode()
656 bool InductionVarRange::GenerateCode(HInductionVarAnalysis::InductionInfo* info, in GenerateCode()
657 HInductionVarAnalysis::InductionInfo* trip, in GenerateCode()
673 case HInductionVarAnalysis::kInvariant: in GenerateCode()
676 case HInductionVarAnalysis::kAdd: in GenerateCode()
677 case HInductionVarAnalysis::kLT: in GenerateCode()
678 case HInductionVarAnalysis::kLE: in GenerateCode()
679 case HInductionVarAnalysis::kGT: in GenerateCode()
680 case HInductionVarAnalysis::kGE: in GenerateCode()
686 case HInductionVarAnalysis::kAdd: in GenerateCode()
688 case HInductionVarAnalysis::kLT: in GenerateCode()
690 case HInductionVarAnalysis::kLE: in GenerateCode()
692 case HInductionVarAnalysis::kGT: in GenerateCode()
694 case HInductionVarAnalysis::kGE: in GenerateCode()
704 case HInductionVarAnalysis::kSub: // second reversed! in GenerateCode()
713 case HInductionVarAnalysis::kNeg: // reversed! in GenerateCode()
721 case HInductionVarAnalysis::kFetch: in GenerateCode()
726 case HInductionVarAnalysis::kTripCountInLoop: in GenerateCode()
727 case HInductionVarAnalysis::kTripCountInLoopUnsafe: in GenerateCode()
732 case HInductionVarAnalysis::kTripCountInBody: in GenerateCode()
733 case HInductionVarAnalysis::kTripCountInBodyUnsafe: in GenerateCode()
754 case HInductionVarAnalysis::kLinear: { in GenerateCode()
778 case HInductionVarAnalysis::kWrapAround: in GenerateCode()
779 case HInductionVarAnalysis::kPeriodic: { in GenerateCode()