Lines Matching refs:LRI
249 void RAFast::killVirtReg(LiveRegMap::iterator LRI) { in killVirtReg() argument
250 addKillFlag(*LRI); in killVirtReg()
251 assert(PhysRegState[LRI->PhysReg] == LRI->VirtReg && in killVirtReg()
253 PhysRegState[LRI->PhysReg] = regFree; in killVirtReg()
256 LiveVirtRegs.erase(LRI); in killVirtReg()
263 LiveRegMap::iterator LRI = findLiveVirtReg(VirtReg); in killVirtReg() local
264 if (LRI != LiveVirtRegs.end()) in killVirtReg()
265 killVirtReg(LRI); in killVirtReg()
273 LiveRegMap::iterator LRI = findLiveVirtReg(VirtReg); in spillVirtReg() local
274 assert(LRI != LiveVirtRegs.end() && "Spilling unmapped virtual register"); in spillVirtReg()
275 spillVirtReg(MI, LRI); in spillVirtReg()
280 LiveRegMap::iterator LRI) { in spillVirtReg() argument
281 LiveReg &LR = *LRI; in spillVirtReg()
282 assert(PhysRegState[LR.PhysReg] == LRI->VirtReg && "Broken RegState mapping"); in spillVirtReg()
289 DEBUG(dbgs() << "Spilling " << PrintReg(LRI->VirtReg, TRI) in spillVirtReg()
291 const TargetRegisterClass *RC = MRI->getRegClass(LRI->VirtReg); in spillVirtReg()
292 int FI = getStackSpaceFor(LRI->VirtReg, RC); in spillVirtReg()
301 LiveDbgValueMap[LRI->VirtReg]; in spillVirtReg()
328 killVirtReg(LRI); in spillVirtReg()
517 LiveRegMap::iterator LRI = findLiveVirtReg(VirtReg); in assignVirtToPhysReg() local
518 assert(LRI != LiveVirtRegs.end() && "VirtReg disappeared"); in assignVirtToPhysReg()
519 assignVirtToPhysReg(*LRI, PhysReg); in assignVirtToPhysReg()
520 return LRI; in assignVirtToPhysReg()
525 LiveRegMap::iterator LRI, in allocVirtReg() argument
527 const unsigned VirtReg = LRI->VirtReg; in allocVirtReg()
558 assignVirtToPhysReg(*LRI, PhysReg); in allocVirtReg()
559 return LRI; in allocVirtReg()
574 assignVirtToPhysReg(*LRI, *I); in allocVirtReg()
575 return LRI; in allocVirtReg()
604 LiveRegMap::iterator LRI; in defineVirtReg() local
606 std::tie(LRI, New) = LiveVirtRegs.insert(LiveReg(VirtReg)); in defineVirtReg()
616 LRI = allocVirtReg(MI, LRI, Hint); in defineVirtReg()
617 } else if (LRI->LastUse) { in defineVirtReg()
620 if (LRI->LastUse != &MI || LRI->LastUse->getOperand(LRI->LastOpNum).isUse()) in defineVirtReg()
621 addKillFlag(*LRI); in defineVirtReg()
623 assert(LRI->PhysReg && "Register not assigned"); in defineVirtReg()
624 LRI->LastUse = &MI; in defineVirtReg()
625 LRI->LastOpNum = OpNum; in defineVirtReg()
626 LRI->Dirty = true; in defineVirtReg()
627 markRegUsedInInstr(LRI->PhysReg); in defineVirtReg()
628 return LRI; in defineVirtReg()
638 LiveRegMap::iterator LRI; in reloadVirtReg() local
640 std::tie(LRI, New) = LiveVirtRegs.insert(LiveReg(VirtReg)); in reloadVirtReg()
643 LRI = allocVirtReg(MI, LRI, Hint); in reloadVirtReg()
647 << PrintReg(LRI->PhysReg, TRI) << "\n"); in reloadVirtReg()
648 TII->loadRegFromStackSlot(*MBB, MI, LRI->PhysReg, FrameIndex, RC, TRI); in reloadVirtReg()
650 } else if (LRI->Dirty) { in reloadVirtReg()
675 assert(LRI->PhysReg && "Register not assigned"); in reloadVirtReg()
676 LRI->LastUse = &MI; in reloadVirtReg()
677 LRI->LastOpNum = OpNum; in reloadVirtReg()
678 markRegUsedInInstr(LRI->PhysReg); in reloadVirtReg()
679 return LRI; in reloadVirtReg()
758 LiveRegMap::iterator LRI = reloadVirtReg(*MI, i, Reg, 0); in handleThroughOperands() local
759 unsigned PhysReg = LRI->PhysReg; in handleThroughOperands()
767 LiveRegMap::iterator LRI = reloadVirtReg(*MI, i, Reg, 0); in handleThroughOperands() local
768 PartialDefs.push_back(LRI->PhysReg); in handleThroughOperands()
781 LiveRegMap::iterator LRI = defineVirtReg(*MI, i, Reg, 0); in handleThroughOperands() local
782 unsigned PhysReg = LRI->PhysReg; in handleThroughOperands()
868 LiveRegMap::iterator LRI = findLiveVirtReg(Reg); in AllocateBasicBlock() local
869 if (LRI != LiveVirtRegs.end()) in AllocateBasicBlock()
870 setPhysReg(MI, i, LRI->PhysReg); in AllocateBasicBlock()
991 LiveRegMap::iterator LRI = reloadVirtReg(*MI, i, Reg, CopyDst); in AllocateBasicBlock() local
992 unsigned PhysReg = LRI->PhysReg; in AllocateBasicBlock()
995 killVirtReg(LRI); in AllocateBasicBlock()
1044 LiveRegMap::iterator LRI = defineVirtReg(*MI, i, Reg, CopySrc); in AllocateBasicBlock() local
1045 unsigned PhysReg = LRI->PhysReg; in AllocateBasicBlock()