Lines Matching refs:LiveRange
29 void RemoveElement(ZoneVector<LiveRange*>* v, LiveRange* range) { in RemoveElement()
101 explicit LiveRangeBound(LiveRange* range, bool skip) in LiveRangeBound()
110 LiveRange* const range_;
121 LiveRange* cur_cover_;
122 LiveRange* pred_cover_;
140 for (LiveRange *i = range; i != nullptr; i = i->next(), ++curr) { in Initialize()
396 LiveRange::LiveRange(int relative_id, MachineRepresentation rep, in LiveRange() function in v8::internal::compiler::LiveRange
415 void LiveRange::VerifyPositions() const { in VerifyPositions()
430 void LiveRange::VerifyIntervals() const { in VerifyIntervals()
442 void LiveRange::set_assigned_register(int reg) { in set_assigned_register()
448 void LiveRange::UnsetAssignedRegister() { in UnsetAssignedRegister()
454 void LiveRange::Spill() { in Spill()
462 RegisterKind LiveRange::kind() const { in kind()
467 UsePosition* LiveRange::FirstHintPosition(int* register_index) const { in FirstHintPosition()
475 UsePosition* LiveRange::NextUsePosition(LifetimePosition start) const { in NextUsePosition()
488 UsePosition* LiveRange::NextUsePositionRegisterIsBeneficial( in NextUsePositionRegisterIsBeneficial()
497 LifetimePosition LiveRange::NextLifetimePositionRegisterIsBeneficial( in NextLifetimePositionRegisterIsBeneficial()
504 UsePosition* LiveRange::PreviousUsePositionRegisterIsBeneficial( in PreviousUsePositionRegisterIsBeneficial()
516 UsePosition* LiveRange::NextRegisterPosition(LifetimePosition start) const { in NextRegisterPosition()
525 UsePosition* LiveRange::NextSlotPosition(LifetimePosition start) const { in NextSlotPosition()
535 bool LiveRange::CanBeSpilled(LifetimePosition pos) const { in CanBeSpilled()
544 bool LiveRange::IsTopLevel() const { return top_level_ == this; } in IsTopLevel()
547 InstructionOperand LiveRange::GetAssignedOperand() const { in GetAssignedOperand()
564 UseInterval* LiveRange::FirstSearchIntervalForPosition( in FirstSearchIntervalForPosition()
575 void LiveRange::AdvanceLastProcessedMarker( in AdvanceLastProcessedMarker()
588 LiveRange* LiveRange::SplitAt(LifetimePosition position, Zone* zone) { in SplitAt()
590 LiveRange* child = new (zone) LiveRange(new_id, representation(), TopLevel()); in SplitAt()
601 UsePosition* LiveRange::DetachAt(LifetimePosition position, LiveRange* result, in DetachAt()
694 void LiveRange::UpdateParentForAllChildren(TopLevelLiveRange* new_top_level) { in UpdateParentForAllChildren()
695 LiveRange* child = this; in UpdateParentForAllChildren()
702 void LiveRange::ConvertUsesToOperand(const InstructionOperand& op, in ConvertUsesToOperand()
729 bool LiveRange::ShouldBeAllocatedBefore(const LiveRange* other) const { in ShouldBeAllocatedBefore()
743 void LiveRange::SetUseHints(int register_index) { in SetUseHints()
759 bool LiveRange::CanCover(LifetimePosition position) const { in CanCover()
765 bool LiveRange::Covers(LifetimePosition position) const { in Covers()
780 LifetimePosition LiveRange::FirstIntersection(LiveRange* other) const { in FirstIntersection()
803 void LiveRange::Print(const RegisterConfiguration* config, in Print()
808 for (const LiveRange* i = this; i != nullptr; i = i->next()) { in Print()
816 void LiveRange::Print(bool with_children) const { in Print()
832 : LiveRange(0, rep, this), in TopLevelLiveRange()
939 LiveRange end_part(kInvalidId, this->representation(), nullptr); in Splinter()
1018 LiveRange* first = this; in Merge()
1019 LiveRange* second = other; in Merge()
1025 LiveRange* tmp = second; in Merge()
1035 LiveRange* temp = first->next(); in Merge()
1048 LiveRange* temp = first->SplitAt(second->Start(), zone); in Merge()
1074 for (const LiveRange* child = this->next(); child != nullptr; in VerifyChildrenInOrder()
1084 for (const LiveRange* child = this; child != nullptr; child = child->next()) { in Verify()
1194 const LiveRange* range = printable_range.range_; in operator <<()
1234 for (LiveRange* range = parent; range != nullptr; range = range->next()) { in SpillRange()
1479 LiveRange* range = GetOrCreateLiveRangeFor(operand_index); in ExistsUseWithoutDefinition()
2564 const LiveRange* range, int instruction_index) { in GetSplitPositionForInstruction()
2621 LiveRange* RegisterAllocator::SplitRangeAt(LiveRange* range, in SplitRangeAt()
2635 LiveRange* result = range->SplitAt(pos, allocation_zone()); in SplitRangeAt()
2640 LiveRange* RegisterAllocator::SplitBetween(LiveRange* range, in SplitBetween()
2694 LiveRange* range, LifetimePosition pos) { in FindOptimalSpillingPos()
2726 void RegisterAllocator::Spill(LiveRange* range) { in Spill()
2772 for (LiveRange* to_add = range; to_add != nullptr; in AllocateRegisters()
2799 LiveRange* current = *unhandled_live_ranges().begin(); in AllocateRegisters()
2812 LiveRange* cur_active = active_live_ranges()[i]; in AllocateRegisters()
2823 LiveRange* cur_inactive = inactive_live_ranges()[i]; in AllocateRegisters()
2839 bool LinearScanAllocator::TrySplitAndSpillSplinter(LiveRange* range) { in TrySplitAndSpillSplinter()
2852 LiveRange* tail = SplitRangeAt(range, next_reg->pos().PrevStart()); in TrySplitAndSpillSplinter()
2860 void LinearScanAllocator::SetLiveRangeAssignedRegister(LiveRange* range, in SetLiveRangeAssignedRegister()
2871 void LinearScanAllocator::AddToActive(LiveRange* range) { in AddToActive()
2878 void LinearScanAllocator::AddToInactive(LiveRange* range) { in AddToInactive()
2884 void LinearScanAllocator::AddToUnhandled(LiveRange* range) { in AddToUnhandled()
2895 void LinearScanAllocator::ActiveToHandled(LiveRange* range) { in ActiveToHandled()
2902 void LinearScanAllocator::ActiveToInactive(LiveRange* range) { in ActiveToInactive()
2910 void LinearScanAllocator::InactiveToHandled(LiveRange* range) { in InactiveToHandled()
2917 void LinearScanAllocator::InactiveToActive(LiveRange* range) { in InactiveToActive()
2942 LiveRange* range, Vector<LifetimePosition> positions) { in FindFreeRegistersForRange()
2956 for (LiveRange* cur_active : active_live_ranges()) { in FindFreeRegistersForRange()
2974 for (LiveRange* cur_inactive : inactive_live_ranges()) { in FindFreeRegistersForRange()
3039 void LinearScanAllocator::ProcessCurrentRange(LiveRange* current) { in ProcessCurrentRange()
3058 LiveRange* current, const Vector<LifetimePosition>& free_until_pos) { in TryAllocatePreferredReg()
3080 LiveRange* current, const Vector<LifetimePosition>& free_until_pos) { in TryAllocateFreeReg()
3122 LiveRange* tail = SplitRangeAt(current, pos); in TryAllocateFreeReg()
3139 void LinearScanAllocator::AllocateBlockedReg(LiveRange* current) { in AllocateBlockedReg()
3165 for (LiveRange* range : active_live_ranges()) { in AllocateBlockedReg()
3199 for (LiveRange* range : inactive_live_ranges()) { in AllocateBlockedReg()
3267 LiveRange* tail = in AllocateBlockedReg()
3285 void LinearScanAllocator::SplitAndSpillIntersecting(LiveRange* current) { in SplitAndSpillIntersecting()
3290 LiveRange* range = active_live_ranges()[i]; in SplitAndSpillIntersecting()
3323 LiveRange* range = inactive_live_ranges()[i]; in SplitAndSpillIntersecting()
3361 LiveRange* first_op = nullptr; in TryReuseSpillForPhi()
3364 LiveRange* op_range = data()->GetOrCreateLiveRangeFor(op); in TryReuseSpillForPhi()
3438 void LinearScanAllocator::SpillAfter(LiveRange* range, LifetimePosition pos) { in SpillAfter()
3439 LiveRange* second_part = SplitRangeAt(range, pos); in SpillAfter()
3444 void LinearScanAllocator::SpillBetween(LiveRange* range, LifetimePosition start, in SpillBetween()
3450 void LinearScanAllocator::SpillBetweenUntil(LiveRange* range, in SpillBetweenUntil()
3455 LiveRange* second_part = SplitRangeAt(range, start); in SpillBetweenUntil()
3465 LiveRange* third_part = SplitBetween( in SpillBetweenUntil()
3550 for (LiveRange* range = top_range; range != nullptr; in CommitAssignment()
3621 for (LiveRange* cur = range; cur != nullptr; cur = cur->next()) { in PopulateReferenceMaps()
3654 LiveRange* cur = range; in PopulateReferenceMaps()
3681 LiveRange* next = cur->next(); in PopulateReferenceMaps()
3763 const LiveRange* current = result.cur_cover_; in ResolveControlFlow()
3764 const LiveRange* successor = current->next(); in ResolveControlFlow()
3844 LiveRange* first_range = top_range; in ConnectRanges()
3845 for (LiveRange *second_range = first_range->next(); second_range != nullptr; in ConnectRanges()
3944 for (const LiveRange* child = range; child != nullptr; in CommitSpillsInDeferredBlocks()