Lines Matching refs:LIS
88 LiveIntervals *LIS; member in __anona927d7ac0111::RegisterCoalescer
239 if (LIS->shrinkToUses(LI, Dead)) { in shrinkToUses()
243 LIS->splitSeparateComponents(*LI, SplitLIs); in shrinkToUses()
462 LiveRangeEdit(nullptr, NewRegs, *MF, *LIS, in eliminateDeadDefs()
477 LIS->getInterval(CP.isFlipped() ? CP.getDstReg() : CP.getSrcReg()); in adjustCopiesBackFrom()
479 LIS->getInterval(CP.isFlipped() ? CP.getSrcReg() : CP.getDstReg()); in adjustCopiesBackFrom()
480 SlotIndex CopyIdx = LIS->getInstructionIndex(*CopyMI).getRegSlot(); in adjustCopiesBackFrom()
516 MachineInstr *ACopyMI = LIS->getInstructionFromIndex(AValNo->def); in adjustCopiesBackFrom()
530 LIS->getInstructionFromIndex(ValS->end.getPrevSlot()); in adjustCopiesBackFrom()
591 if (LIS->hasPHIKill(IntA, AValNo)) in hasOtherReachingDefs()
629 LIS->getInterval(CP.isFlipped() ? CP.getDstReg() : CP.getSrcReg()); in removeCopyByCommutingDef()
631 LIS->getInterval(CP.isFlipped() ? CP.getSrcReg() : CP.getDstReg()); in removeCopyByCommutingDef()
655 SlotIndex CopyIdx = LIS->getInstructionIndex(*CopyMI).getRegSlot(); in removeCopyByCommutingDef()
664 MachineInstr *DefMI = LIS->getInstructionFromIndex(AValNo->def); in removeCopyByCommutingDef()
705 SlotIndex UseIdx = LIS->getInstructionIndex(*UseMI); in removeCopyByCommutingDef()
729 LIS->ReplaceMachineInstrInMaps(*DefMI, *NewMI); in removeCopyByCommutingDef()
759 SlotIndex UseIdx = LIS->getInstructionIndex(*UseMI).getRegSlot(true); in removeCopyByCommutingDef()
797 LIS->RemoveMachineInstrFromMaps(*UseMI); in removeCopyByCommutingDef()
803 BumpPtrAllocator &Allocator = LIS->getVNInfoAllocator(); in removeCopyByCommutingDef()
857 LIS->removeVRegDefAt(IntA, AValNo->def); in removeCopyByCommutingDef()
891 LiveInterval &SrcInt = LIS->getInterval(SrcReg); in reMaterializeTrivialDef()
892 SlotIndex CopyIdx = LIS->getInstructionIndex(*CopyMI); in reMaterializeTrivialDef()
897 MachineInstr *DefMI = LIS->getInstructionFromIndex(ValNo->def); in reMaterializeTrivialDef()
999 LIS->ReplaceMachineInstrInMaps(*CopyMI, NewMI); in reMaterializeTrivialDef()
1029 LiveInterval &DstInt = LIS->getInterval(DstReg); in reMaterializeTrivialDef()
1053 SlotIndex CurrIdx = LIS->getInstructionIndex(NewMI); in reMaterializeTrivialDef()
1057 VNInfo::Allocator& Alloc = LIS->getVNInfoAllocator(); in reMaterializeTrivialDef()
1092 SlotIndex NewMIIdx = LIS->getInstructionIndex(NewMI); in reMaterializeTrivialDef()
1095 if (LiveRange *LR = LIS->getCachedRegUnit(*Units)) in reMaterializeTrivialDef()
1096 LR->createDeadDef(NewMIIdx.getRegSlot(), LIS->getVNInfoAllocator()); in reMaterializeTrivialDef()
1106 SlotIndex NewMIIdx = LIS->getInstructionIndex(NewMI); in reMaterializeTrivialDef()
1110 if (LiveRange *LR = LIS->getCachedRegUnit(*Units)) in reMaterializeTrivialDef()
1111 LR->createDeadDef(NewMIIdx.getRegSlot(), LIS->getVNInfoAllocator()); in reMaterializeTrivialDef()
1150 SlotIndex Idx = LIS->getInstructionIndex(*CopyMI); in eliminateUndefCopy()
1151 const LiveInterval &SrcLI = LIS->getInterval(SrcReg); in eliminateUndefCopy()
1167 LiveInterval &DstLI = LIS->getInterval(DstReg); in eliminateUndefCopy()
1186 LIS->removeVRegDefAt(DstLI, RegIndex); in eliminateUndefCopy()
1193 SlotIndex UseIdx = LIS->getInstructionIndex(MI); in eliminateUndefCopy()
1246 LiveInterval *DstInt = DstIsPhys ? nullptr : &LIS->getInterval(DstReg); in updateRegDefsUses()
1256 SlotIndex UseIdx = LIS->getInstructionIndex(MI).getRegSlot(true); in updateRegDefsUses()
1282 Reads = DstInt->liveAt(LIS->getInstructionIndex(*UseMI)); in updateRegDefsUses()
1298 BumpPtrAllocator &Allocator = LIS->getVNInfoAllocator(); in updateRegDefsUses()
1303 ? LIS->getSlotIndexes()->getIndexBefore(*UseMI) in updateRegDefsUses()
1304 : LIS->getInstructionIndex(*UseMI); in updateRegDefsUses()
1318 dbgs() << LIS->getInstructionIndex(*UseMI) << "\t"; in updateRegDefsUses()
1333 LiveInterval &JoinVInt = LIS->getInterval(CP.getSrcReg()); in canJoinPhys()
1344 DEBUG(dbgs() << LIS->getInstructionIndex(*CopyMI) << '\t' << *CopyMI); in joinCopy()
1380 LIS->RemoveMachineInstrFromMaps(*CopyMI); in joinCopy()
1389 LiveInterval &LI = LIS->getInterval(CP.getSrcReg()); in joinCopy()
1391 const SlotIndex CopyIdx = LIS->getInstructionIndex(*CopyMI); in joinCopy()
1409 LIS->RemoveMachineInstrFromMaps(*CopyMI); in joinCopy()
1431 if (!CP.isPartial() && LIS->getInterval(CP.getSrcReg()).size() > in joinCopy()
1432 LIS->getInterval(CP.getDstReg()).size()) in joinCopy()
1470 LIS->RemoveMachineInstrFromMaps(*CopyMI); in joinCopy()
1508 LiveInterval &LI = LIS->getInterval(CP.getDstReg()); in joinCopy()
1514 LIS->shrinkToUses(S, LI.reg); in joinCopy()
1519 LiveInterval &LI = LIS->getInterval(CP.getDstReg()); in joinCopy()
1525 LIS->removeInterval(CP.getSrcReg()); in joinCopy()
1537 dbgs() << LIS->getInterval(CP.getDstReg()); in joinCopy()
1549 LiveInterval &RHS = LIS->getInterval(CP.getSrcReg()); in joinReservedPhysReg()
1562 if (RHS.overlaps(LIS->getRegUnit(*UI))) { in joinReservedPhysReg()
1584 const SlotIndex CopyRegIdx = LIS->getInstructionIndex(*CopyMI).getRegSlot(); in joinReservedPhysReg()
1585 const SlotIndex DestRegIdx = LIS->getInstructionIndex(*DestMI).getRegSlot(); in joinReservedPhysReg()
1590 SlotIndexes *Indexes = LIS->getSlotIndexes(); in joinReservedPhysReg()
1593 MachineInstr *MI = LIS->getInstructionFromIndex(SI); in joinReservedPhysReg()
1613 LIS->removePhysRegDefAt(DstReg, CopyRegIdx); in joinReservedPhysReg()
1616 LiveRange &LR = LIS->getRegUnit(*UI); in joinReservedPhysReg()
1617 LR.createDeadDef(DestRegIdx, LIS->getVNInfoAllocator()); in joinReservedPhysReg()
1621 LIS->RemoveMachineInstrFromMaps(*CopyMI); in joinReservedPhysReg()
1723 LiveIntervals *LIS; member in __anona927d7ac0211::JoinVals
1869 NewVNInfo(newVNInfo), CP(cp), LIS(lis), Indexes(LIS->getSlotIndexes()), in JoinVals()
1935 const LiveInterval &LI = LIS->getInterval(SrcReg); in followCopyChain()
2402 LIS->pruneValue(Other.LR, Def, &EndPoints); in pruneValues()
2439 LIS->pruneValue(LR, Def, &EndPoints); in pruneValues()
2470 LIS->pruneValue(S, Def, nullptr); in pruneSubRegValues()
2534 LIS->RemoveMachineInstrFromMaps(*MI); in eraseInstrs()
2549 NewVNInfo, CP, LIS, TRI, true, true); in joinSubRegRanges()
2551 NewVNInfo, CP, LIS, TRI, true, true); in joinSubRegRanges()
2596 LIS->extendToIndices(LRange, EndPoints); in joinSubRegRanges()
2603 BumpPtrAllocator &Allocator = LIS->getVNInfoAllocator(); in mergeSubRangeInto()
2641 LiveInterval &RHS = LIS->getInterval(CP.getSrcReg()); in joinVirtRegs()
2642 LiveInterval &LHS = LIS->getInterval(CP.getDstReg()); in joinVirtRegs()
2644 JoinVals RHSVals(RHS, CP.getSrcReg(), CP.getSrcIdx(), 0, NewVNInfo, CP, LIS, in joinVirtRegs()
2646 JoinVals LHSVals(LHS, CP.getDstReg(), CP.getDstIdx(), 0, NewVNInfo, CP, LIS, in joinVirtRegs()
2664 BumpPtrAllocator &Allocator = LIS->getVNInfoAllocator(); in joinVirtRegs()
2718 shrinkToUses(&LIS->getInterval(ShrinkRegs.pop_back_val())); in joinVirtRegs()
2734 LIS->extendToIndices((LiveRange&)LHS, EndPoints); in joinVirtRegs()
2782 static bool isLocalCopy(MachineInstr *Copy, const LiveIntervals *LIS) { in isLocalCopy() argument
2795 return LIS->intervalIsInOneMBB(LIS->getInterval(SrcReg)) in isLocalCopy()
2796 || LIS->intervalIsInOneMBB(LIS->getInterval(DstReg)); in isLocalCopy()
2850 const LiveInterval &DstLI = LIS->getInterval(DstReg); in applyTerminalRule()
2870 if (LIS->getInterval(OtherReg).overlaps(DstLI)) { in applyTerminalRule()
2897 if (isLocalCopy(&(*MII), LIS)) { in copyCoalesceInMBB()
2989 LIS = &getAnalysis<LiveIntervals>(); in runOnMachineFunction()
3030 LiveInterval &LI = LIS->getInterval(Reg); in runOnMachineFunction()
3057 LIS->print(O, m); in print()