Home | History | Annotate | Download | only in CodeGen

Lines Matching refs:LI

668 // 1. [begin; WriteI) at the front of LI.
669 // 2. [ReadI; end) at the back of LI.
672 // - LI.begin() <= WriteI <= ReadI <= LI.end().
687 if (LI)
688 OS << "Clean " << PrintReg(LI->reg) << " updater: " << *LI << '\n';
693 assert(LI && "Can't have null LI in dirty updater.");
694 OS << PrintReg(LI->reg) << " updater with gap = " << (ReadI - WriteI)
697 for (LiveInterval::const_iterator I = LI->begin(); I != WriteI; ++I)
703 for (LiveInterval::const_iterator I = ReadI, E = LI->end(); I != E; ++I)
725 assert(LI && "Cannot add to a null destination");
733 WriteI = ReadI = LI->begin();
740 LiveInterval::iterator E = LI->end();
747 ReadI = WriteI = LI->find(Seg.start);
780 if (WriteI != LI->begin() && coalescable(WriteI[-1], Seg)) {
791 // Finally, append to LI or Spills.
793 LI->ranges.push_back(Seg);
794 WriteI = ReadI = LI->ranges.end();
808 LiveInterval::iterator B = LI->begin();
830 assert(LI && "Cannot add to a null destination");
834 LI->ranges.erase(WriteI, ReadI);
835 LI->verify();
843 size_t WritePos = WriteI - LI->begin();
844 LI->ranges.insert(ReadI, Spills.size() - GapSize, LiveRange());
846 WriteI = LI->ranges.begin() + WritePos;
849 LI->ranges.erase(WriteI + Spills.size(), ReadI);
853 LI->verify();
856 unsigned ConnectedVNInfoEqClasses::Classify(const LiveInterval *LI) {
859 EqClass.grow(LI->getNumValNums());
864 for (LiveInterval::const_vni_iterator I = LI->vni_begin(), E = LI->vni_end();
881 if (const VNInfo *PVNI = LI->getVNInfoBefore(LIS.getMBBEndIdx(*PI)))
888 if (const VNInfo *UVNI = LI->getVNInfoBefore(VNI->def))
904 LiveInterval &LI = *LIV[0];
907 for (MachineRegisterInfo::reg_iterator RI = MRI.reg_begin(LI.reg),
913 LiveRangeQuery LRQ(LI, LIS.getInstructionIndex(MI));
923 LiveInterval::iterator J = LI.begin(), E = LI.end();
934 LI.ranges.erase(J, E);
937 unsigned j = 0, e = LI.getNumValNums();
941 VNInfo *VNI = LI.getValNumInfo(i);
947 LI.valnos[j++] = VNI;
950 LI.valnos.resize(j);