Home | History | Annotate | Download | only in optimizing

Lines Matching defs:use

5  * you may not use this file except in compliance with the License.
381 // Split just before first register use.
673 // Since `position` is not the current scan position, we need to use CoversSlow.
684 // available only until the next use strictly after `defined_by`.
711 // re-use the registers used by the inputs of that instruciton, based on the
725 // the linear scan algorithm. So we use `defined_by`'s end lifetime
903 // that holds it. If the first use of `current` is after that register
912 // We use the first use to compare with other intervals. If this interval
922 // For each active interval, find the next use of its register after the
930 size_t use = active->FirstUseAfter(current->GetStart());
931 if (use != kNoLifetime) {
932 next_use[active->GetRegister()] = use;
937 // For each inactive interval, find the next use of its register after the
958 size_t use = inactive->FirstUseAfter(current->GetStart());
959 if (use != kNoLifetime) {
960 next_use[inactive->GetRegister()] = std::min(use, next_use[inactive->GetRegister()]);
1003 // If the first use of that instruction is after the last use of the found
1004 // register, we split this interval just before its first register use.
1022 // Use this register and spill the active and inactives interval that
1132 * B2 needs to split an interval, whose next use is in B4. If we were to split at the
1498 UsePosition* use = current->GetFirstUse();
1501 // Walk over all siblings, updating locations of use positions, and
1511 while (use != nullptr && use->GetPosition() < range->GetStart()) {
1512 DCHECK(use->IsSynthesized());
1513 use = use->GetNext();
1515 while (use != nullptr && use->GetPosition() <= range->GetEnd()) {
1516 DCHECK(!use->GetIsEnvironment());
1517 DCHECK(current->CoversSlow(use->GetPosition()) || (use->GetPosition() == range->GetEnd()));
1518 if (!use->IsSynthesized()) {
1519 LocationSummary* locations = use->GetUser()->GetLocations();
1520 Location expected_location = locations->InAt(use->GetInputIndex());
1525 locations->SetInAt(use->GetInputIndex(), source);
1527 AddInputMoveFor(interval->GetDefinedBy(), use->GetUser(), source, expected_location);
1530 DCHECK(use->GetUser()->IsInvoke());
1531 DCHECK(use->GetUser()->AsInvoke()->GetIntrinsic() != Intrinsics::kNone);
1534 use = use->GetNext();
1613 while (use != nullptr) {
1614 DCHECK(use->IsSynthesized());
1615 use = use->GetNext();
1667 // TODO: Use pointers of Location inside LiveInterval to avoid doing another iteration.