Lines Matching defs:VReg
167 /// Spill the given VReg.
168 void spillVReg(Register VReg, SmallVectorImpl<Register> &NewIntervals,
333 Register VReg = G.getNodeMetadata(NId).getVReg();
334 LiveInterval &LI = LIS.getInterval(VReg);
604 Register VReg = Worklist.back();
607 LiveInterval &VRegLI = LIS.getInterval(VReg);
617 const TargetRegisterClass *TRC = MRI.getRegClass(VReg);
654 spillVReg(VReg, NewVRegs, MF, LIS, VRM, VRegSpiller);
659 VRegAllowedMap[VReg.id()] = std::move(VRegAllowed);
663 auto VReg = KV.first;
666 if (LIS.getInterval(VReg).empty()) {
667 EmptyIntervalVRegs.insert(VReg);
668 VRegsToAlloc.erase(VReg);
683 G.getNodeMetadata(NId).setVReg(VReg);
686 G.getMetadata().setNodeIdForVReg(VReg, NId);
690 void RegAllocPBQP::spillVReg(Register VReg,
694 VRegsToAlloc.erase(VReg);
695 LiveRangeEdit LRE(&LIS.getInterval(VReg), NewIntervals, MF, LIS, &VRM,
701 LLVM_DEBUG(dbgs() << "VREG " << printReg(VReg, &TRI) << " -> SPILLED (Cost: "
734 Register VReg = G.getNodeMetadata(NId).getVReg();
739 LLVM_DEBUG(dbgs() << "VREG " << printReg(VReg, &TRI) << " -> "
742 VRM.assignVirt2Phys(VReg, PReg);
744 // Spill VReg. If this introduces new intervals we'll need another round
747 spillVReg(VReg, NewVRegs, MF, LIS, VRM, VRegSpiller);
894 Register VReg = G.getNodeMetadata(NId).getVReg();
895 const char *RegClassName = TRI->getRegClassName(MRI.getRegClass(VReg));
896 OS << NId << " (" << RegClassName << ':' << printReg(VReg, TRI) << ')';