reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/CodeGen/RegisterCoalescer.cpp
  310       if (LIS->shrinkToUses(LI, Dead)) {
  314         LIS->splitSeparateComponents(*LI, SplitLIs);
  324       LIS->RemoveMachineInstrFromMaps(*MI);
  546   LiveRangeEdit(nullptr, NewRegs, *MF, *LIS,
  561     LIS->getInterval(CP.isFlipped() ? CP.getDstReg() : CP.getSrcReg());
  563     LIS->getInterval(CP.isFlipped() ? CP.getSrcReg() : CP.getDstReg());
  564   SlotIndex CopyIdx = LIS->getInstructionIndex(*CopyMI).getRegSlot();
  600   MachineInstr *ACopyMI = LIS->getInstructionFromIndex(AValNo->def);
  614     LIS->getInstructionFromIndex(ValS->end.getPrevSlot());
  692   if (LIS->hasPHIKill(IntA, AValNo))
  743       LIS->getInterval(CP.isFlipped() ? CP.getDstReg() : CP.getSrcReg());
  745       LIS->getInterval(CP.isFlipped() ? CP.getSrcReg() : CP.getDstReg());
  769   SlotIndex CopyIdx = LIS->getInstructionIndex(*CopyMI).getRegSlot();
  778   MachineInstr *DefMI = LIS->getInstructionFromIndex(AValNo->def);
  819     SlotIndex UseIdx = LIS->getInstructionIndex(*UseMI);
  843     LIS->ReplaceMachineInstrInMaps(*DefMI, *NewMI);
  873     SlotIndex UseIdx = LIS->getInstructionIndex(*UseMI).getRegSlot(true);
  916   BumpPtrAllocator &Allocator = LIS->getVNInfoAllocator();
  927     const SlotIndexes &Indexes = *LIS->getSlotIndexes();
  971   LIS->removeVRegDefAt(IntA, AValNo->def);
 1039       LIS->getInterval(CP.isFlipped() ? CP.getDstReg() : CP.getSrcReg());
 1041       LIS->getInterval(CP.isFlipped() ? CP.getSrcReg() : CP.getDstReg());
 1044   SlotIndex CopyIdx = LIS->getInstructionIndex(CopyMI).getRegSlot(true);
 1051   if (IntB.overlaps(LIS->getMBBStartIdx(&MBB), CopyIdx))
 1059     VNInfo *PVal = IntA.getVNInfoBefore(LIS->getMBBEndIdx(Pred));
 1060     MachineInstr *DefMI = LIS->getInstructionFromIndex(PVal->def);
 1079       if (PVal->def < VNI->def && VNI->def < LIS->getMBBEndIdx(Pred)) {
 1114       SlotIndex InsPosIdx = LIS->getInstructionIndex(*InsPos).getRegSlot(true);
 1115       if (IntB.overlaps(InsPosIdx, LIS->getMBBEndIdx(CopyLeftBB)))
 1127         LIS->InsertMachineInstrInMaps(*NewCopyMI).getRegSlot();
 1128     IntB.createDeadDef(NewCopyIdx, LIS->getVNInfoAllocator());
 1130       SR.createDeadDef(NewCopyIdx, LIS->getVNInfoAllocator());
 1151   LIS->pruneValue(*static_cast<LiveRange *>(&IntB), CopyIdx.getRegSlot(),
 1155   LIS->extendToIndices(IntB, EndPoints);
 1162     LIS->pruneValue(SR, CopyIdx.getRegSlot(), &EndPoints);
 1178     LIS->extendToIndices(SR, EndPoints);
 1215   LiveInterval &SrcInt = LIS->getInterval(SrcReg);
 1216   SlotIndex CopyIdx = LIS->getInstructionIndex(*CopyMI);
 1222   MachineInstr *DefMI = LIS->getInstructionFromIndex(ValNo->def);
 1325   LIS->ReplaceMachineInstrInMaps(*CopyMI, NewMI);
 1355     LiveInterval &DstInt = LIS->getInterval(DstReg);
 1384       SlotIndex CurrIdx = LIS->getInstructionIndex(NewMI);
 1388       VNInfo::Allocator& Alloc = LIS->getVNInfoAllocator();
 1410       SlotIndex CurrIdx = LIS->getInstructionIndex(NewMI);
 1452     SlotIndex NewMIIdx = LIS->getInstructionIndex(NewMI);
 1455       if (LiveRange *LR = LIS->getCachedRegUnit(*Units))
 1456         LR->createDeadDef(NewMIIdx.getRegSlot(), LIS->getVNInfoAllocator());
 1466   SlotIndex NewMIIdx = LIS->getInstructionIndex(NewMI);
 1470       if (LiveRange *LR = LIS->getCachedRegUnit(*Units))
 1471         LR->createDeadDef(NewMIIdx.getRegSlot(), LIS->getVNInfoAllocator());
 1530   SlotIndex Idx = LIS->getInstructionIndex(*CopyMI);
 1531   const LiveInterval &SrcLI = LIS->getInterval(SrcReg);
 1546   LiveInterval &DstLI = LIS->getInterval(DstReg);
 1584     LIS->removeVRegDefAt(DstLI, RegIndex);
 1591     SlotIndex UseIdx = LIS->getInstructionIndex(MI);
 1620   LIS->shrinkToUses(&DstLI);
 1655   LiveInterval *DstInt = DstIsPhys ? nullptr : &LIS->getInterval(DstReg);
 1665       SlotIndex UseIdx = LIS->getInstructionIndex(MI).getRegSlot(true);
 1691       Reads = DstInt->liveAt(LIS->getInstructionIndex(*UseMI));
 1707           BumpPtrAllocator &Allocator = LIS->getVNInfoAllocator();
 1712                               ? LIS->getSlotIndexes()->getIndexBefore(*UseMI)
 1713                               : LIS->getInstructionIndex(*UseMI);
 1727         dbgs() << LIS->getInstructionIndex(*UseMI) << "\t";
 1742   LiveInterval &JoinVInt = LIS->getInterval(CP.getSrcReg());
 1753   LLVM_DEBUG(dbgs() << LIS->getInstructionIndex(*CopyMI) << '\t' << *CopyMI);
 1771                              CP.getNewRC(), *LIS)) {
 1802     LiveInterval &LI = LIS->getInterval(CP.getSrcReg());
 1804     const SlotIndex CopyIdx = LIS->getInstructionIndex(*CopyMI);
 1843     if (!CP.isPartial() && LIS->getInterval(CP.getSrcReg()).size() >
 1844                            LIS->getInterval(CP.getDstReg()).size())
 1888           LiveInterval &DstLI = LIS->getInterval(DstReg);
 1934     LiveInterval &LI = LIS->getInterval(CP.getDstReg());
 1940       LIS->shrinkToUses(S, LI.reg);
 1952     LiveInterval &LI = LIS->getInterval(CP.getDstReg());
 1958   LIS->removeInterval(CP.getSrcReg());
 1970       dbgs() << LIS->getInterval(CP.getDstReg());
 1983   LiveInterval &RHS = LIS->getInterval(SrcReg);
 2002       if (RHS.overlaps(LIS->getRegUnit(*UI))) {
 2011     if (LIS->checkRegMaskInterference(RHS, RegMaskUsable) &&
 2047     if (!LIS->intervalIsInOneMBB(RHS)) {
 2054     SlotIndex CopyRegIdx = LIS->getInstructionIndex(*CopyMI).getRegSlot();
 2055     SlotIndex DestRegIdx = LIS->getInstructionIndex(DestMI).getRegSlot();
 2061       SlotIndexes *Indexes = LIS->getSlotIndexes();
 2064         MachineInstr *MI = LIS->getInstructionFromIndex(SI);
 2077     LIS->removePhysRegDefAt(DstReg, CopyRegIdx);
 2080       LiveRange &LR = LIS->getRegUnit(*UI);
 2081       LR.createDeadDef(DestRegIdx, LIS->getVNInfoAllocator());
 3214                    NewVNInfo, CP, LIS, TRI, true, true);
 3216                    NewVNInfo, CP, LIS, TRI, true, true);
 3269   LIS->extendToIndices(LRange, EndPoints);
 3276   BumpPtrAllocator &Allocator = LIS->getVNInfoAllocator();
 3288       *LIS->getSlotIndexes(), *TRI);
 3304   LiveInterval &RHS = LIS->getInterval(CP.getSrcReg());
 3305   LiveInterval &LHS = LIS->getInterval(CP.getDstReg());
 3308                    NewVNInfo, CP, LIS, TRI, false, TrackSubRegLiveness);
 3310                    NewVNInfo, CP, LIS, TRI, false, TrackSubRegLiveness);
 3328     BumpPtrAllocator &Allocator = LIS->getVNInfoAllocator();
 3386     shrinkToUses(&LIS->getInterval(ShrinkRegs.pop_back_val()));
 3409     LIS->extendToIndices((LiveRange&)LHS, EndPoints);
 3478     if (!LIS->hasInterval(reg))
 3480     LiveInterval &LI = LIS->getInterval(reg);
 3539   const LiveInterval &DstLI = LIS->getInterval(DstReg);
 3560     if (LIS->getInterval(OtherReg).overlaps(DstLI)) {
 3588       if (isLocalCopy(&(*MII), LIS)) {
 3682   LIS = &getAnalysis<LiveIntervals>();
 3724       LiveInterval &LI = LIS->getInterval(Reg);
 3751    LIS->print(O, m);