Lines Matching refs:VirtReg
104 virtual unsigned selectOrSplit(LiveInterval &VirtReg,
113 bool spillInterferences(LiveInterval &VirtReg, unsigned PhysReg,
166 // that interfere with VirtReg. The newly spilled or split live intervals are
168 bool RABasic::spillInterferences(LiveInterval &VirtReg, unsigned PhysReg,
176 LiveIntervalUnion::Query &Q = Matrix->query(VirtReg, *Units);
182 if (!Intf->isSpillable() || Intf->weight > VirtReg.weight)
188 " interferences with " << VirtReg << "\n");
222 unsigned RABasic::selectOrSplit(LiveInterval &VirtReg,
228 AllocationOrder Order(VirtReg.reg, *VRM, RegClassInfo);
231 switch (Matrix->checkInterference(VirtReg, PhysReg)) {
250 if (!spillInterferences(VirtReg, *PhysRegI, SplitVRegs))
253 assert(!Matrix->checkInterference(VirtReg, *PhysRegI) &&
259 // No other spill candidates were found, so spill the current VirtReg.
260 DEBUG(dbgs() << "spilling: " << VirtReg << '\n');
261 if (!VirtReg.isSpillable())
263 LiveRangeEdit LRE(&VirtReg, SplitVRegs, *MF, *LIS, VRM);