Lines Matching refs:VirtReg
103 virtual unsigned selectOrSplit(LiveInterval &VirtReg,
112 bool spillInterferences(LiveInterval &VirtReg, unsigned PhysReg,
165 // that interfere with VirtReg. The newly spilled or split live intervals are
167 bool RABasic::spillInterferences(LiveInterval &VirtReg, unsigned PhysReg,
175 LiveIntervalUnion::Query &Q = Matrix->query(VirtReg, *Units);
181 if (!Intf->isSpillable() || Intf->weight > VirtReg.weight)
187 " interferences with " << VirtReg << "\n");
221 unsigned RABasic::selectOrSplit(LiveInterval &VirtReg,
227 AllocationOrder Order(VirtReg.reg, *VRM, RegClassInfo);
230 switch (Matrix->checkInterference(VirtReg, PhysReg)) {
249 if (!spillInterferences(VirtReg, *PhysRegI, SplitVRegs))
252 assert(!Matrix->checkInterference(VirtReg, *PhysRegI) &&
258 // No other spill candidates were found, so spill the current VirtReg.
259 DEBUG(dbgs() << "spilling: " << VirtReg << '\n');
260 if (!VirtReg.isSpillable())
262 LiveRangeEdit LRE(&VirtReg, SplitVRegs, *MF, *LIS, VRM);