Lines Matching refs:Segment

15 // individual segment is represented as an instance of LiveRange::Segment,
73 using Segment = LiveRange::Segment;
95 impl().insertAtEnd(Segment(Def, Def.getDeadSlot(), VNI));
99 Segment *S = segmentAt(I);
116 segments().insert(I, Segment(Def, Def.getDeadSlot(), VNI));
124 impl().findInsertPos(Segment(Use.getPrevSlot(), Use, nullptr));
140 iterator I = impl().findInsertPos(Segment(BeforeUse, Use, nullptr));
160 Segment *S = segmentAt(I);
188 Segment *S = segmentAt(I);
210 Segment *MergeToSeg = segmentAt(MergeTo);
219 iterator addSegment(Segment S) {
273 Segment *segmentAt(iterator I) { return const_cast<Segment *>(&(*I)); }
295 void insertAtEnd(const Segment &S) { LR->segments.push_back(S); }
299 iterator findInsertPos(Segment S) { return llvm::upper_bound(*LR, S.start); }
321 void insertAtEnd(const Segment &S) {
327 LR->segmentSet->upper_bound(Segment(Pos, Pos.getNextSlot(), nullptr));
336 iterator findInsertPos(Segment S) {
352 [&](const Segment &X) { return X.end <= Pos; });
484 for (const Segment &O : Other.segments) {
519 for (const Segment &S : segments) {
529 void LiveRange::addSegmentToSet(Segment S) {
533 LiveRange::iterator LiveRange::addSegment(Segment S) {
543 void LiveRange::append(const Segment S) {
568 // Find the Segment containing this span.
571 // No Segment found, so nothing to do.
576 && "Segment is not entirely in range!");
578 // If the span we are removing is at the start of the Segment, adjust it.
582 segments.erase(I); // Removed the whole Segment.
591 // Otherwise if the span we are removing is at the end of the Segment,
598 // Otherwise, we are splitting the Segment into two pieces.
603 segments.insert(std::next(I), Segment(End, OldEnd, ValNo));
615 if (none_of(*this, [=](const Segment &S) { return S.valno == ValNo; }))
624 [ValNo](const Segment &S) { return S.valno == ValNo; });
661 // and if they are neighbors, remove one Segment. This happens when we
684 for (Segment &S : Other.segments)
705 for (Segment &S : Other.segments)
716 for (const Segment &S : RHS.segments)
729 for (const Segment &S : RHS.segments)
755 if (S->valno != V1) continue; // Not a V1 Segment.
960 for (const Segment &S : segments)
989 raw_ostream& llvm::operator<<(raw_ostream& OS, const LiveRange::Segment &S) {
994 LLVM_DUMP_METHOD void LiveRange::Segment::dump() const {
1003 for (const Segment &S : segments) {
1157 static inline bool coalescable(const LiveRange::Segment &A,
1158 const LiveRange::Segment &B) {
1168 void LiveRangeUpdater::add(LiveRange::Segment Seg) {
1295 LR->segments.insert(ReadI, Spills.size() - GapSize, LiveRange::Segment());