Home
last modified time | relevance | path

Searched refs:LiveInterval (Results 1 – 11 of 11) sorted by relevance

/art/compiler/optimizing/
Dregister_allocator.h32 class LiveInterval; variable
61 static bool ValidateIntervals(const GrowableArray<LiveInterval*>& intervals,
83 bool TryAllocateFreeReg(LiveInterval* interval);
84 bool AllocateBlockedReg(LiveInterval* interval);
88 static void AddSorted(GrowableArray<LiveInterval*>* array, LiveInterval* interval);
91 LiveInterval* Split(LiveInterval* interval, size_t position);
95 LiveInterval* SplitBetween(LiveInterval* interval, size_t from, size_t to);
104 void AllocateSpillSlotFor(LiveInterval* interval);
107 void ConnectSiblings(LiveInterval* interval);
110 void ConnectSplitSiblings(LiveInterval* interval, HBasicBlock* from, HBasicBlock* to) const;
[all …]
Dlive_interval_test.cc25 TEST(LiveInterval, GetStart) { in TEST() argument
31 LiveInterval* interval = BuildInterval(ranges, arraysize(ranges), &allocator); in TEST()
37 LiveInterval* interval = BuildInterval(ranges, arraysize(ranges), &allocator); in TEST()
42 TEST(LiveInterval, IsDeadAt) { in TEST() argument
48 LiveInterval* interval = BuildInterval(ranges, arraysize(ranges), &allocator); in TEST()
58 LiveInterval* interval = BuildInterval(ranges, arraysize(ranges), &allocator); in TEST()
70 TEST(LiveInterval, Covers) { in TEST() argument
76 LiveInterval* interval = BuildInterval(ranges, arraysize(ranges), &allocator); in TEST()
86 LiveInterval* interval = BuildInterval(ranges, arraysize(ranges), &allocator); in TEST()
98 TEST(LiveInterval, FirstIntersectionWith) { in TEST() argument
[all …]
Dregister_allocator.cc36 static bool IsLowOfUnalignedPairInterval(LiveInterval* low) { in IsLowOfUnalignedPairInterval()
89 static bool ShouldProcess(bool processing_core_registers, LiveInterval* interval) { in ShouldProcess()
132 LiveInterval* interval = location.IsRegister() in BlockRegister()
139 interval = LiveInterval::MakeFixedInterval(allocator_, reg, type); in BlockRegister()
169 LiveInterval* fixed = physical_core_register_intervals_.Get(i); in AllocateRegistersInternal()
189 LiveInterval* fixed = physical_fp_register_intervals_.Get(i); in AllocateRegistersInternal()
216 LiveInterval* interval = in ProcessInstruction()
217 LiveInterval::MakeTempInterval(allocator_, Primitive::kPrimInt); in ProcessInstruction()
225 LiveInterval* interval = in ProcessInstruction()
226 LiveInterval::MakeTempInterval(allocator_, Primitive::kPrimDouble); in ProcessInstruction()
[all …]
Dssa_liveness_analysis.h96 friend class LiveInterval; variable
207 class LiveInterval : public ArenaObject<kArenaAllocMisc> {
209 static LiveInterval* MakeInterval(ArenaAllocator* allocator,
212 return new (allocator) LiveInterval(allocator, type, instruction);
215 static LiveInterval* MakeSlowPathInterval(ArenaAllocator* allocator, HInstruction* instruction) { in MakeSlowPathInterval()
216 return new (allocator) LiveInterval( in MakeSlowPathInterval()
220 static LiveInterval* MakeFixedInterval(ArenaAllocator* allocator, int reg, Primitive::Type type) { in MakeFixedInterval()
221 return new (allocator) LiveInterval(allocator, type, nullptr, true, reg, false); in MakeFixedInterval()
224 static LiveInterval* MakeTempInterval(ArenaAllocator* allocator, Primitive::Type type) { in MakeTempInterval()
225 return new (allocator) LiveInterval(allocator, type, nullptr, false, kNoRegister, true); in MakeTempInterval()
[all …]
Dssa_liveness_analysis.cc128 LiveInterval::MakeInterval(graph_->GetArena(), current->GetType(), current)); in NumberInstructions()
146 LiveInterval::MakeInterval(graph_->GetArena(), current->GetType(), current)); in NumberInstructions()
258 LiveInterval* interval = current->GetLiveInterval(); in ComputeLiveRanges()
323 int LiveInterval::FindFirstRegisterHint(size_t* free_until, in FindFirstRegisterHint()
348 LiveInterval* existing = GetParent()->GetSiblingAt(position); in FindFirstRegisterHint()
417 int LiveInterval::FindHintAtDefinition() const { in FindHintAtDefinition()
424 LiveInterval* input_interval = input->GetLiveInterval()->GetSiblingAt(end - 1); in FindHintAtDefinition()
440 LiveInterval* input_interval = in FindHintAtDefinition()
456 bool LiveInterval::SameRegisterKind(Location other) const { in SameRegisterKind()
472 bool LiveInterval::NeedsTwoSpillSlots() const { in NeedsTwoSpillSlots()
[all …]
Doptimizing_unit_test.h46 LiveInterval* BuildInterval(const size_t ranges[][2],
51 LiveInterval* interval = LiveInterval::MakeInterval(allocator, Primitive::kPrimInt, defined_by);
Dregister_allocator_test.cc67 GrowableArray<LiveInterval*> intervals(&allocator, 0); in TEST()
318 LiveInterval* phi_interval = phi->GetLiveInterval(); in TEST()
319 LiveInterval* loop_update = phi->InputAt(1)->GetLiveInterval(); in TEST()
349 LiveInterval* interval = first_xor->GetLiveInterval(); in TEST()
362 LiveInterval* new_interval = interval->SplitAt(last_xor->GetLifetimePosition() - 1); in TEST()
427 LiveInterval* unhandled = graph->GetEntryBlock()->GetFirstInstruction()->GetLiveInterval(); in TEST()
436 LiveInterval* interval = LiveInterval::MakeFixedInterval(&allocator, 0, Primitive::kPrimInt); in TEST()
440 interval = LiveInterval::MakeFixedInterval(&allocator, 0, Primitive::kPrimInt); in TEST()
444 interval = LiveInterval::MakeFixedInterval(&allocator, 0, Primitive::kPrimInt); in TEST()
816 LiveInterval* first = BuildInterval(ranges1, arraysize(ranges1), &allocator, -1, one); in TEST()
[all …]
Dlive_ranges_test.cc75 LiveInterval* interval = liveness.GetInstructionFromSsaIndex(0)->GetLiveInterval(); in TEST()
123 LiveInterval* interval = liveness.GetInstructionFromSsaIndex(0)->GetLiveInterval(); in TEST()
175 LiveInterval* interval = liveness.GetInstructionFromSsaIndex(1)->GetLiveInterval(); in TEST()
254 LiveInterval* interval = liveness.GetInstructionFromSsaIndex(0)->GetLiveInterval(); in TEST()
335 LiveInterval* interval = constant->GetLiveInterval(); in TEST()
412 LiveInterval* interval = liveness.GetInstructionFromSsaIndex(0)->GetLiveInterval(); in TEST()
Dgraph_visualizer.cc238 const LiveInterval& interval = *instruction->GetLiveInterval(); in PrintInstruction()
Dnodes.h49 class LiveInterval; variable
1511 LiveInterval* GetLiveInterval() const { return live_interval_; } in GetLiveInterval()
1512 void SetLiveInterval(LiveInterval* interval) { live_interval_ = interval; } in SetLiveInterval()
1562 LiveInterval* live_interval_;
Dcode_generator.cc892 LiveInterval* interval = current->GetLiveInterval(); in ClearSpillSlotsFromLoopPhisInStackMap()