Lines Matching refs:LIS

131     LiveIntervals *LIS = nullptr;  member in __anon958e62000111::RegisterCoalescer
347 if (LIS->shrinkToUses(LI, Dead)) { in shrinkToUses()
351 LIS->splitSeparateComponents(*LI, SplitLIs); in shrinkToUses()
361 LIS->RemoveMachineInstrFromMaps(*MI); in deleteInstr()
606 LiveRangeEdit(nullptr, NewRegs, *MF, *LIS, in eliminateDeadDefs()
621 LIS->getInterval(CP.isFlipped() ? CP.getDstReg() : CP.getSrcReg()); in adjustCopiesBackFrom()
623 LIS->getInterval(CP.isFlipped() ? CP.getSrcReg() : CP.getDstReg()); in adjustCopiesBackFrom()
624 SlotIndex CopyIdx = LIS->getInstructionIndex(*CopyMI).getRegSlot(); in adjustCopiesBackFrom()
660 MachineInstr *ACopyMI = LIS->getInstructionFromIndex(AValNo->def); in adjustCopiesBackFrom()
674 LIS->getInstructionFromIndex(ValS->end.getPrevSlot()); in adjustCopiesBackFrom()
712 LIS->getMBBStartIdx(LIS->getMBBFromIndex(FillerStart)); in adjustCopiesBackFrom()
758 if (LIS->hasPHIKill(IntA, AValNo)) in hasOtherReachingDefs()
809 LIS->getInterval(CP.isFlipped() ? CP.getDstReg() : CP.getSrcReg()); in removeCopyByCommutingDef()
811 LIS->getInterval(CP.isFlipped() ? CP.getSrcReg() : CP.getDstReg()); in removeCopyByCommutingDef()
835 SlotIndex CopyIdx = LIS->getInstructionIndex(*CopyMI).getRegSlot(); in removeCopyByCommutingDef()
844 MachineInstr *DefMI = LIS->getInstructionFromIndex(AValNo->def); in removeCopyByCommutingDef()
885 SlotIndex UseIdx = LIS->getInstructionIndex(*UseMI); in removeCopyByCommutingDef()
908 LIS->ReplaceMachineInstrInMaps(*DefMI, *NewMI); in removeCopyByCommutingDef()
935 SlotIndex UseIdx = LIS->getInstructionIndex(*UseMI).getRegSlot(true); in removeCopyByCommutingDef()
978 BumpPtrAllocator &Allocator = LIS->getVNInfoAllocator(); in removeCopyByCommutingDef()
989 const SlotIndexes &Indexes = *LIS->getSlotIndexes(); in removeCopyByCommutingDef()
1033 LIS->removeVRegDefAt(IntA, AValNo->def); in removeCopyByCommutingDef()
1103 LIS->getInterval(CP.isFlipped() ? CP.getDstReg() : CP.getSrcReg()); in removePartialRedundancy()
1105 LIS->getInterval(CP.isFlipped() ? CP.getSrcReg() : CP.getDstReg()); in removePartialRedundancy()
1108 SlotIndex CopyIdx = LIS->getInstructionIndex(CopyMI).getRegSlot(true); in removePartialRedundancy()
1115 if (IntB.overlaps(LIS->getMBBStartIdx(&MBB), CopyIdx)) in removePartialRedundancy()
1123 VNInfo *PVal = IntA.getVNInfoBefore(LIS->getMBBEndIdx(Pred)); in removePartialRedundancy()
1124 MachineInstr *DefMI = LIS->getInstructionFromIndex(PVal->def); in removePartialRedundancy()
1143 if (PVal->def < VNI->def && VNI->def < LIS->getMBBEndIdx(Pred)) { in removePartialRedundancy()
1178 SlotIndex InsPosIdx = LIS->getInstructionIndex(*InsPos).getRegSlot(true); in removePartialRedundancy()
1179 if (IntB.overlaps(InsPosIdx, LIS->getMBBEndIdx(CopyLeftBB))) in removePartialRedundancy()
1191 LIS->InsertMachineInstrInMaps(*NewCopyMI).getRegSlot(); in removePartialRedundancy()
1192 IntB.createDeadDef(NewCopyIdx, LIS->getVNInfoAllocator()); in removePartialRedundancy()
1194 SR.createDeadDef(NewCopyIdx, LIS->getVNInfoAllocator()); in removePartialRedundancy()
1217 LIS->pruneValue(*static_cast<LiveRange *>(&IntB), CopyIdx.getRegSlot(), in removePartialRedundancy()
1227 SlotIndex UseIdx = LIS->getInstructionIndex(MI); in removePartialRedundancy()
1234 LIS->extendToIndices(IntB, EndPoints); in removePartialRedundancy()
1241 LIS->pruneValue(SR, CopyIdx.getRegSlot(), &EndPoints); in removePartialRedundancy()
1259 *LIS->getSlotIndexes()); in removePartialRedundancy()
1260 LIS->extendToIndices(SR, EndPoints, Undefs); in removePartialRedundancy()
1297 LiveInterval &SrcInt = LIS->getInterval(SrcReg); in reMaterializeTrivialDef()
1298 SlotIndex CopyIdx = LIS->getInstructionIndex(*CopyMI); in reMaterializeTrivialDef()
1304 MachineInstr *DefMI = LIS->getInstructionFromIndex(ValNo->def); in reMaterializeTrivialDef()
1315 LiveRangeEdit Edit(&SrcInt, NewRegs, *MF, *LIS, nullptr, this); in reMaterializeTrivialDef()
1490 LiveInterval &DstInt = LIS->getInterval(DstReg); in reMaterializeTrivialDef()
1519 SlotIndex CurrIdx = LIS->getInstructionIndex(NewMI); in reMaterializeTrivialDef()
1523 VNInfo::Allocator& Alloc = LIS->getVNInfoAllocator(); in reMaterializeTrivialDef()
1545 SlotIndex CurrIdx = LIS->getInstructionIndex(NewMI); in reMaterializeTrivialDef()
1550 VNInfo::Allocator &Alloc = LIS->getVNInfoAllocator(); in reMaterializeTrivialDef()
1609 SlotIndex NewMIIdx = LIS->getInstructionIndex(NewMI); in reMaterializeTrivialDef()
1611 if (LiveRange *LR = LIS->getCachedRegUnit(Unit)) in reMaterializeTrivialDef()
1612 LR->createDeadDef(NewMIIdx.getRegSlot(), LIS->getVNInfoAllocator()); in reMaterializeTrivialDef()
1621 SlotIndex NewMIIdx = LIS->getInstructionIndex(NewMI); in reMaterializeTrivialDef()
1624 if (LiveRange *LR = LIS->getCachedRegUnit(Unit)) in reMaterializeTrivialDef()
1625 LR->createDeadDef(NewMIIdx.getRegSlot(), LIS->getVNInfoAllocator()); in reMaterializeTrivialDef()
1686 SlotIndex Idx = LIS->getInstructionIndex(*CopyMI); in eliminateUndefCopy()
1687 const LiveInterval &SrcLI = LIS->getInterval(SrcReg); in eliminateUndefCopy()
1702 LiveInterval &DstLI = LIS->getInterval(DstReg); in eliminateUndefCopy()
1749 LIS->removeVRegDefAt(DstLI, RegIndex); in eliminateUndefCopy()
1756 SlotIndex UseIdx = LIS->getInstructionIndex(MI); in eliminateUndefCopy()
1785 LIS->shrinkToUses(&DstLI); in eliminateUndefCopy()
1819 LiveInterval *DstInt = DstIsPhys ? nullptr : &LIS->getInterval(DstReg); in updateRegDefsUses()
1829 SlotIndex UseIdx = LIS->getInstructionIndex(MI).getRegSlot(true); in updateRegDefsUses()
1855 Reads = DstInt->liveAt(LIS->getInstructionIndex(*UseMI)); in updateRegDefsUses()
1873 BumpPtrAllocator &Allocator = LIS->getVNInfoAllocator(); in updateRegDefsUses()
1885 ? LIS->getSlotIndexes()->getIndexBefore(*UseMI) in updateRegDefsUses()
1886 : LIS->getInstructionIndex(*UseMI); in updateRegDefsUses()
1901 dbgs() << LIS->getInstructionIndex(*UseMI) << "\t"; in updateRegDefsUses()
1916 LiveInterval &JoinVInt = LIS->getInterval(CP.getSrcReg()); in canJoinPhys()
1928 SlotIndex PredEnd = LIS->getMBBEndIdx(Pred); in copyValueUndefInPredecessors()
1950 SlotIndex Pos = LIS->getInstructionIndex(*MO.getParent()); in setUndefOnPrunedSubRegUses()
1965 LIS->shrinkToUses(&LI); in setUndefOnPrunedSubRegUses()
1972 LLVM_DEBUG(dbgs() << LIS->getInstructionIndex(*CopyMI) << '\t' << *CopyMI); in joinCopy()
1990 CP.getNewRC(), *LIS)) { in joinCopy()
2021 LiveInterval &LI = LIS->getInterval(CP.getSrcReg()); in joinCopy()
2023 const SlotIndex CopyIdx = LIS->getInstructionIndex(*CopyMI); in joinCopy()
2081 if (!CP.isPartial() && LIS->getInterval(CP.getSrcReg()).size() > in joinCopy()
2082 LIS->getInterval(CP.getDstReg()).size()) in joinCopy()
2126 LiveInterval &DstLI = LIS->getInterval(DstReg); in joinCopy()
2174 LiveInterval &LI = LIS->getInterval(CP.getDstReg()); in joinCopy()
2180 LIS->shrinkToUses(S, LI.reg()); in joinCopy()
2193 LiveInterval &LI = LIS->getInterval(CP.getDstReg()); in joinCopy()
2199 LIS->removeInterval(CP.getSrcReg()); in joinCopy()
2211 dbgs() << LIS->getInterval(CP.getDstReg()); in joinCopy()
2224 LiveInterval &RHS = LIS->getInterval(SrcReg); in joinReservedPhysReg()
2243 if (RHS.overlaps(LIS->getRegUnit(Unit))) { in joinReservedPhysReg()
2252 if (LIS->checkRegMaskInterference(RHS, RegMaskUsable) && in joinReservedPhysReg()
2289 if (!LIS->intervalIsInOneMBB(RHS)) { in joinReservedPhysReg()
2296 SlotIndex CopyRegIdx = LIS->getInstructionIndex(*CopyMI).getRegSlot(); in joinReservedPhysReg()
2297 SlotIndex DestRegIdx = LIS->getInstructionIndex(DestMI).getRegSlot(); in joinReservedPhysReg()
2303 SlotIndexes *Indexes = LIS->getSlotIndexes(); in joinReservedPhysReg()
2306 MachineInstr *MI = LIS->getInstructionFromIndex(SI); in joinReservedPhysReg()
2319 LIS->removePhysRegDefAt(DstReg.asMCReg(), CopyRegIdx); in joinReservedPhysReg()
2324 LiveRange &LR = LIS->getRegUnit(Unit); in joinReservedPhysReg()
2325 LR.createDeadDef(DestRegIdx, LIS->getVNInfoAllocator()); in joinReservedPhysReg()
2432 LiveIntervals *LIS; member in __anon958e62000311::JoinVals
2595 NewVNInfo(newVNInfo), CP(cp), LIS(lis), Indexes(LIS->getSlotIndexes()), in JoinVals()
2677 const LiveInterval &LI = LIS->getInterval(SrcReg); in followCopyChain()
2877 (DefMI->getParent() != OtherMBB || LIS->isLiveInToMBB(LR, OtherMBB))) { in analyzeValue()
2975 auto &OtherLI = LIS->getInterval(Other.Reg); in analyzeValue()
3219 LIS->pruneValue(Other.LR, Def, &EndPoints); in pruneValues()
3257 LIS->pruneValue(LR, Def, &EndPoints); in pruneValues()
3347 LIS->pruneValue(S, Def, &EndPoints); in pruneSubRegValues()
3356 LIS->extendToIndices(S, EndPoints); in pruneSubRegValues()
3504 LIS->RemoveMachineInstrFromMaps(*MI); in eraseInstrs()
3519 NewVNInfo, CP, LIS, TRI, true, true); in joinSubRegRanges()
3521 NewVNInfo, CP, LIS, TRI, true, true); in joinSubRegRanges()
3574 LIS->extendToIndices(LRange, EndPoints); in joinSubRegRanges()
3582 BumpPtrAllocator &Allocator = LIS->getVNInfoAllocator(); in mergeSubRangeInto()
3594 *LIS->getSlotIndexes(), *TRI, ComposeSubRegIdx); in mergeSubRangeInto()
3610 LiveInterval &RHS = LIS->getInterval(CP.getSrcReg()); in joinVirtRegs()
3611 LiveInterval &LHS = LIS->getInterval(CP.getDstReg()); in joinVirtRegs()
3614 NewVNInfo, CP, LIS, TRI, false, TrackSubRegLiveness); in joinVirtRegs()
3616 NewVNInfo, CP, LIS, TRI, false, TrackSubRegLiveness); in joinVirtRegs()
3634 BumpPtrAllocator &Allocator = LIS->getVNInfoAllocator(); in joinVirtRegs()
3692 shrinkToUses(&LIS->getInterval(ShrinkRegs.pop_back_val())); in joinVirtRegs()
3776 LIS->extendToIndices((LiveRange&)LHS, EndPoints); in joinVirtRegs()
3788 const SlotIndexes &Slots = *LIS->getSlotIndexes(); in buildVRegToDbgValueMap()
3959 static bool isLocalCopy(MachineInstr *Copy, const LiveIntervals *LIS) { in isLocalCopy() argument
3971 return LIS->intervalIsInOneMBB(LIS->getInterval(SrcReg)) in isLocalCopy()
3972 || LIS->intervalIsInOneMBB(LIS->getInterval(DstReg)); in isLocalCopy()
3977 if (!LIS->hasInterval(reg)) in lateLiveIntervalUpdate()
3979 LiveInterval &LI = LIS->getInterval(reg); in lateLiveIntervalUpdate()
4051 const LiveInterval &DstLI = LIS->getInterval(DstReg); in applyTerminalRule()
4072 if (LIS->getInterval(OtherReg).overlaps(DstLI)) { in applyTerminalRule()
4099 if (isLocalCopy(&MI, LIS)) { in copyCoalesceInMBB()
4209 LIS = &getAnalysis<LiveIntervals>(); in runOnMachineFunction()
4219 SlotIndexes *Slots = LIS->getSlotIndexes(); in runOnMachineFunction()
4263 LiveInterval &LI = LIS->getInterval(Reg); in runOnMachineFunction()
4302 LIS->print(O, m); in print()