Lines Matching defs:KillMI
921 MachineInstr *KillMI = nullptr;
933 KillMI = LIS->getInstructionFromIndex(I->end);
935 KillMI = LV->getVarInfo(Reg).findKill(MBB);
937 if (!KillMI || MI == KillMI || KillMI->isCopy() || KillMI->isCopyLike())
941 if (KillMI->hasUnmodeledSideEffects() || KillMI->isCall() ||
942 KillMI->isBranch() || KillMI->isTerminator())
947 if (isTwoAddrUse(*KillMI, Reg, DstReg))
991 MachineBasicBlock::iterator KillPos = KillMI;
1031 assert((MOReg != Reg || &OtherMI == KillMI) &&
1064 LV->removeVirtualRegisterKilled(Reg, *KillMI);
1068 LLVM_DEBUG(dbgs() << "\trescheduled below kill: " << *KillMI);
1080 return true; // MI is defining something KillMI uses
1109 MachineInstr *KillMI = nullptr;
1121 KillMI = LIS->getInstructionFromIndex(I->end);
1123 KillMI = LV->getVarInfo(Reg).findKill(MBB);
1125 if (!KillMI || MI == KillMI || KillMI->isCopy() || KillMI->isCopyLike())
1130 if (isTwoAddrUse(*KillMI, Reg, DstReg))
1134 if (!KillMI->isSafeToMove(SeenStore))
1141 for (const MachineOperand &MO : KillMI->operands()) {
1166 make_range(mi, MachineBasicBlock::iterator(KillMI))) {
1186 // Moving KillMI can clobber the physical register if the def has
1214 MachineBasicBlock::iterator From = KillMI;
1225 LIS->handleMove(*KillMI);
1227 LV->removeVirtualRegisterKilled(Reg, *KillMI);
1231 LLVM_DEBUG(dbgs() << "\trescheduled kill: " << *KillMI);
1820 for (auto *KillMI : DstInfo.Kills)
1821 LV->addVirtualRegisterKilled(RegB, *KillMI, false);