Lines Matching full:ranges
40 size_t Len = ranges.size();
53 Ranges::const_iterator r =
54 std::lower_bound(ranges.begin(), ranges.end(), End);
56 // Now r points to the first interval with start >= End, or ranges.end().
57 if (r == ranges.begin())
97 if (i != ranges.begin()) --i;
103 if (j != other.ranges.begin()) --j;
185 /// merge and eliminate all ranges that this will overlap with. The iterator is
187 void LiveInterval::extendIntervalEndTo(Ranges::iterator I, SlotIndex NewEnd) {
188 assert(I != ranges.end() && "Not a valid interval!");
192 Ranges::iterator MergeTo = llvm::next(I);
193 for (; MergeTo != ranges.end() && NewEnd >= MergeTo->end; ++MergeTo) {
200 // Erase any dead ranges.
201 ranges.erase(llvm::next(I), MergeTo);
204 // the same value number, merge the two ranges into one range.
205 Ranges::iterator Next = llvm::next(I);
206 if (Next != ranges.end() && Next->start <= I->end && Next->valno == ValNo) {
208 ranges.erase(Next);
215 /// merge and eliminate all ranges that this will overlap with.
216 LiveInterval::Ranges::iterator
217 LiveInterval::extendIntervalStartTo(Ranges::iterator I, SlotIndex NewStart) {
218 assert(I != ranges.end() && "Not a valid interval!");
222 Ranges::iterator MergeTo = I;
224 if (MergeTo == ranges.begin()) {
226 ranges.erase(MergeTo, I);
244 ranges.erase(llvm::next(MergeTo), llvm::next(I));
251 iterator it = std::upper_bound(From, ranges.end(), Start);
255 if (it != ranges.begin()) {
263 // Check to make sure that we are not overlapping two live ranges with
273 if (it != ranges.end()) {
285 // Check to make sure that we are not overlapping two live ranges with
294 return ranges.insert(it, LR);
319 Ranges::iterator I = find(Start);
320 assert(I != ranges.end() && "Range is not in interval!");
341 ranges.erase(I); // Removed the whole LiveRange.
359 ranges.insert(llvm::next(I), LiveRange(End, OldEnd, ValNo));
362 /// removeValNo - Remove all the ranges defined by the specified value#.
366 Ranges::iterator I = ranges.end();
367 Ranges::iterator E = ranges.begin();
371 ranges.erase(I);
435 // If we merge some live ranges, chop off the end.
436 ranges.erase(OutIt, end());
460 // Okay, now insert the RHS live ranges into the LHS.
490 /// MergeValueInAsValue - Merge all of the live ranges of a specific val#
494 /// live ranges with the specified value number.
529 // Merge V1 live ranges into V2.
542 ranges.erase(LR);
552 // If we can merge it into later V2 live ranges, do so now. We ignore any
553 // following V1 live ranges, as they will be merged in subsequent iterations
558 ranges.erase(I);
576 ranges.clear();
586 for (unsigned i = 0, e = RHS.ranges.size(); i != e; ++i) {
587 const LiveRange &LR = RHS.ranges[i];
639 for (LiveInterval::Ranges::const_iterator I = ranges.begin(),
640 E = ranges.end(); I != E; ++I) {
754 LIV[eq]->ranges.push_back(*I);
758 LI.ranges.erase(J, E);