Home | History | Annotate | Download | only in CodeGen

Lines Matching defs:UseMI

306 static bool isTwoAddrUse(MachineInstr *UseMI, unsigned Reg) {
307 const MCInstrDesc &MCID = UseMI->getDesc();
309 MachineOperand &MO = UseMI->getOperand(i);
311 (MO.isDef() || UseMI->isRegTiedToDefOperand(i)))
330 MachineInstr *UseMI = UseMO.getParent();
331 MachineBasicBlock *UseMBB = UseMI->getParent();
333 DenseMap<MachineInstr*, unsigned>::iterator DI = DistanceMap.find(UseMI);
339 if (isTwoAddrUse(UseMI, Reg))
497 MachineInstr *UseMI = &*UI;
498 if (UseMI == MI || UseMI->getParent() != MBB)
500 if (DistanceMap.count(UseMI))
506 KillMI = UseMI;
523 MachineInstr &UseMI = *MRI->use_nodbg_begin(Reg);
524 if (UseMI.getParent() != MBB)
528 if (isCopyToReg(UseMI, TII, SrcReg, DstReg, IsSrcPhys, IsDstPhys)) {
530 return &UseMI;
533 if (isTwoAddrUse(UseMI, Reg, DstReg)) {
535 return &UseMI;
737 while (MachineInstr *UseMI = findOnlyInterestingUse(Reg, MBB, MRI, TII,IsCopy,
739 if (IsCopy && !Processed.insert(UseMI))
742 DenseMap<MachineInstr*, unsigned>::iterator DI = DistanceMap.find(UseMI);
1709 MachineInstr *UseMI = &*UI;
1710 if (!UseMI->isCopy() || UseMI->getOperand(0).getReg() != DstReg) {
1714 SrcSubIndices.push_back(UseMI->getOperand(1).getSubReg());
1715 DstSubIndices.push_back(UseMI->getOperand(0).getSubReg());
1748 MachineInstr *UseMI = &*UI;
1749 assert(UseMI->isCopy());
1750 UseMI->getOperand(0).getSubReg();
1751 unsigned SrcSubIdx = UseMI->getOperand(1).getSubReg();
1762 if (!SomeMI || UseMI->getOperand(0).isUndef())
1763 SomeMI = UseMI;
1781 MachineInstr *UseMI = &*UI;
1783 if (UseMI == CopyMI)
1785 assert(UseMI->isCopy());
1787 if (UseMI->getOperand(1).isKill()) {
1791 LV->replaceKillInstruction(SrcReg, UseMI, &*CopyMI);
1793 UseMI->eraseFromParent();
1802 MachineInstr *UseMI = &*UI;
1803 if (UseMI != RegSeq && UseMI->isRegSequence())