Lines Matching refs:PhysReg

189   for (unsigned PhysReg = 0; PhysReg < PhysReg2LiveUnion.numRegs(); ++PhysReg) {  in verify()  local
190 DEBUG(PhysReg2LiveUnion[PhysReg].print(dbgs(), TRI)); in verify()
191 LiveVirtRegBitSet &VRegs = unionVRegs[PhysReg]; in verify()
192 PhysReg2LiveUnion[PhysReg].verify(VRegs); in verify()
205 unsigned PhysReg = VRM->getPhys(reg); in verify() local
206 if (!unionVRegs[PhysReg].test(reg)) { in verify()
208 TRI->getName(PhysReg) << "\n"; in verify()
276 void RegAllocBase::assign(LiveInterval &VirtReg, unsigned PhysReg) { in assign() argument
278 << " to " << PrintReg(PhysReg, TRI) << '\n'); in assign()
280 VRM->assignVirt2Phys(VirtReg.reg, PhysReg); in assign()
281 MRI->setPhysRegUsed(PhysReg); in assign()
282 PhysReg2LiveUnion[PhysReg].unify(VirtReg); in assign()
286 void RegAllocBase::unassign(LiveInterval &VirtReg, unsigned PhysReg) { in unassign() argument
288 << " from " << PrintReg(PhysReg, TRI) << '\n'); in unassign()
289 assert(VRM->getPhys(VirtReg.reg) == PhysReg && "Inconsistent unassign"); in unassign()
290 PhysReg2LiveUnion[PhysReg].extract(VirtReg); in unassign()
368 unsigned PhysReg) { in checkPhysRegInterference() argument
369 for (const unsigned *AliasI = TRI->getOverlaps(PhysReg); *AliasI; ++AliasI) in checkPhysRegInterference()
377 void RegAllocBase::spillReg(LiveInterval& VirtReg, unsigned PhysReg, in spillReg() argument
379 LiveIntervalUnion::Query &Q = query(VirtReg, PhysReg); in spillReg()
387 TRI->getName(PhysReg) << " " << SpilledVReg << '\n'); in spillReg()
391 unassign(SpilledVReg, PhysReg); in spillReg()
406 RegAllocBase::spillInterferences(LiveInterval &VirtReg, unsigned PhysReg, in spillInterferences() argument
412 for (const unsigned *asI = TRI->getOverlaps(PhysReg); *asI; ++asI) { in spillInterferences()
419 DEBUG(dbgs() << "spilling " << TRI->getName(PhysReg) << in spillInterferences()
424 for (const unsigned *AliasI = TRI->getOverlaps(PhysReg); *AliasI; ++AliasI) in spillInterferences()
437 for (unsigned PhysReg = 0; PhysReg < PhysReg2LiveUnion.numRegs(); ++PhysReg) { in addMBBLiveIns() local
438 LiveIntervalUnion &LiveUnion = PhysReg2LiveUnion[PhysReg]; in addMBBLiveIns()
441 DEBUG(dbgs() << PrintReg(PhysReg, TRI) << " live-in:"); in addMBBLiveIns()
450 if (!MBB->isLiveIn(PhysReg)) in addMBBLiveIns()
451 MBB->addLiveIn(PhysReg); in addMBBLiveIns()
492 unsigned PhysReg = *I; in selectOrSplit() local
496 unsigned interfReg = checkPhysRegInterference(VirtReg, PhysReg); in selectOrSplit()
499 return PhysReg; in selectOrSplit()
508 PhysRegSpillCands.push_back(PhysReg); in selectOrSplit()