reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

include/llvm/CodeGen/LiveInterval.h
  214     iterator begin() { return segments.begin(); }
  215     iterator end()   { return segments.end(); }
  217     const_iterator begin() const { return segments.begin(); }
  218     const_iterator end() const  { return segments.end(); }
  253       for (const Segment &S : Other.segments)
  254         segments.push_back(Segment(S.start, S.end, valnos[S.valno->id]));
  293       segments.clear();
  297       return segments.size();
  373     bool empty() const { return segments.empty(); }
  378       return segments.front().start;
  385       return segments.back().end;
  526       return segments.erase(I);
  578       for (const Segment &S : segments)
  622       auto Seg = segments.begin(), EndSeg = segments.end();
  622       auto Seg = segments.begin(), EndSeg = segments.end();
lib/CodeGen/LiveInterval.cpp
  293   LiveRange::Segments &segmentsColl() { return LR->segments; }
  295   void insertAtEnd(const Segment &S) { LR->segments.push_back(S); }
  499   for (const Segment &O : Other.segments) {
  534   for (const Segment &S : segments) {
  560   assert(segments.empty() || segments.back().end <= S.start);
  560   assert(segments.empty() || segments.back().end <= S.start);
  561   segments.push_back(S);
  609       segments.erase(I);  // Removed the whole Segment.
  627   segments.insert(std::next(I), Segment(End, OldEnd, ValNo));
  634   segments.erase(remove_if(*this, [ValNo](const Segment &S) {
  688     segments.erase(OutIt, end());
  695   for (Segment &S : Other.segments)
  716   for (Segment &S : Other.segments)
  727   for (const Segment &S : RHS.segments)
  740   for (const Segment &S : RHS.segments)
  776         segments.erase(S);
  792         segments.erase(I);
  807       segments.empty() &&
  809   segments.append(segmentSet->begin(), segmentSet->end());
  962   for (const Segment &S : segments)
 1005     for (const Segment &S : segments) {
 1246     LR->segments.push_back(Seg);
 1287     LR->segments.erase(WriteI, ReadI);
 1297     LR->segments.insert(ReadI, Spills.size() - GapSize, LiveRange::Segment());
 1302     LR->segments.erase(WriteI + Spills.size(), ReadI);
lib/CodeGen/LiveIntervals.cpp
  492   li->segments.swap(NewLR.segments);
  492   li->segments.swap(NewLR.segments);
  590   SR.segments.swap(NewLR.segments);
  590   SR.segments.swap(NewLR.segments);
lib/CodeGen/LiveRangeCalc.cpp
  134   assert(MainRange.segments.empty() && MainRange.valnos.empty() &&
lib/CodeGen/LiveRangeUtils.h
   36       SplitLRs[eq-1]->segments.push_back(*I);
   40   LR.segments.erase(J, E);
lib/CodeGen/RegAllocPBQP.cpp
  261     return std::get<0>(I)->segments[std::get<1>(I)].start;
  265     return std::get<0>(I)->segments[std::get<1>(I)].end;
lib/CodeGen/RegisterCoalescer.cpp
  695   for (LiveRange::Segment &ASeg : IntA.segments) {
  719   for (const LiveRange::Segment &S : Src.segments) {
lib/CodeGen/SplitKit.cpp
 1411     for (const LiveRange::Segment &S : LI->segments) {
lib/CodeGen/VirtRegMap.cpp
  279     if (!First.isValid() || SR.segments.front().start < First)
  280       First = SR.segments.front().start;
  281     if (!Last.isValid() || SR.segments.back().end > Last)
  282       Last = SR.segments.back().end;