Lines Matching refs:NewMI
646 MachineInstr *NewMI = TII->commuteInstruction(DefMI);
647 if (!NewMI)
653 if (NewMI != DefMI) {
654 LIS->ReplaceMachineInstrInMaps(DefMI, NewMI);
656 MBB->insert(Pos, NewMI);
659 unsigned OpIdx = NewMI->findRegisterUseOperandIdx(IntA.reg, false);
660 NewMI->getOperand(OpIdx).setIsKill();
800 MachineInstr *NewMI = prior(MII);
802 LIS->ReplaceMachineInstrInMaps(CopyMI, NewMI);
806 // NewMI may have dead implicit defs (E.g. EFLAGS for MOV<bits>r0 on X86).
808 // NewMI into SlotIndexes.
810 for (unsigned i = NewMI->getDesc().getNumOperands(),
811 e = NewMI->getNumOperands(); i != e; ++i) {
812 MachineOperand &MO = NewMI->getOperand(i);
821 unsigned NewIdx = NewMI->getOperand(0).getSubReg();
831 NewMI->getOperand(0).setSubReg(0);
833 // The subreg index on NewMI is essential; we still have to make sure
834 // DstReg:idx is in a class that NewMI can use.
837 // DstReg is actually incompatible with NewMI, we have to move to a
843 NewMI->getOperand(0).setSubReg(
846 } else if (NewMI->getOperand(0).getReg() != CopyDstReg) {
851 NewMI->getOperand(0).setIsDead(true);
852 NewMI->addOperand(MachineOperand::CreateReg(CopyDstReg,
858 if (NewMI->getOperand(0).getSubReg())
859 NewMI->getOperand(0).setIsUndef();
870 NewMI->addOperand(MO);
875 SlotIndex NewMIIdx = LIS->getInstructionIndex(NewMI);
883 DEBUG(dbgs() << "Remat: " << *NewMI);