Lines Matching defs:LIS
310 ArrayRef<unsigned> SpillOffsets, LiveIntervals &LIS,
318 LiveIntervals &LIS);
443 /// \param LIS Live intervals analysis.
449 LiveIntervals &LIS);
465 MachineRegisterInfo &MRI, LiveIntervals &LIS);
470 LiveIntervals &LIS, LexicalScopes &LS);
475 LiveIntervals &LIS);
486 void emitDebugValues(VirtRegMap *VRM, LiveIntervals &LIS,
507 LiveIntervals &LIS, const TargetInstrInfo &TII,
522 void emitDebugLabel(LiveIntervals &LIS, const TargetInstrInfo &TII,
536 LiveIntervals *LIS;
827 if (!LIS->hasInterval(Reg)) {
831 LLVM_DEBUG(dbgs() << "Discarding debug info (no LIS interval): " << Idx
837 const LiveInterval &LI = LIS->getInterval(Reg);
935 ? LIS->getMBBStartIdx(&MBB)
936 : LIS->getInstructionIndex(*std::prev(MBBI)).getRegSlot();
965 LiveIntervals &LIS) {
967 MachineBasicBlock *MBB = LIS.getMBBFromIndex(Start);
968 SlotIndex Stop = LIS.getMBBEndIdx(MBB);
1019 MachineRegisterInfo &MRI, LiveIntervals &LIS) {
1048 SlotIndex Idx = LIS.getInstructionIndex(*MI);
1053 if (!LIS.hasInterval(DstReg))
1055 LiveInterval *DstLI = &LIS.getInterval(DstReg);
1087 MachineInstr *CopyMI = LIS.getInstructionFromIndex(DstVNI->def);
1105 LiveIntervals &LIS, LexicalScopes &LS) {
1129 if (LIS.hasInterval(LocMO.getReg())) {
1130 LI = &LIS.getInterval(LocMO.getReg());
1138 extendDef(Idx, DbgValue, LIs, Kills, LIS);
1149 LiveInterval *LI = &LIS.getInterval(LocMO.getReg());
1163 MRI, LIS);
1197 SlotIndex RStart = LIS.getInstructionIndex(*Range.first);
1198 SlotIndex REnd = LIS.getInstructionIndex(*Range.second);
1203 RStart = LIS.getSlotIndexes()->getIndexBefore(*Range.first);
1258 UV->computeIntervals(MF->getRegInfo(), *TRI, *LIS, LS);
1266 LIS = &pass.getAnalysis<LiveIntervalsWrapperPass>().getLIS();
1277 SlotIndexes *Slots = LIS->getSlotIndexes();
1334 LiveIntervals& LIS) {
1343 LiveInterval *LI = &LIS.getInterval(NewReg);
1434 LiveIntervals &LIS) {
1443 DidChange |= splitLocation(LocNo, NewRegs, LIS);
1463 const LiveInterval &LI = LIS->getInterval(NewReg);
1494 DidChange |= UV->splitRegister(OldReg, NewRegs, *LIS);
1506 splitRegister(Register OldReg, ArrayRef<Register> NewRegs, LiveIntervals &LIS) {
1590 findInsertLocation(MachineBasicBlock *MBB, SlotIndex Idx, LiveIntervals &LIS,
1592 SlotIndex Start = LIS.getMBBStartIdx(MBB);
1597 while (!(MI = LIS.getInstructionFromIndex(Idx))) {
1638 LiveIntervals &LIS, const TargetRegisterInfo &TRI) {
1648 if (!LIS.isNotInMIMap(*I) &&
1649 SlotIndex::isEarlierEqualInstr(StopIdx, LIS.getInstructionIndex(*I)))
1665 LiveIntervals &LIS, const TargetInstrInfo &TII,
1668 SlotIndex MBBEndIdx = LIS.getMBBEndIdx(&*MBB);
1672 findInsertLocation(MBB, StartIdx, LIS, BBSkipInstsMap);
1729 I = findNextInsertLocation(MBB, I, StopIdx, MOs, LIS, TRI);
1734 LiveIntervals &LIS, const TargetInstrInfo &TII,
1737 findInsertLocation(MBB, Idx, LIS, BBSkipInstsMap);
1743 void UserValue::emitDebugValues(VirtRegMap *VRM, LiveIntervals &LIS,
1773 MachineFunction::iterator MBB = LIS.getMBBFromIndex(Start)->getIterator();
1774 SlotIndex MBBEnd = LIS.getMBBEndIdx(&*MBB);
1778 LIS, TII, TRI, BBSkipInstsMap);
1786 MBBEnd = LIS.getMBBEndIdx(&*MBB);
1789 LocSpillOffsets, LIS, TII, TRI, BBSkipInstsMap);
1799 void UserLabel::emitDebugLabel(LiveIntervals &LIS, const TargetInstrInfo &TII,
1802 MachineFunction::iterator MBB = LIS.getMBBFromIndex(loc)->getIterator();
1805 insertDebugLabel(&*MBB, loc, LIS, TII, BBSkipInstsMap);
1821 userValue->emitDebugValues(VRM, *LIS, *TII, *TRI, SpillOffsets,
1827 userLabel->emitDebugLabel(*LIS, *TII, BBSkipInstsMap);
1832 auto Slots = LIS->getSlotIndexes();
1925 findInsertLocation(MBB, Idx, *LIS, BBSkipInstsMap);