Lines Matching refs:intervals
39 // intervals and registers get allocated to them.
62 bool ValidateIntervals(const ScopedArenaVector<LiveInterval*>& intervals,
64 return RegisterAllocator::ValidateIntervals(ArrayRef<LiveInterval* const>(intervals),
104 ScopedArenaVector<LiveInterval*> intervals(GetScopedAllocator()->Adapter());
106 // Test with two intervals of the same range.
109 intervals.push_back(BuildInterval(ranges, arraysize(ranges), GetScopedAllocator(), 0));
110 intervals.push_back(BuildInterval(ranges, arraysize(ranges), GetScopedAllocator(), 1));
111 ASSERT_TRUE(ValidateIntervals(intervals, codegen));
113 intervals[1]->SetRegister(0);
114 ASSERT_FALSE(ValidateIntervals(intervals, codegen));
115 intervals.clear();
118 // Test with two non-intersecting intervals.
121 intervals.push_back(BuildInterval(ranges1, arraysize(ranges1), GetScopedAllocator(), 0));
123 intervals.push_back(BuildInterval(ranges2, arraysize(ranges2), GetScopedAllocator(), 1));
124 ASSERT_TRUE(ValidateIntervals(intervals, codegen));
126 intervals[1]->SetRegister(0);
127 ASSERT_TRUE(ValidateIntervals(intervals, codegen));
128 intervals.clear();
131 // Test with two non-intersecting intervals, with one with a lifetime hole.
134 intervals.push_back(BuildInterval(ranges1, arraysize(ranges1), GetScopedAllocator(), 0));
136 intervals.push_back(BuildInterval(ranges2, arraysize(ranges2), GetScopedAllocator(), 1));
137 ASSERT_TRUE(ValidateIntervals(intervals, codegen));
139 intervals[1]->SetRegister(0);
140 ASSERT_TRUE(ValidateIntervals(intervals, codegen));
141 intervals.clear();
144 // Test with intersecting intervals.
147 intervals.push_back(BuildInterval(ranges1, arraysize(ranges1), GetScopedAllocator(), 0));
149 intervals.push_back(BuildInterval(ranges2, arraysize(ranges2), GetScopedAllocator(), 1));
150 ASSERT_TRUE(ValidateIntervals(intervals, codegen));
152 intervals[1]->SetRegister(0);
153 ASSERT_FALSE(ValidateIntervals(intervals, codegen));
154 intervals.clear();
160 intervals.push_back(BuildInterval(ranges1, arraysize(ranges1), GetScopedAllocator(), 0));
161 intervals[0]->SplitAt(43);
163 intervals.push_back(BuildInterval(ranges2, arraysize(ranges2), GetScopedAllocator(), 1));
164 ASSERT_TRUE(ValidateIntervals(intervals, codegen));
166 intervals[1]->SetRegister(0);
168 ASSERT_TRUE(ValidateIntervals(intervals, codegen));
170 intervals[0]->GetNextSibling()->SetRegister(0);
171 ASSERT_FALSE(ValidateIntervals(intervals, codegen));
429 * Test that the TryAllocateFreeReg method works in the presence of inactive intervals
431 * allocating for at the minimum lifetime position between the two inactive intervals.
458 // For SSA value intervals
459 // with inactive intervals.
887 // intervals.
918 // "[0, 2(, [4, 6(" in the list of handled intervals, even though we haven't processed intervals
952 // Set just one register available to make all intervals compete for the same.
959 // Test that there is no conflicts between intervals.
960 ScopedArenaVector<LiveInterval*> intervals(GetScopedAllocator()->Adapter());
961 intervals.push_back(first);
962 intervals.push_back(second);
963 intervals.push_back(third);
964 intervals.push_back(fourth);
965 ASSERT_TRUE(ValidateIntervals(intervals, codegen));