Lines Matching refs:VirtReg

104 void LiveRegMatrix::assign(const LiveInterval &VirtReg, MCRegister PhysReg) {  in assign()  argument
105 LLVM_DEBUG(dbgs() << "assigning " << printReg(VirtReg.reg(), TRI) << " to " in assign()
107 assert(!VRM->hasPhys(VirtReg.reg()) && "Duplicate VirtReg assignment"); in assign()
108 VRM->assignVirt2Phys(VirtReg.reg(), PhysReg); in assign()
111 TRI, VirtReg, PhysReg, [&](unsigned Unit, const LiveRange &Range) { in assign()
113 Matrix[Unit].unify(VirtReg, Range); in assign()
121 void LiveRegMatrix::unassign(const LiveInterval &VirtReg) { in unassign() argument
122 Register PhysReg = VRM->getPhys(VirtReg.reg()); in unassign()
123 LLVM_DEBUG(dbgs() << "unassigning " << printReg(VirtReg.reg(), TRI) in unassign()
125 VRM->clearVirt(VirtReg.reg()); in unassign()
127 foreachUnit(TRI, VirtReg, PhysReg, in unassign()
130 Matrix[Unit].extract(VirtReg, Range); in unassign()
146 bool LiveRegMatrix::checkRegMaskInterference(const LiveInterval &VirtReg, in checkRegMaskInterference() argument
151 if (RegMaskVirtReg != VirtReg.reg() || RegMaskTag != UserTag) { in checkRegMaskInterference()
152 RegMaskVirtReg = VirtReg.reg(); in checkRegMaskInterference()
155 LIS->checkRegMaskInterference(VirtReg, RegMaskUsable); in checkRegMaskInterference()
164 bool LiveRegMatrix::checkRegUnitInterference(const LiveInterval &VirtReg, in checkRegUnitInterference() argument
166 if (VirtReg.empty()) in checkRegUnitInterference()
168 CoalescerPair CP(VirtReg.reg(), PhysReg, *TRI); in checkRegUnitInterference()
170 bool Result = foreachUnit(TRI, VirtReg, PhysReg, [&](unsigned Unit, in checkRegUnitInterference()
186 LiveRegMatrix::checkInterference(const LiveInterval &VirtReg, in checkInterference() argument
188 if (VirtReg.empty()) in checkInterference()
192 if (checkRegMaskInterference(VirtReg, PhysReg)) in checkInterference()
196 if (checkRegUnitInterference(VirtReg, PhysReg)) in checkInterference()
200 bool Interference = foreachUnit(TRI, VirtReg, PhysReg, in checkInterference()