Lines Matching refs:MPhi
324 static bool allPhiOperandsUndefined(const MachineInstr &MPhi, in allPhiOperandsUndefined() argument
326 for (unsigned I = 1, E = MPhi.getNumOperands(); I != E; I += 2) { in allPhiOperandsUndefined()
327 const MachineOperand &MO = MPhi.getOperand(I); in allPhiOperandsUndefined()
342 MachineInstr *MPhi = MBB.remove(&*MBB.begin()); in LowerPHINode() local
344 unsigned NumSrcs = (MPhi->getNumOperands() - 1) / 2; in LowerPHINode()
345 Register DestReg = MPhi->getOperand(0).getReg(); in LowerPHINode()
346 assert(MPhi->getOperand(0).getSubReg() == 0 && "Can't handle sub-reg PHIs"); in LowerPHINode()
347 bool isDead = MPhi->getOperand(0).isDead(); in LowerPHINode()
360 if (allPhiOperandsUndefined(*MPhi, *MRI)) in LowerPHINode()
363 PHICopy = BuildMI(MBB, AfterPHIsIt, MPhi->getDebugLoc(), in LowerPHINode()
372 Entry = &LoweredPHIs[MPhi]; in LowerPHINode()
379 << *MPhi); in LowerPHINode()
391 MBB, AfterPHIsIt, MPhi->getDebugLoc(), IncomingReg, DestReg); in LowerPHINode()
394 if (MPhi->peekDebugInstrNum()) { in LowerPHINode()
397 unsigned ID = MPhi->peekDebugInstrNum(); in LowerPHINode()
451 LV->removeVirtualRegistersKilled(*MPhi); in LowerPHINode()
456 LV->removeVirtualRegisterDead(DestReg, *MPhi); in LowerPHINode()
524 for (unsigned i = 1; i != MPhi->getNumOperands(); i += 2) { in LowerPHINode()
525 if (!MPhi->getOperand(i).isUndef()) { in LowerPHINode()
527 MPhi->getOperand(i + 1).getMBB()->getNumber(), in LowerPHINode()
528 MPhi->getOperand(i).getReg())]; in LowerPHINode()
537 Register SrcReg = MPhi->getOperand(i * 2 + 1).getReg(); in LowerPHINode()
538 unsigned SrcSubReg = MPhi->getOperand(i * 2 + 1).getSubReg(); in LowerPHINode()
539 bool SrcUndef = MPhi->getOperand(i * 2 + 1).isUndef() || in LowerPHINode()
546 MachineBasicBlock &opBlock = *MPhi->getOperand(i * 2 + 2).getMBB(); in LowerPHINode()
589 BuildMI(opBlock, InsertPos, MPhi->getDebugLoc(), in LowerPHINode()
728 LIS->RemoveMachineInstrFromMaps(*MPhi); in LowerPHINode()
729 MF.deleteMachineInstr(MPhi); in LowerPHINode()