Lines Matching defs:MPhi
333 static bool allPhiOperandsUndefined(const MachineInstr &MPhi,
335 for (unsigned I = 1, E = MPhi.getNumOperands(); I != E; I += 2) {
336 const MachineOperand &MO = MPhi.getOperand(I);
351 MachineInstr *MPhi = MBB.remove(&*MBB.begin());
353 unsigned NumSrcs = (MPhi->getNumOperands() - 1) / 2;
354 Register DestReg = MPhi->getOperand(0).getReg();
355 assert(MPhi->getOperand(0).getSubReg() == 0 && "Can't handle sub-reg PHIs");
356 bool isDead = MPhi->getOperand(0).isDead();
369 if (allPhiOperandsUndefined(*MPhi, *MRI))
372 PHICopy = BuildMI(MBB, AfterPHIsIt, MPhi->getDebugLoc(),
381 Entry = &LoweredPHIs[MPhi];
388 << *MPhi);
400 MBB, AfterPHIsIt, MPhi->getDebugLoc(), IncomingReg, DestReg);
403 if (MPhi->peekDebugInstrNum()) {
406 unsigned ID = MPhi->peekDebugInstrNum();
460 LV->removeVirtualRegistersKilled(*MPhi);
465 LV->removeVirtualRegisterDead(DestReg, *MPhi);
533 for (unsigned i = 1; i != MPhi->getNumOperands(); i += 2) {
534 if (!MPhi->getOperand(i).isUndef()) {
536 MPhi->getOperand(i + 1).getMBB()->getNumber(),
537 MPhi->getOperand(i).getReg())];
546 Register SrcReg = MPhi->getOperand(i * 2 + 1).getReg();
547 unsigned SrcSubReg = MPhi->getOperand(i * 2 + 1).getSubReg();
548 bool SrcUndef = MPhi->getOperand(i * 2 + 1).isUndef() ||
555 MachineBasicBlock &opBlock = *MPhi->getOperand(i * 2 + 2).getMBB();
598 BuildMI(opBlock, InsertPos, MPhi->getDebugLoc(),
737 LIS->RemoveMachineInstrFromMaps(*MPhi);
738 MF.deleteMachineInstr(MPhi);