Lines Matching refs:UseMI
624 static bool getDataDeps(const MachineInstr *UseMI, in getDataDeps() argument
628 if (UseMI->isDebugValue()) in getDataDeps()
632 for (MachineInstr::const_mop_iterator I = UseMI->operands_begin(), in getDataDeps()
633 E = UseMI->operands_end(); I != E; ++I) { in getDataDeps()
646 Deps.push_back(DataDep(MRI, Reg, UseMI->getOperandNo(I))); in getDataDeps()
654 static void getPHIDeps(const MachineInstr *UseMI, in getPHIDeps() argument
661 assert(UseMI->isPHI() && UseMI->getNumOperands() % 2 && "Bad PHI"); in getPHIDeps()
662 for (unsigned i = 1; i != UseMI->getNumOperands(); i += 2) { in getPHIDeps()
663 if (UseMI->getOperand(i + 1).getMBB() == Pred) { in getPHIDeps()
664 unsigned Reg = UseMI->getOperand(i).getReg(); in getPHIDeps()
690 static void updatePhysDepsDownwards(const MachineInstr *UseMI, in updatePhysDepsDownwards() argument
697 for (MachineInstr::const_mop_iterator MI = UseMI->operands_begin(), in updatePhysDepsDownwards()
698 ME = UseMI->operands_end(); MI != ME; ++MI) { in updatePhysDepsDownwards()
710 LiveDefOps.push_back(UseMI->getOperandNo(MI)); in updatePhysDepsDownwards()
720 Deps.push_back(DataDep(I->MI, I->Op, UseMI->getOperandNo(MI))); in updatePhysDepsDownwards()
733 for (MCRegUnitIterator Units(UseMI->getOperand(DefOp).getReg(), TRI); in updatePhysDepsDownwards()
736 LRU.MI = UseMI; in updatePhysDepsDownwards()
822 for (const auto &UseMI : *MBB) { in computeInstrDepths()
825 if (UseMI.isPHI()) in computeInstrDepths()
826 getPHIDeps(&UseMI, Deps, TBI.Pred, MTM.MRI); in computeInstrDepths()
827 else if (getDataDeps(&UseMI, Deps, MTM.MRI)) in computeInstrDepths()
828 updatePhysDepsDownwards(&UseMI, Deps, RegUnits, MTM.TRI); in computeInstrDepths()
843 .computeOperandLatency(Dep.DefMI, Dep.DefOp, &UseMI, Dep.UseOp); in computeInstrDepths()
847 InstrCycles &MICycles = Cycles[&UseMI]; in computeInstrDepths()
851 DEBUG(dbgs() << Cycle << '\t' << UseMI); in computeInstrDepths()
856 DEBUG(dbgs() << TBI.CriticalPath << '\t' << Cycle << '\t' << UseMI); in computeInstrDepths()
925 const MachineInstr *UseMI, unsigned UseHeight, in pushDepHeight() argument
932 UseMI, Dep.UseOp); in pushDepHeight()
1252 const MachineInstr *UseMI) const { in isDepInTrace()
1253 if (DefMI->getParent() == UseMI->getParent()) in isDepInTrace()
1257 const TraceBlockInfo &TBI = TE.BlockInfo[UseMI->getParent()->getNumber()]; in isDepInTrace()