Lines Matching defs:LIS
314 ArrayRef<unsigned> SpillOffsets, LiveIntervals &LIS,
322 LiveIntervals &LIS);
447 /// \param LIS Live intervals analysis.
453 LiveIntervals &LIS);
469 MachineRegisterInfo &MRI, LiveIntervals &LIS);
474 LiveIntervals &LIS, LexicalScopes &LS);
479 LiveIntervals &LIS);
490 void emitDebugValues(VirtRegMap *VRM, LiveIntervals &LIS,
511 LiveIntervals &LIS, const TargetInstrInfo &TII,
526 void emitDebugLabel(LiveIntervals &LIS, const TargetInstrInfo &TII,
548 LiveIntervals *LIS;
649 LDVImpl(LiveIntervals *LIS) : LIS(LIS) {}
837 if (!LIS->hasInterval(Reg)) {
841 LLVM_DEBUG(dbgs() << "Discarding debug info (no LIS interval): " << Idx
847 const LiveInterval &LI = LIS->getInterval(Reg);
947 ? LIS->getMBBStartIdx(&MBB)
948 : LIS->getInstructionIndex(*std::prev(MBBI)).getRegSlot();
977 LiveIntervals &LIS) {
979 MachineBasicBlock *MBB = LIS.getMBBFromIndex(Start);
980 SlotIndex Stop = LIS.getMBBEndIdx(MBB);
1031 MachineRegisterInfo &MRI, LiveIntervals &LIS) {
1060 SlotIndex Idx = LIS.getInstructionIndex(*MI);
1065 if (!LIS.hasInterval(DstReg))
1067 LiveInterval *DstLI = &LIS.getInterval(DstReg);
1099 MachineInstr *CopyMI = LIS.getInstructionFromIndex(DstVNI->def);
1117 LiveIntervals &LIS, LexicalScopes &LS) {
1141 if (LIS.hasInterval(LocMO.getReg())) {
1142 LI = &LIS.getInterval(LocMO.getReg());
1150 extendDef(Idx, DbgValue, LIs, Kills, LIS);
1161 LiveInterval *LI = &LIS.getInterval(LocMO.getReg());
1175 MRI, LIS);
1209 SlotIndex RStart = LIS.getInstructionIndex(*Range.first);
1210 SlotIndex REnd = LIS.getInstructionIndex(*Range.second);
1215 RStart = LIS.getSlotIndexes()->getIndexBefore(*Range.first);
1270 UV->computeIntervals(MF->getRegInfo(), *TRI, *LIS, LS);
1289 SlotIndexes *Slots = LIS->getSlotIndexes();
1315 auto *LIS = &getAnalysis<LiveIntervalsWrapperPass>().getLIS();
1318 Impl->analyze(mf, LIS);
1329 auto *LIS = &MFAM.getResult<LiveIntervalsAnalysis>(MF);
1331 LDV.analyze(MF, LIS);
1358 void LiveDebugVariables::analyze(MachineFunction &MF, LiveIntervals *LIS) {
1366 PImpl.reset(new LDVImpl(LIS));
1380 LiveIntervals& LIS) {
1389 LiveInterval *LI = &LIS.getInterval(NewReg);
1480 LiveIntervals &LIS) {
1489 DidChange |= splitLocation(LocNo, NewRegs, LIS);
1510 const LiveInterval &LI = LIS->getInterval(NewReg);
1542 DidChange |= UV->splitRegister(OldReg, NewRegs, *LIS);
1554 splitRegister(Register OldReg, ArrayRef<Register> NewRegs, LiveIntervals &LIS) {
1637 findInsertLocation(MachineBasicBlock *MBB, SlotIndex Idx, LiveIntervals &LIS,
1639 SlotIndex Start = LIS.getMBBStartIdx(MBB);
1644 while (!(MI = LIS.getInstructionFromIndex(Idx))) {
1686 LiveIntervals &LIS, const TargetRegisterInfo &TRI) {
1696 if (!LIS.isNotInMIMap(*I) &&
1697 SlotIndex::isEarlierEqualInstr(StopIdx, LIS.getInstructionIndex(*I)))
1713 LiveIntervals &LIS, const TargetInstrInfo &TII,
1716 SlotIndex MBBEndIdx = LIS.getMBBEndIdx(&*MBB);
1720 findInsertLocation(MBB, StartIdx, LIS, BBSkipInstsMap);
1777 I = findNextInsertLocation(MBB, I, StopIdx, MOs, LIS, TRI);
1782 LiveIntervals &LIS, const TargetInstrInfo &TII,
1785 findInsertLocation(MBB, Idx, LIS, BBSkipInstsMap);
1791 void UserValue::emitDebugValues(VirtRegMap *VRM, LiveIntervals &LIS,
1821 MachineFunction::iterator MBB = LIS.getMBBFromIndex(Start)->getIterator();
1822 SlotIndex MBBEnd = LIS.getMBBEndIdx(&*MBB);
1826 LIS, TII, TRI, BBSkipInstsMap);
1834 MBBEnd = LIS.getMBBEndIdx(&*MBB);
1837 LocSpillOffsets, LIS, TII, TRI, BBSkipInstsMap);
1847 void UserLabel::emitDebugLabel(LiveIntervals &LIS, const TargetInstrInfo &TII,
1850 MachineFunction::iterator MBB = LIS.getMBBFromIndex(loc)->getIterator();
1853 insertDebugLabel(&*MBB, loc, LIS, TII, BBSkipInstsMap);
1869 userValue->emitDebugValues(VRM, *LIS, *TII, *TRI, SpillOffsets,
1875 userLabel->emitDebugLabel(*LIS, *TII, BBSkipInstsMap);
1880 auto Slots = LIS->getSlotIndexes();
1970 findInsertLocation(MBB, Idx, *LIS, BBSkipInstsMap);