Lines Matching refs:UseMI

630 static bool getDataDeps(const MachineInstr *UseMI,  in getDataDeps()  argument
634 for (ConstMIOperands MO(UseMI); MO.isValid(); ++MO) { 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 (ConstMIOperands MO(UseMI); MO.isValid(); ++MO) { in updatePhysDepsDownwards()
732 for (MCRegUnitIterator Units(UseMI->getOperand(DefOp).getReg(), TRI); in updatePhysDepsDownwards()
735 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()
844 .computeOperandLatency(Dep.DefMI, Dep.DefOp, &UseMI, Dep.UseOp); in computeInstrDepths()
848 InstrCycles &MICycles = Cycles[&UseMI]; in computeInstrDepths()
852 DEBUG(dbgs() << Cycle << '\t' << UseMI); in computeInstrDepths()
857 DEBUG(dbgs() << TBI.CriticalPath << '\t' << Cycle << '\t' << UseMI); in computeInstrDepths()
923 const MachineInstr *UseMI, unsigned UseHeight, in pushDepHeight() argument
930 UseMI, Dep.UseOp); in pushDepHeight()
1248 const MachineInstr *UseMI) const { in isDepInTrace()
1249 if (DefMI->getParent() == UseMI->getParent()) in isDepInTrace()
1253 const TraceBlockInfo &TBI = TE.BlockInfo[UseMI->getParent()->getNumber()]; in isDepInTrace()