Lines Matching refs:UseMI
282 static bool isTwoAddrUse(MachineInstr *UseMI, unsigned Reg) { in isTwoAddrUse() argument
283 const MCInstrDesc &MCID = UseMI->getDesc(); in isTwoAddrUse()
285 MachineOperand &MO = UseMI->getOperand(i); in isTwoAddrUse()
287 (MO.isDef() || UseMI->isRegTiedToDefOperand(i))) in isTwoAddrUse()
306 MachineInstr *UseMI = UseMO.getParent(); in isProfitableToReMat() local
307 MachineBasicBlock *UseMBB = UseMI->getParent(); in isProfitableToReMat()
309 DenseMap<MachineInstr*, unsigned>::iterator DI = DistanceMap.find(UseMI); in isProfitableToReMat()
315 if (isTwoAddrUse(UseMI, Reg)) in isProfitableToReMat()
473 MachineInstr &UseMI = *MRI->use_nodbg_begin(Reg); in findOnlyInterestingUse() local
474 if (UseMI.getParent() != MBB) in findOnlyInterestingUse()
478 if (isCopyToReg(UseMI, TII, SrcReg, DstReg, IsSrcPhys, IsDstPhys)) { in findOnlyInterestingUse()
480 return &UseMI; in findOnlyInterestingUse()
483 if (isTwoAddrUse(UseMI, Reg, DstReg)) { in findOnlyInterestingUse()
485 return &UseMI; in findOnlyInterestingUse()
684 while (MachineInstr *UseMI = findOnlyInterestingUse(Reg, MBB, MRI, TII,IsCopy, in ScanUses() local
686 if (IsCopy && !Processed.insert(UseMI)) in ScanUses()
689 DenseMap<MachineInstr*, unsigned>::iterator DI = DistanceMap.find(UseMI); in ScanUses()
1321 MachineInstr *UseMI = &*UI; in CoalesceExtSubRegs() local
1322 if (!UseMI->isCopy() || UseMI->getOperand(0).getReg() != DstReg) { in CoalesceExtSubRegs()
1326 SrcSubIndices.push_back(UseMI->getOperand(1).getSubReg()); in CoalesceExtSubRegs()
1327 DstSubIndices.push_back(UseMI->getOperand(0).getSubReg()); in CoalesceExtSubRegs()
1360 MachineInstr *UseMI = &*UI; in CoalesceExtSubRegs() local
1361 assert(UseMI->isCopy()); in CoalesceExtSubRegs()
1362 unsigned DstSubIdx = UseMI->getOperand(0).getSubReg(); in CoalesceExtSubRegs()
1363 unsigned SrcSubIdx = UseMI->getOperand(1).getSubReg(); in CoalesceExtSubRegs()
1373 SomeMI = UseMI; in CoalesceExtSubRegs()
1389 MachineInstr *UseMI = &*UI; in CoalesceExtSubRegs() local
1391 if (UseMI == CopyMI) in CoalesceExtSubRegs()
1393 assert(UseMI->isCopy()); in CoalesceExtSubRegs()
1395 if (UseMI->getOperand(1).isKill()) { in CoalesceExtSubRegs()
1399 LV->replaceKillInstruction(SrcReg, UseMI, &*CopyMI); in CoalesceExtSubRegs()
1401 UseMI->eraseFromParent(); in CoalesceExtSubRegs()
1410 MachineInstr *UseMI = &*UI; in HasOtherRegSequenceUses() local
1411 if (UseMI != RegSeq && UseMI->isRegSequence()) in HasOtherRegSequenceUses()