• Home
  • Raw
  • Download

Lines Matching refs:LI

143     if (LiveInterval *LI = RegUnitIntervals[i])  in print()  local
144 OS << PrintRegUnit(i, TRI) << " = " << *LI << '\n'; in print()
180 void LiveIntervals::computeVirtRegInterval(LiveInterval *LI) { in computeVirtRegInterval() argument
182 assert(LI->empty() && "Should only compute empty intervals."); in computeVirtRegInterval()
184 LRCalc->createDeadDefs(LI); in computeVirtRegInterval()
185 LRCalc->extendToUses(LI); in computeVirtRegInterval()
193 LiveInterval *LI = createInterval(Reg); in computeVirtRegs() local
194 VirtRegIntervals[Reg] = LI; in computeVirtRegs()
195 computeVirtRegInterval(LI); in computeVirtRegs()
235 void LiveIntervals::computeRegUnitInterval(LiveInterval *LI) { in computeRegUnitInterval() argument
236 unsigned Unit = LI->reg; in computeRegUnitInterval()
250 LRCalc->createDeadDefs(LI, *Supers); in computeRegUnitInterval()
261 LRCalc->extendToUses(LI, Reg); in computeRegUnitInterval()
445 void LiveIntervals::extendToIndices(LiveInterval *LI, in extendToIndices() argument
450 LRCalc->extend(LI, Indices[i]); in extendToIndices()
453 void LiveIntervals::pruneValue(LiveInterval *LI, SlotIndex Kill, in pruneValue() argument
455 LiveRangeQuery LRQ(*LI, Kill); in pruneValue()
466 LI->removeRange(Kill, LRQ.endPoint()); in pruneValue()
472 LI->removeRange(Kill, MBBEnd); in pruneValue()
490 LiveRangeQuery LRQ(*LI, MBBStart); in pruneValue()
499 LI->removeRange(MBBStart, LRQ.endPoint()); in pruneValue()
506 LI->removeRange(MBBStart, MBBEnd); in pruneValue()
525 LiveInterval *LI = &getInterval(Reg); in addKillFlags() local
526 if (LI->empty()) in addKillFlags()
537 RU.push_back(std::make_pair(RUInt, RUInt->find(LI->begin()->end))); in addKillFlags()
541 for (LiveInterval::iterator RI = LI->begin(), RE = LI->end(); RI != RE; in addKillFlags()
580 LiveIntervals::intervalIsInOneMBB(const LiveInterval &LI) const { in intervalIsInOneMBB()
588 SlotIndex Start = LI.beginIndex(); in intervalIsInOneMBB()
592 SlotIndex Stop = LI.endIndex(); in intervalIsInOneMBB()
604 LiveIntervals::hasPHIKill(const LiveInterval &LI, const VNInfo *VNI) const { in hasPHIKill() argument
605 for (LiveInterval::const_vni_iterator I = LI.vni_begin(), E = LI.vni_end(); in hasPHIKill()
616 if (VNI == LI.getVNInfoBefore(Indexes->getMBBEndIdx(*PI))) in hasPHIKill()
647 bool LiveIntervals::checkRegMaskInterference(LiveInterval &LI, in checkRegMaskInterference() argument
649 if (LI.empty()) in checkRegMaskInterference()
651 LiveInterval::iterator LiveI = LI.begin(), LiveE = LI.end(); in checkRegMaskInterference()
656 if (MachineBasicBlock *MBB = intervalIsInOneMBB(LI)) { in checkRegMaskInterference()
692 LiveI = LI.advanceTo(LiveI, *SlotI); in checkRegMaskInterference()
760 if (LiveInterval *LI = getRegUnitLI(*Units)) in updateAllRanges() local
761 updateRange(*LI); in updateAllRanges()
770 void updateRange(LiveInterval &LI) { in updateRange() argument
771 if (!Updated.insert(&LI)) in updateRange()
775 if (TargetRegisterInfo::isVirtualRegister(LI.reg)) in updateRange()
776 dbgs() << PrintReg(LI.reg); in updateRange()
778 dbgs() << PrintRegUnit(LI.reg, &TRI); in updateRange()
779 dbgs() << ":\t" << LI << '\n'; in updateRange()
782 handleMoveDown(LI); in updateRange()
784 handleMoveUp(LI); in updateRange()
785 DEBUG(dbgs() << " -->\t" << LI << '\n'); in updateRange()
786 LI.verify(); in updateRange()
809 void handleMoveDown(LiveInterval &LI) { in handleMoveDown() argument
811 LiveInterval::iterator I = LI.find(OldIdx.getBaseIndex()); in handleMoveDown()
812 LiveInterval::iterator E = LI.end(); in handleMoveDown()
859 LiveInterval::iterator NewI = LI.advanceTo(I, NewIdx.getRegSlot()); in handleMoveDown()
864 LI.removeValNo(DefVNI); in handleMoveDown()
896 void handleMoveUp(LiveInterval &LI) { in handleMoveUp() argument
898 LiveInterval::iterator I = LI.find(OldIdx.getBaseIndex()); in handleMoveUp()
899 LiveInterval::iterator E = LI.end(); in handleMoveUp()
917 llvm::prior(I)->end = findLastUseBefore(LI.reg).getRegSlot(); in handleMoveUp()
929 LiveInterval::iterator NewI = LI.find(NewIdx.getRegSlot()); in handleMoveUp()
935 LI.removeValNo(DefVNI); in handleMoveUp()
940 LI.removeValNo(NewI->valno); in handleMoveUp()
1077 LiveInterval &LI = getOrCreateInterval(MOI->getReg()); in repairIntervalsInRange() local
1078 computeVirtRegInterval(&LI); in repairIntervalsInRange()
1088 LiveInterval &LI = getInterval(Reg); in repairIntervalsInRange() local
1090 if (!LI.hasAtLeastOneValue()) in repairIntervalsInRange()
1093 LiveInterval::iterator LII = LI.find(endIdx); in repairIntervalsInRange()
1095 if (LII != LI.end() && LII->start < endIdx) in repairIntervalsInRange()
1122 if (LII != LI.begin()) in repairIntervalsInRange()
1127 LI.removeRange(*LII, true); in repairIntervalsInRange()
1129 LII = LI.find(prevStart); in repairIntervalsInRange()
1131 LII = LI.begin(); in repairIntervalsInRange()
1144 VNInfo *VNI = LI.getNextValue(instrIdx.getRegSlot(), in repairIntervalsInRange()
1147 LII = LI.addRange(LR); in repairIntervalsInRange()
1149 VNInfo *VNI = LI.getNextValue(instrIdx.getRegSlot(), in repairIntervalsInRange()
1152 LII = LI.addRange(LR); in repairIntervalsInRange()