Home
last modified time | relevance | path

Searched refs:trip_count (Results 1 – 7 of 7) sorted by relevance

/art/compiler/optimizing/
Dloop_analysis.cc27 int64_t trip_count) { in CalculateLoopBasicProperties() argument
28 analysis_results->trip_count_ = trip_count; in CalculateLoopBasicProperties()
69 int64_t trip_count; in GetLoopTripCount() local
70 if (!induction_range->HasKnownTripCount(loop_info, &trip_count)) { in GetLoopTripCount()
71 trip_count = LoopAnalysisInfo::kUnknownTripCount; in GetLoopTripCount()
73 return trip_count; in GetLoopTripCount()
100 int64_t trip_count = analysis_info->GetTripCount(); in GetScalarUnrollingFactor() local
102 if (trip_count == LoopAnalysisInfo::kUnknownTripCount) { in GetScalarUnrollingFactor()
106 if (trip_count < desired_unrolling_factor || trip_count % desired_unrolling_factor != 0) { in GetScalarUnrollingFactor()
116 int64_t trip_count = analysis_info->GetTripCount(); in IsFullUnrollingBeneficial() local
[all …]
Dloop_analysis.h105 int64_t trip_count);
179 [[maybe_unused]] int64_t trip_count, in GetSIMDUnrollingFactor() argument
Dloop_optimization.h305 bool ShouldVectorizeCommon(LoopNode* node, HPhi* main_phi, int64_t trip_count);
320 int64_t trip_count);
326 int64_t trip_count);
335 int64_t trip_count);
452 bool IsVectorizationProfitable(int64_t trip_count);
Dloop_optimization.cc746 int64_t trip_count = analysis_info->GetTripCount(); in TryToRemoveSuspendCheckFromLoopHeader() local
748 if (trip_count == LoopAnalysisInfo::kUnknownTripCount) { in TryToRemoveSuspendCheckFromLoopHeader()
753 int64_t total_instruction_count = trip_count * instruction_count; in TryToRemoveSuspendCheckFromLoopHeader()
889 int64_t trip_count = 0; in TryOptimizeInnerLoopFinite() local
890 if (!induction_range_.IsFinite(node->loop_info, &trip_count)) { in TryOptimizeInnerLoopFinite()
911 (is_empty || trip_count == 1) && in TryOptimizeInnerLoopFinite()
942 return TryVectorizePredicated(node, body, exit, main_phi, trip_count); in TryOptimizeInnerLoopFinite()
944 return TryVectorizedTraditional(node, body, exit, main_phi, trip_count); in TryOptimizeInnerLoopFinite()
952 int64_t trip_count) { in TryVectorizePredicated() argument
954 !ShouldVectorizeCommon(node, main_phi, trip_count)) { in TryVectorizePredicated()
[all …]
Dinduction_var_range.h168 bool IsFinite(const HLoopInformation* loop, /*out*/ int64_t* trip_count) const;
173 bool HasKnownTripCount(const HLoopInformation* loop, /*out*/ int64_t* trip_count) const;
209 /*out*/ int64_t* trip_count) const;
Dinduction_var_analysis.cc1120 InductionInfo* trip_count = upper_expr; in VisitTripCount() local
1128 trip_count = CreateInvariantOp(context, loop, kSub, trip_count, CreateConstant(1, type)); in VisitTripCount()
1130 trip_count = CreateInvariantOp(context, loop, kAdd, trip_count, CreateConstant(1, type)); in VisitTripCount()
1133 trip_count = CreateInvariantOp(context, loop, kAdd, trip_count, stride_expr); in VisitTripCount()
1135 trip_count = CreateInvariantOp(context, loop, kSub, trip_count, lower_expr); in VisitTripCount()
1136 trip_count = CreateInvariantOp(context, loop, kDiv, trip_count, stride_expr); in VisitTripCount()
1160 AssignInfo(loop, control, CreateTripCount(tcKind, trip_count, taken_test, type)); in VisitTripCount()
Dinduction_var_range.cc378 bool InductionVarRange::IsFinite(const HLoopInformation* loop, /*out*/ int64_t* trip_count) const { in IsFinite()
380 return CheckForFiniteAndConstantProps(loop, &is_constant_unused, trip_count); in IsFinite()
384 /*out*/ int64_t* trip_count) const { in HasKnownTripCount()
386 CheckForFiniteAndConstantProps(loop, &is_constant, trip_count); in HasKnownTripCount()
463 /*out*/ int64_t* trip_count) const { in CheckForFiniteAndConstantProps()
468 *is_constant = IsConstant(context, loop, trip->op_a, kExact, trip_count); in CheckForFiniteAndConstantProps()