Lines Matching refs:KillMI

214   MachineInstr *KillMI = NULL;
226 KillMI = LIS->getInstructionFromIndex(I->end);
228 if (!KillMI) {
235 KillMI = UseMO.getParent();
243 if (!KillMI || KillMI->getParent() != MBB || KillMI == MI ||
244 KillMI == OldPos || KillMI->isTerminator())
254 MachineBasicBlock::iterator KillPos = KillMI;
277 if (OtherMI == KillMI && MOReg == SavedReg)
296 LV->replaceKillInstruction(SavedReg, KillMI, MI);
760 MachineInstr *KillMI = 0;
772 KillMI = LIS->getInstructionFromIndex(I->end);
774 KillMI = LV->getVarInfo(Reg).findKill(MBB);
776 if (!KillMI || MI == KillMI || KillMI->isCopy() || KillMI->isCopyLike())
780 if (KillMI->hasUnmodeledSideEffects() || KillMI->isCall() ||
781 KillMI->isBranch() || KillMI->isTerminator())
786 if (isTwoAddrUse(*KillMI, Reg, DstReg))
829 MachineBasicBlock::iterator KillPos = KillMI;
872 assert((MOReg != Reg || OtherMI == KillMI) &&
905 LV->removeVirtualRegisterKilled(Reg, KillMI);
909 DEBUG(dbgs() << "\trescheduled below kill: " << *KillMI);
923 return true; // MI is defining something KillMI uses
954 MachineInstr *KillMI = 0;
966 KillMI = LIS->getInstructionFromIndex(I->end);
968 KillMI = LV->getVarInfo(Reg).findKill(MBB);
970 if (!KillMI || MI == KillMI || KillMI->isCopy() || KillMI->isCopyLike())
975 if (isTwoAddrUse(*KillMI, Reg, DstReg))
979 if (!KillMI->isSafeToMove(TII, AA, SeenStore))
986 for (unsigned i = 0, e = KillMI->getNumOperands(); i != e; ++i) {
987 const MachineOperand &MO = KillMI->getOperand(i);
996 bool isKill = MO.isKill() || (LIS && isPlainlyKilled(KillMI, MOReg, LIS));
1011 MachineBasicBlock::iterator KillPos = KillMI;
1034 // Moving KillMI can clobber the physical register if the def has
1065 MachineBasicBlock::iterator From = KillMI;
1076 LIS->handleMove(KillMI);
1078 LV->removeVirtualRegisterKilled(Reg, KillMI);
1082 DEBUG(dbgs() << "\trescheduled kill: " << *KillMI);