Lines Matching refs:LiveInterval

39 static bool IsLowOfUnalignedPairInterval(LiveInterval* low) {  in IsLowOfUnalignedPairInterval()
86 static bool ShouldProcess(bool processing_core_registers, LiveInterval* interval) { in ShouldProcess()
103 ArrayRef<LiveInterval* const>(temp_intervals_)); in AllocateRegisters()
134 LiveInterval* interval = location.IsRegister() in BlockRegister()
141 interval = LiveInterval::MakeFixedInterval(allocator_, reg, type); in BlockRegister()
192 for (LiveInterval* fixed : physical_core_register_intervals_) { in AllocateRegistersInternal()
212 for (LiveInterval* fixed : physical_fp_register_intervals_) { in AllocateRegistersInternal()
241 LiveInterval* interval = in ProcessInstruction()
242 LiveInterval::MakeTempInterval(allocator_, DataType::Type::kInt32); in ProcessInstruction()
250 LiveInterval* interval = in ProcessInstruction()
251 LiveInterval::MakeTempInterval(allocator_, DataType::Type::kFloat64); in ProcessInstruction()
256 LiveInterval* high = interval->GetHighInterval(); in ProcessInstruction()
300 LiveInterval* current = instruction->GetLiveInterval(); in ProcessInstruction()
303 ScopedArenaVector<LiveInterval*>& unhandled = core_register in ProcessInstruction()
353 LiveInterval* high = current->GetHighInterval(); in ProcessInstruction()
365 LiveInterval* high = current->GetHighInterval(); in ProcessInstruction()
385 LiveInterval* split = SplitBetween(current, current->GetStart(), first_register_use - 1); in ProcessInstruction()
402 explicit AllRangesIterator(LiveInterval* interval) in AllRangesIterator()
408 LiveInterval* CurrentInterval() const { return current_interval_; } in CurrentInterval()
421 LiveInterval* current_interval_;
431 ScopedArenaVector<LiveInterval*> intervals( in ValidateInternal()
440 const ScopedArenaVector<LiveInterval*>* physical_register_intervals = processing_core_registers_ in ValidateInternal()
443 for (LiveInterval* fixed : *physical_register_intervals) { in ValidateInternal()
449 for (LiveInterval* temp : temp_intervals_) { in ValidateInternal()
455 return ValidateIntervals(ArrayRef<LiveInterval* const>(intervals), in ValidateInternal()
463 void RegisterAllocatorLinearScan::DumpInterval(std::ostream& stream, LiveInterval* interval) const { in DumpInterval()
480 for (LiveInterval* inactive_interval : inactive_) { in DumpAllIntervals()
484 for (LiveInterval* active_interval : active_) { in DumpAllIntervals()
490 for (LiveInterval* unhandled_interval : *unhandled) { in DumpAllIntervals()
494 for (LiveInterval* handled_interval : handled_) { in DumpAllIntervals()
503 LiveInterval* current = unhandled_->back(); in LinearScan()
529 [this, position](LiveInterval* interval) { in LinearScan()
548 [this, position](LiveInterval* interval) { in LinearScan()
591 static void FreeIfNotCoverAt(LiveInterval* interval, size_t position, size_t* free_until) { in FreeIfNotCoverAt()
617 bool RegisterAllocatorLinearScan::TryAllocateFreeReg(LiveInterval* current) { in TryAllocateFreeReg()
626 for (LiveInterval* interval : active_) { in TryAllocateFreeReg()
643 LiveInterval* interval = inputs[i]->GetLiveInterval()->GetLastSibling(); in TryAllocateFreeReg()
662 for (LiveInterval* inactive : inactive_) { in TryAllocateFreeReg()
733 LiveInterval* split = SplitBetween(current, current->GetStart(), free_until[reg]); in TryAllocateFreeReg()
777 int RegisterAllocatorLinearScan::FindAvailableRegister(size_t* next_use, LiveInterval* current) con… in FindAvailableRegister()
823 static ArenaVector<LiveInterval*>::iterator RemoveIntervalAndPotentialOtherHalf( in RemoveIntervalAndPotentialOtherHalf()
824 ScopedArenaVector<LiveInterval*>* intervals, ScopedArenaVector<LiveInterval*>::iterator pos) { in RemoveIntervalAndPotentialOtherHalf()
826 LiveInterval* interval = *pos; in RemoveIntervalAndPotentialOtherHalf()
844 LiveInterval* active = *it; in TrySplitNonPairOrUnalignedPairIntervalAt()
857 LiveInterval* split = Split(active, position); in TrySplitNonPairOrUnalignedPairIntervalAt()
872 bool RegisterAllocatorLinearScan::AllocateBlockedReg(LiveInterval* current) { in AllocateBlockedReg()
896 for (LiveInterval* active : active_) { in AllocateBlockedReg()
910 for (LiveInterval* inactive : inactive_) { in AllocateBlockedReg()
980 LiveInterval* existing = unhandled_->back(); in AllocateBlockedReg()
988 LiveInterval* split = SplitBetween(current, current->GetStart(), first_register_use - 1); in AllocateBlockedReg()
999 LiveInterval* active = *it; in AllocateBlockedReg()
1002 LiveInterval* split = Split(active, current->GetStart()); in AllocateBlockedReg()
1014 LiveInterval* inactive = *it; in AllocateBlockedReg()
1027 LiveInterval* split = Split(current, next_intersection); in AllocateBlockedReg()
1033 LiveInterval* split = Split(inactive, current->GetStart()); in AllocateBlockedReg()
1055 void RegisterAllocatorLinearScan::AddSorted(ScopedArenaVector<LiveInterval*>* array, in AddSorted()
1056 LiveInterval* interval) { in AddSorted()
1060 LiveInterval* current = (*array)[i - 1u]; in AddSorted()
1079 void RegisterAllocatorLinearScan::AllocateSpillSlotFor(LiveInterval* interval) { in AllocateSpillSlotFor()
1087 LiveInterval* parent = interval->GetParent(); in AllocateSpillSlotFor()
1173 LiveInterval* interval = phi->GetLiveInterval(); in AllocateSpillSlotForCatchPhi()