Lines Matching refs:MPhi
172 static bool isSourceDefinedByImplicitDef(const MachineInstr *MPhi, in isSourceDefinedByImplicitDef() argument
174 for (unsigned i = 1; i != MPhi->getNumOperands(); i += 2) { in isSourceDefinedByImplicitDef()
175 unsigned SrcReg = MPhi->getOperand(i).getReg(); in isSourceDefinedByImplicitDef()
195 MachineInstr *MPhi = MBB.remove(MBB.begin()); in LowerAtomicPHINode() local
197 unsigned NumSrcs = (MPhi->getNumOperands() - 1) / 2; in LowerAtomicPHINode()
198 unsigned DestReg = MPhi->getOperand(0).getReg(); in LowerAtomicPHINode()
199 assert(MPhi->getOperand(0).getSubReg() == 0 && "Can't handle sub-reg PHIs"); in LowerAtomicPHINode()
200 bool isDead = MPhi->getOperand(0).isDead(); in LowerAtomicPHINode()
211 if (isSourceDefinedByImplicitDef(MPhi, MRI)) in LowerAtomicPHINode()
214 BuildMI(MBB, AfterPHIsIt, MPhi->getDebugLoc(), in LowerAtomicPHINode()
219 unsigned &entry = LoweredPHIs[MPhi]; in LowerAtomicPHINode()
225 DEBUG(dbgs() << "Reusing " << PrintReg(IncomingReg) << " for " << *MPhi); in LowerAtomicPHINode()
230 BuildMI(MBB, AfterPHIsIt, MPhi->getDebugLoc(), in LowerAtomicPHINode()
267 LV->removeVirtualRegistersKilled(MPhi); in LowerAtomicPHINode()
272 LV->removeVirtualRegisterDead(DestReg, MPhi); in LowerAtomicPHINode()
277 for (unsigned i = 1; i != MPhi->getNumOperands(); i += 2) in LowerAtomicPHINode()
278 --VRegPHIUseCount[BBVRegPair(MPhi->getOperand(i+1).getMBB()->getNumber(), in LowerAtomicPHINode()
279 MPhi->getOperand(i).getReg())]; in LowerAtomicPHINode()
285 unsigned SrcReg = MPhi->getOperand(i*2+1).getReg(); in LowerAtomicPHINode()
286 unsigned SrcSubReg = MPhi->getOperand(i*2+1).getSubReg(); in LowerAtomicPHINode()
293 MachineBasicBlock &opBlock = *MPhi->getOperand(i*2+2).getMBB(); in LowerAtomicPHINode()
316 BuildMI(opBlock, InsertPos, MPhi->getDebugLoc(), in LowerAtomicPHINode()
387 MF.DeleteMachineInstr(MPhi); in LowerAtomicPHINode()