Lines Matching refs:VirtReg
99 MCRegister selectOrSplit(const LiveInterval &VirtReg,
118 bool spillInterferences(const LiveInterval &VirtReg, MCRegister PhysReg,
146 bool RABasic::LRE_CanEraseVirtReg(Register VirtReg) { in INITIALIZE_PASS_DEPENDENCY()
147 LiveInterval &LI = LIS->getInterval(VirtReg); in INITIALIZE_PASS_DEPENDENCY()
148 if (VRM->hasPhys(VirtReg)) { in INITIALIZE_PASS_DEPENDENCY()
161 void RABasic::LRE_WillShrinkVirtReg(Register VirtReg) { in LRE_WillShrinkVirtReg() argument
162 if (!VRM->hasPhys(VirtReg)) in LRE_WillShrinkVirtReg()
166 LiveInterval &LI = LIS->getInterval(VirtReg); in LRE_WillShrinkVirtReg()
206 bool RABasic::spillInterferences(const LiveInterval &VirtReg, in spillInterferences() argument
215 LiveIntervalUnion::Query &Q = Matrix->query(VirtReg, Unit); in spillInterferences()
217 if (!Intf->isSpillable() || Intf->weight() > VirtReg.weight()) in spillInterferences()
223 << " interferences with " << VirtReg << "\n"); in spillInterferences()
255 MCRegister RABasic::selectOrSplit(const LiveInterval &VirtReg, in selectOrSplit() argument
262 AllocationOrder::create(VirtReg.reg(), *VRM, RegClassInfo, Matrix); in selectOrSplit()
266 switch (Matrix->checkInterference(VirtReg, PhysReg)) { in selectOrSplit()
284 if (!spillInterferences(VirtReg, PhysReg, SplitVRegs)) in selectOrSplit()
287 assert(!Matrix->checkInterference(VirtReg, PhysReg) && in selectOrSplit()
294 LLVM_DEBUG(dbgs() << "spilling: " << VirtReg << '\n'); in selectOrSplit()
295 if (!VirtReg.isSpillable()) in selectOrSplit()
297 LiveRangeEdit LRE(&VirtReg, SplitVRegs, *MF, *LIS, VRM, this, &DeadRemats); in selectOrSplit()