Home | History | Annotate | Download | only in optimizing

Lines Matching defs:loop

185 /** Obtains loop's control instruction. */
186 static HInstruction* GetLoopControl(HLoopInformation* loop) {
187 DCHECK(loop != nullptr);
188 return loop->GetHeader()->GetLastInstruction();
207 HLoopInformation* loop = nullptr;
210 if (!HasInductionInfo(context, instruction, &loop, &info, &trip)) {
227 bool in_body = context->GetBlock() != loop->GetHeader();
354 for (HLoopInformation* lp = instruction->GetBlock()->GetLoopInformation(); // closest enveloping loop
359 // Update loop's trip-count information.
364 bool InductionVarRange::IsFinite(HLoopInformation* loop, /*out*/ int64_t* tc) const {
366 induction_analysis_->LookupInfo(loop, GetLoopControl(loop));
377 HLoopInformation* loop = nullptr;
380 if (HasInductionInfo(context, instruction, &loop, &info, &trip)) {
399 HInstruction* InductionVarRange::GenerateTripCount(HLoopInformation* loop,
403 induction_analysis_->LookupInfo(loop, GetLoopControl(loop));
460 /*out*/ HLoopInformation** loop,
465 HLoopInformation* lp = context->GetBlock()->GetLoopInformation(); // closest enveloping loop
469 *loop = lp;
481 // in any loop, or are contained in a proper interval. This allows finding the min/max
643 // loop-body is minimal 1 and maximal, with safe trip-count, max int,
684 // Chase an invariant fetch that is defined by an outer loop if the trip-count used
694 bool next_in_body = true; // inner loop is always in body of outer loop
965 HLoopInformation* loop = nullptr;
968 if (!HasInductionInfo(context, instruction, &loop, &info, &trip) || trip == nullptr) {
972 // trip-count and the loop maybe unsafe (because in such cases, the index could "overshoot"
976 bool in_body = context->GetBlock() != loop->GetHeader();