• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.9.5/llvmCore-3425.0.33/lib/CodeGen/

Lines Matching refs:ranges

41   size_t Len = ranges.size();
58 ranges.push_back(LiveRange(Def, Def.getDeadSlot(), VNI));
68 ranges.insert(I, LiveRange(Def, Def.getDeadSlot(), VNI));
103 if (i != ranges.begin()) --i;
109 if (j != other.ranges.begin()) --j;
212 /// merge and eliminate all ranges that this will overlap with. The iterator is
215 assert(I != ranges.end() && "Not a valid interval!");
220 for (; MergeTo != ranges.end() && NewEnd >= MergeTo->end; ++MergeTo) {
228 // the same value number, merge the two ranges into one range.
229 if (MergeTo != ranges.end() && MergeTo->start <= I->end &&
235 // Erase any dead ranges.
236 ranges.erase(llvm::next(I), MergeTo);
242 /// merge and eliminate all ranges that this will overlap with.
245 assert(I != ranges.end() && "Not a valid interval!");
251 if (MergeTo == ranges.begin()) {
253 ranges.erase(MergeTo, I);
271 ranges.erase(llvm::next(MergeTo), llvm::next(I));
278 iterator it = std::upper_bound(From, ranges.end(), Start);
282 if (it != ranges.begin()) {
290 // Check to make sure that we are not overlapping two live ranges with
300 if (it != ranges.end()) {
312 // Check to make sure that we are not overlapping two live ranges with
321 return ranges.insert(it, LR);
347 assert(I != ranges.end() && "Range is not in interval!");
368 ranges.erase(I); // Removed the whole LiveRange.
386 ranges.insert(llvm::next(I), LiveRange(End, OldEnd, ValNo));
389 /// removeValNo - Remove all the ranges defined by the specified value#.
393 Ranges::iterator I = ranges.end();
394 Ranges::iterator E = ranges.begin();
398 ranges.erase(I);
454 // If we merge some live ranges, chop off the end.
456 ranges.erase(OutIt, end());
480 // Okay, now insert the RHS live ranges into the LHS.
492 /// \brief Helper function for merging in another LiveInterval's ranges.
495 /// LiveIntervals ranges into the current interval.
499 /// \param RHSValNo If non-NULL, then only ranges in RHS whose original value
514 // 1) Find the beginning of the impacted ranges in the LHS.
515 // 2) Create a new, merged sub-squence of ranges merging from the position in
518 // 3) Replace the relevant section in LHS with these newly merged ranges.
519 // 4) Append any remaning ranges from RHS if LHS is exhausted in #2.
521 // We don't follow the typical in-place merge strategy for sorted ranges of
522 // appending the new ranges to the back and then using std::inplace_merge
525 // collapsing overlapping ranges, a more complex approach is required.
532 // Merge into NewRanges until one of the ranges is exhausted.
538 // If there are preceding ranges in the LHS, put the last one into NewRanges
548 // Skip incoming ranges with the wrong value.
579 // We can't merge ranges across a value number.
589 // Check for being able to merge into the trailing sequence of ranges on the LHS.
596 // Replace the ranges in the LHS with the newly merged ones. It would be
605 ranges.erase(ReplaceI, LI);
607 ranges.insert(LI, NRI, NRE);
614 if (!ranges.empty() &&
615 ranges.back().valno == R.valno && R.start <= ranges.back().end)
616 ranges.back().end = std::max(ranges.back().end, R.end);
618 ranges.push_back(R);
621 // Ensure we finished with a valid new sequence of ranges.
634 /// MergeValueInAsValue - Merge all of the live ranges of a specific val#
638 /// live ranges with the specified value number.
663 // Merge V1 live ranges into V2.
676 ranges.erase(LR);
686 // If we can merge it into later V2 live ranges, do so now. We ignore any
687 // following V1 live ranges, as they will be merged in subsequent iterations
692 ranges.erase(I);
725 for (LiveInterval::Ranges::const_iterator I = ranges.begin(),
726 E = ranges.end(); I != E; ++I) {
854 LIV[eq]->ranges.push_back(*I);
858 LI.ranges.erase(J, E);