• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-12-stable/contrib/llvm-project/llvm/lib/CodeGen/

Lines Matching refs:LIS

131     LiveIntervals *LIS = nullptr;
326 if (LIS->shrinkToUses(LI, Dead)) {
330 LIS->splitSeparateComponents(*LI, SplitLIs);
340 LIS->RemoveMachineInstrFromMaps(*MI);
575 LiveRangeEdit(nullptr, NewRegs, *MF, *LIS,
590 LIS->getInterval(CP.isFlipped() ? CP.getDstReg() : CP.getSrcReg());
592 LIS->getInterval(CP.isFlipped() ? CP.getSrcReg() : CP.getDstReg());
593 SlotIndex CopyIdx = LIS->getInstructionIndex(*CopyMI).getRegSlot();
629 MachineInstr *ACopyMI = LIS->getInstructionFromIndex(AValNo->def);
643 LIS->getInstructionFromIndex(ValS->end.getPrevSlot());
721 if (LIS->hasPHIKill(IntA, AValNo))
772 LIS->getInterval(CP.isFlipped() ? CP.getDstReg() : CP.getSrcReg());
774 LIS->getInterval(CP.isFlipped() ? CP.getSrcReg() : CP.getDstReg());
798 SlotIndex CopyIdx = LIS->getInstructionIndex(*CopyMI).getRegSlot();
807 MachineInstr *DefMI = LIS->getInstructionFromIndex(AValNo->def);
848 SlotIndex UseIdx = LIS->getInstructionIndex(*UseMI);
872 LIS->ReplaceMachineInstrInMaps(*DefMI, *NewMI);
902 SlotIndex UseIdx = LIS->getInstructionIndex(*UseMI).getRegSlot(true);
945 BumpPtrAllocator &Allocator = LIS->getVNInfoAllocator();
956 const SlotIndexes &Indexes = *LIS->getSlotIndexes();
1000 LIS->removeVRegDefAt(IntA, AValNo->def);
1068 LIS->getInterval(CP.isFlipped() ? CP.getDstReg() : CP.getSrcReg());
1070 LIS->getInterval(CP.isFlipped() ? CP.getSrcReg() : CP.getDstReg());
1073 SlotIndex CopyIdx = LIS->getInstructionIndex(CopyMI).getRegSlot(true);
1080 if (IntB.overlaps(LIS->getMBBStartIdx(&MBB), CopyIdx))
1088 VNInfo *PVal = IntA.getVNInfoBefore(LIS->getMBBEndIdx(Pred));
1089 MachineInstr *DefMI = LIS->getInstructionFromIndex(PVal->def);
1108 if (PVal->def < VNI->def && VNI->def < LIS->getMBBEndIdx(Pred)) {
1143 SlotIndex InsPosIdx = LIS->getInstructionIndex(*InsPos).getRegSlot(true);
1144 if (IntB.overlaps(InsPosIdx, LIS->getMBBEndIdx(CopyLeftBB)))
1156 LIS->InsertMachineInstrInMaps(*NewCopyMI).getRegSlot();
1157 IntB.createDeadDef(NewCopyIdx, LIS->getVNInfoAllocator());
1159 SR.createDeadDef(NewCopyIdx, LIS->getVNInfoAllocator());
1180 LIS->pruneValue(*static_cast<LiveRange *>(&IntB), CopyIdx.getRegSlot(),
1184 LIS->extendToIndices(IntB, EndPoints);
1191 LIS->pruneValue(SR, CopyIdx.getRegSlot(), &EndPoints);
1207 LIS->extendToIndices(SR, EndPoints);
1244 LiveInterval &SrcInt = LIS->getInterval(SrcReg);
1245 SlotIndex CopyIdx = LIS->getInstructionIndex(*CopyMI);
1251 MachineInstr *DefMI = LIS->getInstructionFromIndex(ValNo->def);
1354 LIS->ReplaceMachineInstrInMaps(*CopyMI, NewMI);
1384 LiveInterval &DstInt = LIS->getInterval(DstReg);
1413 SlotIndex CurrIdx = LIS->getInstructionIndex(NewMI);
1417 VNInfo::Allocator& Alloc = LIS->getVNInfoAllocator();
1439 SlotIndex CurrIdx = LIS->getInstructionIndex(NewMI);
1481 SlotIndex NewMIIdx = LIS->getInstructionIndex(NewMI);
1484 if (LiveRange *LR = LIS->getCachedRegUnit(*Units))
1485 LR->createDeadDef(NewMIIdx.getRegSlot(), LIS->getVNInfoAllocator());
1495 SlotIndex NewMIIdx = LIS->getInstructionIndex(NewMI);
1499 if (LiveRange *LR = LIS->getCachedRegUnit(*Units))
1500 LR->createDeadDef(NewMIIdx.getRegSlot(), LIS->getVNInfoAllocator());
1559 SlotIndex Idx = LIS->getInstructionIndex(*CopyMI);
1560 const LiveInterval &SrcLI = LIS->getInterval(SrcReg);
1575 LiveInterval &DstLI = LIS->getInterval(DstReg);
1613 LIS->removeVRegDefAt(DstLI, RegIndex);
1620 SlotIndex UseIdx = LIS->getInstructionIndex(MI);
1649 LIS->shrinkToUses(&DstLI);
1683 LiveInterval *DstInt = DstIsPhys ? nullptr : &LIS->getInterval(DstReg);
1693 SlotIndex UseIdx = LIS->getInstructionIndex(MI).getRegSlot(true);
1719 Reads = DstInt->liveAt(LIS->getInstructionIndex(*UseMI));
1735 BumpPtrAllocator &Allocator = LIS->getVNInfoAllocator();
1747 ? LIS->getSlotIndexes()->getIndexBefore(*UseMI)
1748 : LIS->getInstructionIndex(*UseMI);
1762 dbgs() << LIS->getInstructionIndex(*UseMI) << "\t";
1777 LiveInterval &JoinVInt = LIS->getInterval(CP.getSrcReg());
1788 LLVM_DEBUG(dbgs() << LIS->getInstructionIndex(*CopyMI) << '\t' << *CopyMI);
1806 CP.getNewRC(), *LIS)) {
1837 LiveInterval &LI = LIS->getInterval(CP.getSrcReg());
1839 const SlotIndex CopyIdx = LIS->getInstructionIndex(*CopyMI);
1878 if (!CP.isPartial() && LIS->getInterval(CP.getSrcReg()).size() >
1879 LIS->getInterval(CP.getDstReg()).size())
1923 LiveInterval &DstLI = LIS->getInterval(DstReg);
1969 LiveInterval &LI = LIS->getInterval(CP.getDstReg());
1975 LIS->shrinkToUses(S, LI.reg);
1987 LiveInterval &LI = LIS->getInterval(CP.getDstReg());
1993 LIS->removeInterval(CP.getSrcReg());
2005 dbgs() << LIS->getInterval(CP.getDstReg());
2018 LiveInterval &RHS = LIS->getInterval(SrcReg);
2037 if (RHS.overlaps(LIS->getRegUnit(*UI))) {
2046 if (LIS->checkRegMaskInterference(RHS, RegMaskUsable) &&
2082 if (!LIS->intervalIsInOneMBB(RHS)) {
2089 SlotIndex CopyRegIdx = LIS->getInstructionIndex(*CopyMI).getRegSlot();
2090 SlotIndex DestRegIdx = LIS->getInstructionIndex(DestMI).getRegSlot();
2096 SlotIndexes *Indexes = LIS->getSlotIndexes();
2099 MachineInstr *MI = LIS->getInstructionFromIndex(SI);
2112 LIS->removePhysRegDefAt(DstReg, CopyRegIdx);
2115 LiveRange &LR = LIS->getRegUnit(*UI);
2116 LR.createDeadDef(DestRegIdx, LIS->getVNInfoAllocator());
2225 LiveIntervals *LIS;
2379 NewVNInfo(newVNInfo), CP(cp), LIS(lis), Indexes(LIS->getSlotIndexes()),
2460 const LiveInterval &LI = LIS->getInterval(SrcReg);
2971 LIS->pruneValue(Other.LR, Def, &EndPoints);
3009 LIS->pruneValue(LR, Def, &EndPoints);
3092 LIS->pruneValue(S, Def, &EndPoints);
3101 LIS->extendToIndices(S, EndPoints);
3240 LIS->RemoveMachineInstrFromMaps(*MI);
3255 NewVNInfo, CP, LIS, TRI, true, true);
3257 NewVNInfo, CP, LIS, TRI, true, true);
3310 LIS->extendToIndices(LRange, EndPoints);
3318 BumpPtrAllocator &Allocator = LIS->getVNInfoAllocator();
3330 *LIS->getSlotIndexes(), *TRI, ComposeSubRegIdx);
3346 LiveInterval &RHS = LIS->getInterval(CP.getSrcReg());
3347 LiveInterval &LHS = LIS->getInterval(CP.getDstReg());
3350 NewVNInfo, CP, LIS, TRI, false, TrackSubRegLiveness);
3352 NewVNInfo, CP, LIS, TRI, false, TrackSubRegLiveness);
3370 BumpPtrAllocator &Allocator = LIS->getVNInfoAllocator();
3428 shrinkToUses(&LIS->getInterval(ShrinkRegs.pop_back_val()));
3454 LIS->extendToIndices((LiveRange&)LHS, EndPoints);
3466 const SlotIndexes &Slots = *LIS->getSlotIndexes();
3638 static bool isLocalCopy(MachineInstr *Copy, const LiveIntervals *LIS) {
3651 return LIS->intervalIsInOneMBB(LIS->getInterval(SrcReg))
3652 || LIS->intervalIsInOneMBB(LIS->getInterval(DstReg));
3657 if (!LIS->hasInterval(reg))
3659 LiveInterval &LI = LIS->getInterval(reg);
3718 const LiveInterval &DstLI = LIS->getInterval(DstReg);
3739 if (LIS->getInterval(OtherReg).overlaps(DstLI)) {
3767 if (isLocalCopy(&(*MII), LIS)) {
3861 LIS = &getAnalysis<LiveIntervals>();
3907 LiveInterval &LI = LIS->getInterval(Reg);
3934 LIS->print(O, m);