• Home
  • Raw
  • Download

Lines Matching refs:UseMI

628 static bool getDataDeps(const MachineInstr &UseMI,  in getDataDeps()  argument
632 if (UseMI.isDebugValue()) in getDataDeps()
636 for (MachineInstr::const_mop_iterator I = UseMI.operands_begin(), in getDataDeps()
637 E = UseMI.operands_end(); I != E; ++I) { in getDataDeps()
650 Deps.push_back(DataDep(MRI, Reg, UseMI.getOperandNo(I))); in getDataDeps()
658 static void getPHIDeps(const MachineInstr &UseMI, in getPHIDeps() argument
665 assert(UseMI.isPHI() && UseMI.getNumOperands() % 2 && "Bad PHI"); in getPHIDeps()
666 for (unsigned i = 1; i != UseMI.getNumOperands(); i += 2) { in getPHIDeps()
667 if (UseMI.getOperand(i + 1).getMBB() == Pred) { in getPHIDeps()
668 unsigned Reg = UseMI.getOperand(i).getReg(); in getPHIDeps()
694 static void updatePhysDepsDownwards(const MachineInstr *UseMI, in updatePhysDepsDownwards() argument
701 for (MachineInstr::const_mop_iterator MI = UseMI->operands_begin(), in updatePhysDepsDownwards()
702 ME = UseMI->operands_end(); MI != ME; ++MI) { in updatePhysDepsDownwards()
714 LiveDefOps.push_back(UseMI->getOperandNo(MI)); in updatePhysDepsDownwards()
724 Deps.push_back(DataDep(I->MI, I->Op, UseMI->getOperandNo(MI))); in updatePhysDepsDownwards()
737 for (MCRegUnitIterator Units(UseMI->getOperand(DefOp).getReg(), TRI); in updatePhysDepsDownwards()
740 LRU.MI = UseMI; in updatePhysDepsDownwards()
826 for (const auto &UseMI : *MBB) { in computeInstrDepths()
829 if (UseMI.isPHI()) in computeInstrDepths()
830 getPHIDeps(UseMI, Deps, TBI.Pred, MTM.MRI); in computeInstrDepths()
831 else if (getDataDeps(UseMI, Deps, MTM.MRI)) in computeInstrDepths()
832 updatePhysDepsDownwards(&UseMI, Deps, RegUnits, MTM.TRI); in computeInstrDepths()
847 .computeOperandLatency(Dep.DefMI, Dep.DefOp, &UseMI, Dep.UseOp); in computeInstrDepths()
851 InstrCycles &MICycles = Cycles[&UseMI]; in computeInstrDepths()
855 DEBUG(dbgs() << Cycle << '\t' << UseMI); in computeInstrDepths()
860 DEBUG(dbgs() << TBI.CriticalPath << '\t' << Cycle << '\t' << UseMI); in computeInstrDepths()
929 static bool pushDepHeight(const DataDep &Dep, const MachineInstr &UseMI, in pushDepHeight() argument
935 UseHeight += SchedModel.computeOperandLatency(Dep.DefMI, Dep.DefOp, &UseMI, in pushDepHeight()
1255 const MachineInstr &UseMI) const { in isDepInTrace()
1256 if (DefMI.getParent() == UseMI.getParent()) in isDepInTrace()
1260 const TraceBlockInfo &TBI = TE.BlockInfo[UseMI.getParent()->getNumber()]; in isDepInTrace()