Lines Matching refs:LiveRange

27 void RemoveElement(ZoneVector<LiveRange*>* v, LiveRange* range) {  in RemoveElement()
100 explicit LiveRangeBound(LiveRange* range, bool skip) in LiveRangeBound()
109 LiveRange* const range_;
120 LiveRange* cur_cover_;
121 LiveRange* pred_cover_;
139 for (LiveRange *i = range; i != nullptr; i = i->next(), ++curr) { in Initialize()
399 LiveRange::LiveRange(int relative_id, MachineRepresentation rep, in LiveRange() function in v8::internal::compiler::LiveRange
418 void LiveRange::VerifyPositions() const { in VerifyPositions()
433 void LiveRange::VerifyIntervals() const { in VerifyIntervals()
445 void LiveRange::set_assigned_register(int reg) { in set_assigned_register()
451 void LiveRange::UnsetAssignedRegister() { in UnsetAssignedRegister()
457 void LiveRange::Spill() { in Spill()
465 RegisterKind LiveRange::kind() const { in kind()
470 UsePosition* LiveRange::FirstHintPosition(int* register_index) const { in FirstHintPosition()
478 UsePosition* LiveRange::NextUsePosition(LifetimePosition start) const { in NextUsePosition()
491 UsePosition* LiveRange::NextUsePositionRegisterIsBeneficial( in NextUsePositionRegisterIsBeneficial()
500 LifetimePosition LiveRange::NextLifetimePositionRegisterIsBeneficial( in NextLifetimePositionRegisterIsBeneficial()
507 UsePosition* LiveRange::PreviousUsePositionRegisterIsBeneficial( in PreviousUsePositionRegisterIsBeneficial()
519 UsePosition* LiveRange::NextRegisterPosition(LifetimePosition start) const { in NextRegisterPosition()
528 UsePosition* LiveRange::NextSlotPosition(LifetimePosition start) const { in NextSlotPosition()
538 bool LiveRange::CanBeSpilled(LifetimePosition pos) const { in CanBeSpilled()
547 bool LiveRange::IsTopLevel() const { return top_level_ == this; } in IsTopLevel()
550 InstructionOperand LiveRange::GetAssignedOperand() const { in GetAssignedOperand()
567 UseInterval* LiveRange::FirstSearchIntervalForPosition( in FirstSearchIntervalForPosition()
578 void LiveRange::AdvanceLastProcessedMarker( in AdvanceLastProcessedMarker()
591 LiveRange* LiveRange::SplitAt(LifetimePosition position, Zone* zone) { in SplitAt()
593 LiveRange* child = new (zone) LiveRange(new_id, representation(), TopLevel()); in SplitAt()
604 UsePosition* LiveRange::DetachAt(LifetimePosition position, LiveRange* result, in DetachAt()
697 void LiveRange::UpdateParentForAllChildren(TopLevelLiveRange* new_top_level) { in UpdateParentForAllChildren()
698 LiveRange* child = this; in UpdateParentForAllChildren()
705 void LiveRange::ConvertUsesToOperand(const InstructionOperand& op, in ConvertUsesToOperand()
731 bool LiveRange::ShouldBeAllocatedBefore(const LiveRange* other) const { in ShouldBeAllocatedBefore()
745 void LiveRange::SetUseHints(int register_index) { in SetUseHints()
760 bool LiveRange::CanCover(LifetimePosition position) const { in CanCover()
766 bool LiveRange::Covers(LifetimePosition position) const { in Covers()
781 LifetimePosition LiveRange::FirstIntersection(LiveRange* other) const { in FirstIntersection()
804 void LiveRange::Print(const RegisterConfiguration* config, in Print()
809 for (const LiveRange* i = this; i != nullptr; i = i->next()) { in Print()
817 void LiveRange::Print(bool with_children) const { in Print()
833 : LiveRange(0, rep, this), in TopLevelLiveRange()
940 LiveRange end_part(kInvalidId, this->representation(), nullptr); in Splinter()
1019 LiveRange* first = this; in Merge()
1020 LiveRange* second = other; in Merge()
1026 LiveRange* tmp = second; in Merge()
1036 LiveRange* temp = first->next(); in Merge()
1049 LiveRange* temp = first->SplitAt(second->Start(), zone); in Merge()
1075 for (const LiveRange* child = this->next(); child != nullptr; in VerifyChildrenInOrder()
1085 for (const LiveRange* child = this; child != nullptr; child = child->next()) { in Verify()
1195 const LiveRange* range = printable_range.range_; in operator <<()
1235 for (LiveRange* range = parent; range != nullptr; range = range->next()) { in SpillRange()
1480 LiveRange* range = GetOrCreateLiveRangeFor(operand_index); in ExistsUseWithoutDefinition()
2548 const LiveRange* range, int instruction_index) { in GetSplitPositionForInstruction()
2603 LiveRange* RegisterAllocator::SplitRangeAt(LiveRange* range, in SplitRangeAt()
2617 LiveRange* result = range->SplitAt(pos, allocation_zone()); in SplitRangeAt()
2622 LiveRange* RegisterAllocator::SplitBetween(LiveRange* range, in SplitBetween()
2676 LiveRange* range, LifetimePosition pos) { in FindOptimalSpillingPos()
2708 void RegisterAllocator::Spill(LiveRange* range) { in Spill()
2754 for (LiveRange* to_add = range; to_add != nullptr; in AllocateRegisters()
2784 LiveRange* current = unhandled_live_ranges().back(); in AllocateRegisters()
2798 LiveRange* cur_active = active_live_ranges()[i]; in AllocateRegisters()
2809 LiveRange* cur_inactive = inactive_live_ranges()[i]; in AllocateRegisters()
2825 bool LinearScanAllocator::TrySplitAndSpillSplinter(LiveRange* range) { in TrySplitAndSpillSplinter()
2838 LiveRange* tail = SplitRangeAt(range, next_reg->pos().PrevStart()); in TrySplitAndSpillSplinter()
2846 void LinearScanAllocator::SetLiveRangeAssignedRegister(LiveRange* range, in SetLiveRangeAssignedRegister()
2857 void LinearScanAllocator::AddToActive(LiveRange* range) { in AddToActive()
2864 void LinearScanAllocator::AddToInactive(LiveRange* range) { in AddToInactive()
2871 void LinearScanAllocator::AddToUnhandledSorted(LiveRange* range) { in AddToUnhandledSorted()
2877 LiveRange* cur_range = unhandled_live_ranges().at(i); in AddToUnhandledSorted()
2893 void LinearScanAllocator::AddToUnhandledUnsorted(LiveRange* range) { in AddToUnhandledUnsorted()
2902 static bool UnhandledSortHelper(LiveRange* a, LiveRange* b) { in UnhandledSortHelper()
2923 LiveRange* a = unhandled_live_ranges().at(i - 1); in UnhandledIsSorted()
2924 LiveRange* b = unhandled_live_ranges().at(i); in UnhandledIsSorted()
2931 void LinearScanAllocator::ActiveToHandled(LiveRange* range) { in ActiveToHandled()
2938 void LinearScanAllocator::ActiveToInactive(LiveRange* range) { in ActiveToInactive()
2946 void LinearScanAllocator::InactiveToHandled(LiveRange* range) { in InactiveToHandled()
2953 void LinearScanAllocator::InactiveToActive(LiveRange* range) { in InactiveToActive()
2978 LiveRange* range, Vector<LifetimePosition> positions) { in FindFreeRegistersForRange()
2992 for (LiveRange* cur_active : active_live_ranges()) { in FindFreeRegistersForRange()
3010 for (LiveRange* cur_inactive : inactive_live_ranges()) { in FindFreeRegistersForRange()
3067 void LinearScanAllocator::ProcessCurrentRange(LiveRange* current) { in ProcessCurrentRange()
3086 LiveRange* current, const Vector<LifetimePosition>& free_until_pos) { in TryAllocatePreferredReg()
3108 LiveRange* current, const Vector<LifetimePosition>& free_until_pos) { in TryAllocateFreeReg()
3138 LiveRange* tail = SplitRangeAt(current, pos); in TryAllocateFreeReg()
3152 void LinearScanAllocator::AllocateBlockedReg(LiveRange* current) { in AllocateBlockedReg()
3175 for (LiveRange* range : active_live_ranges()) { in AllocateBlockedReg()
3205 for (LiveRange* range : inactive_live_ranges()) { in AllocateBlockedReg()
3261 LiveRange* tail = in AllocateBlockedReg()
3279 void LinearScanAllocator::SplitAndSpillIntersecting(LiveRange* current) { in SplitAndSpillIntersecting()
3284 LiveRange* range = active_live_ranges()[i]; in SplitAndSpillIntersecting()
3317 LiveRange* range = inactive_live_ranges()[i]; in SplitAndSpillIntersecting()
3355 LiveRange* first_op = nullptr; in TryReuseSpillForPhi()
3358 LiveRange* op_range = data()->GetOrCreateLiveRangeFor(op); in TryReuseSpillForPhi()
3433 void LinearScanAllocator::SpillAfter(LiveRange* range, LifetimePosition pos) { in SpillAfter()
3434 LiveRange* second_part = SplitRangeAt(range, pos); in SpillAfter()
3439 void LinearScanAllocator::SpillBetween(LiveRange* range, LifetimePosition start, in SpillBetween()
3445 void LinearScanAllocator::SpillBetweenUntil(LiveRange* range, in SpillBetweenUntil()
3450 LiveRange* second_part = SplitRangeAt(range, start); in SpillBetweenUntil()
3460 LiveRange* third_part = SplitBetween( in SpillBetweenUntil()
3539 for (LiveRange* range = top_range; range != nullptr; in CommitAssignment()
3606 for (LiveRange* cur = range; cur != nullptr; cur = cur->next()) { in PopulateReferenceMaps()
3639 LiveRange* cur = range; in PopulateReferenceMaps()
3666 LiveRange* next = cur->next(); in PopulateReferenceMaps()
3748 const LiveRange* current = result.cur_cover_; in ResolveControlFlow()
3749 const LiveRange* successor = current->next(); in ResolveControlFlow()
3823 LiveRange* first_range = top_range; in ConnectRanges()
3824 for (LiveRange *second_range = first_range->next(); second_range != nullptr; in ConnectRanges()
3923 for (const LiveRange* child = range; child != nullptr; in CommitSpillsInDeferredBlocks()