Lines Matching refs:range
21 explicit AllocationCandidate(LiveRange* range) in AllocationCandidate() argument
22 : is_group_(false), size_(range->GetSize()) { in AllocationCandidate()
23 candidate_.range_ = range; in AllocationCandidate()
47 for (LiveRange* range : group->ranges()) { in CalculateGroupSize()
48 ret += range->GetSize(); in CalculateGroupSize()
67 void Schedule(LiveRange* range);
92 static void UpdateWeightAtAllocation(LiveRange* range) { in UpdateWeightAtAllocation() argument
93 DCHECK_NE(range->weight(), LiveRange::kInvalidWeight); in UpdateWeightAtAllocation()
94 range->set_weight(range->weight() * kAllocatedRangeMultiplier); in UpdateWeightAtAllocation()
98 static void UpdateWeightAtEviction(LiveRange* range) { in UpdateWeightAtEviction() argument
99 DCHECK_NE(range->weight(), LiveRange::kInvalidWeight); in UpdateWeightAtEviction()
100 range->set_weight(range->weight() / kAllocatedRangeMultiplier); in UpdateWeightAtEviction()
124 void AllocateRegisterToRange(unsigned reg_id, LiveRange* range) { in AllocateRegisterToRange() argument
125 UpdateWeightAtAllocation(range); in AllocateRegisterToRange()
126 current_allocations(reg_id)->AllocateRange(range); in AllocateRegisterToRange()
129 void EvictAndRescheduleConflicts(unsigned reg_id, const LiveRange* range);
132 void TryAllocateLiveRange(LiveRange* range);
136 void EnsureValidRangeWeight(LiveRange* range);
143 float GetMaximumConflictingWeight(unsigned reg_id, const LiveRange* range,
153 void SplitOrSpillBlockedRange(LiveRange* range);
156 LifetimePosition FindSplitPositionAfterCall(const LiveRange* range,
160 bool TrySplitAroundCalls(LiveRange* range);
163 LifetimePosition FindSplitPositionBeforeLoops(LiveRange* range);
172 LiveRange* GetRemainderAfterSplittingAroundFirstCall(LiveRange* range);
180 LifetimePosition GetLastResortSplitPosition(const LiveRange* range);
182 bool IsProgressPossible(const LiveRange* range);
185 void SpillRangeAsLastResort(LiveRange* range);
187 void AssignRangeToRegister(int reg_id, LiveRange* range);