Lines Matching refs:UseMI
637 // Get the input data dependencies that must be ready before UseMI can issue.
638 // Return true if UseMI has any physreg operands.
639 static bool getDataDeps(const MachineInstr *UseMI,
643 for (ConstMIOperands MO(UseMI); MO.isValid(); ++MO) {
663 static void getPHIDeps(const MachineInstr *UseMI,
670 assert(UseMI->isPHI() && UseMI->getNumOperands() % 2 && "Bad PHI");
671 for (unsigned i = 1; i != UseMI->getNumOperands(); i += 2) {
672 if (UseMI->getOperand(i + 1).getMBB() == Pred) {
673 unsigned Reg = UseMI->getOperand(i).getReg();
697 // Identify physreg dependencies for UseMI, and update the live regunit
699 static void updatePhysDepsDownwards(const MachineInstr *UseMI,
706 for (ConstMIOperands MO(UseMI); MO.isValid(); ++MO) {
732 // Update RegUnits to reflect live registers after UseMI.
741 for (MCRegUnitIterator Units(UseMI->getOperand(DefOp).getReg(), TRI);
744 LRU.MI = UseMI;
833 const MachineInstr *UseMI = I;
837 if (UseMI->isPHI())
838 getPHIDeps(UseMI, Deps, TBI.Pred, MTM.MRI);
839 else if (getDataDeps(UseMI, Deps, MTM.MRI))
840 updatePhysDepsDownwards(UseMI, Deps, RegUnits, MTM.TRI);
856 UseMI, Dep.UseOp);
860 InstrCycles &MICycles = Cycles[UseMI];
864 DEBUG(dbgs() << Cycle << '\t' << *UseMI);
869 DEBUG(dbgs() << TBI.CriticalPath << '\t' << Cycle << '\t' << *UseMI);
901 // We may not know the UseMI of this dependency, if it came from the
902 // live-in list. SchedModel can handle a NULL UseMI.
932 // Push the height of DefMI upwards if required to match UseMI.
935 const MachineInstr *UseMI, unsigned UseHeight,
942 UseMI, Dep.UseOp);