Lines Matching refs:end
93 if (I == segments().end()) { in createDeadDef()
128 if (I->end <= StartIdx) in extendInBlock()
130 if (I->end < Use) in extendInBlock()
144 if (I->end <= StartIdx) in extendInBlock()
146 if (I->end < Use) { in extendInBlock()
147 if (LR->isUndefIn(Undefs, I->end, BeforeUse)) in extendInBlock()
159 assert(I != segments().end() && "Not a valid segment!"); in extendSegmentEndTo()
165 for (; MergeTo != segments().end() && NewEnd >= MergeTo->end; ++MergeTo) in extendSegmentEndTo()
169 S->end = std::max(NewEnd, std::prev(MergeTo)->end); in extendSegmentEndTo()
173 if (MergeTo != segments().end() && MergeTo->start <= I->end && in extendSegmentEndTo()
175 S->end = MergeTo->end; in extendSegmentEndTo()
187 assert(I != segments().end() && "Not a valid segment!"); in extendSegmentStartTo()
205 if (MergeTo->end >= NewStart && MergeTo->valno == ValNo) { in extendSegmentStartTo()
206 segmentAt(MergeTo)->end = S->end; in extendSegmentStartTo()
212 MergeToSeg->end = S->end; in extendSegmentStartTo()
220 SlotIndex Start = S.start, End = S.end; in addSegment()
228 if (B->start <= Start && B->end >= Start) { in addSegment()
235 assert(B->end <= Start && in addSegment()
243 if (I != segments().end()) { in addSegment()
250 if (End > I->end) in addSegment()
322 LR->segmentSet->insert(LR->segmentSet->end(), S); in insertAtEnd()
331 if (Pos < (*PrevI).end) in find()
338 if (I != LR->segmentSet->end() && !(S.start < *I)) in findInsertPos()
355 return end(); in find()
360 if (Pos < I[Mid].end) { in find()
408 const_iterator ie = end(); in overlapsFrom()
410 const_iterator je = other.end(); in overlapsFrom()
413 StartPos != other.end() && "Bogus start position hint!"); in overlapsFrom()
420 if (StartPos != other.end() && StartPos->start <= i->start) { in overlapsFrom()
421 assert(StartPos < other.end() && i < end()); in overlapsFrom()
437 if (i->end > j->start) in overlapsFrom()
453 const_iterator IE = end(); in overlaps()
457 const_iterator JE = Other.end(); in overlaps()
463 assert(J->end >= I->start); in overlaps()
465 if (J->start < I->end) { in overlaps()
474 if (J->end > I->end) { in overlaps()
482 while (J->end < I->start); in overlaps()
491 return I != begin() && (--I)->end > Start; in overlaps()
501 if (I == end() || I->start > O.start) in covers()
505 while (I->end < O.end) { in covers()
509 if (I == end() || Last->end != I->start) in covers()
552 return end(); in addSegment()
560 assert(segments.empty() || segments.back().end <= S.start); in append()
587 assert(I != end() && "Segment is not in range!"); in removeSegment()
594 if (I->end == End) { in removeSegment()
598 for (const_iterator II = begin(), EE = end(); II != EE; ++II) in removeSegment()
617 if (I->end == End) { in removeSegment()
618 I->end = Start; in removeSegment()
623 SlotIndex OldEnd = I->end; in removeSegment()
624 I->end = Start; // Trim the old segment. in removeSegment()
636 }), end()); in removeValNo()
667 for (iterator I = std::next(OutIt), E = end(); I != E; ++I) { in join()
674 if (OutIt->valno == nextValNo && OutIt->end == I->start) { in join()
675 OutIt->end = I->end; in join()
682 OutIt->end = I->end; in join()
688 segments.erase(OutIt, end()); in join()
728 Updater.add(S.start, S.end, LHSValNo); in MergeSegmentsInAsValue()
742 Updater.add(S.start, S.end, LHSValNo); in MergeValueInAsValue()
764 for (iterator I = begin(); I != end(); ) { in MergeValueNumberInto()
772 if (Prev->valno == V2 && Prev->end == S->start) { in MergeValueNumberInto()
773 Prev->end = S->end; in MergeValueNumberInto()
789 if (I != end()) { in MergeValueNumberInto()
790 if (I->start == S->end && I->valno == V2) { in MergeValueNumberInto()
791 S->end = I->end; in MergeValueNumberInto()
809 segments.append(segmentSet->begin(), segmentSet->end()); in flushSegmentSet()
816 ArrayRef<SlotIndex>::iterator SlotE = Slots.end(); in isLiveAtIndexes()
824 const_iterator SegmentE = end(); in isLiveAtIndexes()
972 Sum += S.start.distance(S.end); in getSize()
1001 return OS << '[' << S.start << ',' << S.end << ':' << S.valno->id << ')'; in operator <<()
1070 for (const_iterator I = begin(), E = end(); I != E; ++I) { in verify()
1072 assert(I->end.isValid()); in verify()
1073 assert(I->start < I->end); in verify()
1078 assert(I->end <= std::next(I)->start); in verify()
1079 if (I->end == std::next(I)->start) in verify()
1157 for (const auto &S : make_range(ReadI, LR->end())) in print()
1171 if (A.end == B.start) in coalescable()
1173 if (A.end < B.start) in coalescable()
1202 LiveRange::iterator E = LR->end(); in add()
1203 if (ReadI != E && ReadI->end <= Seg.start) { in add()
1211 while (ReadI != E && ReadI->end <= Seg.start) in add()
1215 assert(ReadI == E || ReadI->end > Seg.start); in add()
1221 if (ReadI->end >= Seg.end) in add()
1230 Seg.end = std::max(Seg.end, ReadI->end); in add()
1237 Seg.end = std::max(Spills.back().end, Seg.end); in add()
1243 WriteI[-1].end = std::max(WriteI[-1].end, Seg.end); in add()
1256 WriteI = ReadI = LR->end(); in add()
1269 LiveRange::iterator SpillSrc = Spills.end(); in mergeSpills()
1282 assert(NumMoved == size_t(Spills.end() - SpillSrc)); in mergeSpills()
1283 Spills.erase(SpillSrc, Spills.end()); in mergeSpills()