• Home
  • Raw
  • Download

Lines Matching refs:MBB

85 MachineTraceMetrics::getResources(const MachineBasicBlock *MBB) {  in getResources()  argument
86 assert(MBB && "No basic block"); in getResources()
87 FixedBlockInfo *FBI = &BlockInfo[MBB->getNumber()]; in getResources()
99 for (const auto &MI : *MBB) { in getResources()
123 unsigned PROffset = MBB->getNumber() * PRKinds; in getResources()
157 MachineTraceMetrics::Ensemble::getLoopFor(const MachineBasicBlock *MBB) const { in getLoopFor()
158 return MTM.Loops->getLoopFor(MBB); in getLoopFor()
164 computeDepthResources(const MachineBasicBlock *MBB) { in computeDepthResources() argument
165 TraceBlockInfo *TBI = &BlockInfo[MBB->getNumber()]; in computeDepthResources()
167 unsigned PROffset = MBB->getNumber() * PRKinds; in computeDepthResources()
172 TBI->Head = MBB->getNumber(); in computeDepthResources()
197 computeHeightResources(const MachineBasicBlock *MBB) { in computeHeightResources() argument
198 TraceBlockInfo *TBI = &BlockInfo[MBB->getNumber()]; in computeHeightResources()
200 unsigned PROffset = MBB->getNumber() * PRKinds; in computeHeightResources()
203 TBI->InstrHeight = MTM.getResources(MBB)->InstrCount; in computeHeightResources()
204 ArrayRef<unsigned> PRCycles = MTM.getProcResourceCycles(MBB->getNumber()); in computeHeightResources()
208 TBI->Tail = MBB->getNumber(); in computeHeightResources()
232 getDepthResources(const MachineBasicBlock *MBB) const { in getDepthResources()
233 const TraceBlockInfo *TBI = &BlockInfo[MBB->getNumber()]; in getDepthResources()
241 getHeightResources(const MachineBasicBlock *MBB) const { in getHeightResources()
242 const TraceBlockInfo *TBI = &BlockInfo[MBB->getNumber()]; in getHeightResources()
313 MinInstrCountEnsemble::pickTracePred(const MachineBasicBlock *MBB) { in pickTracePred() argument
314 if (MBB->pred_empty()) in pickTracePred()
316 const MachineLoop *CurLoop = getLoopFor(MBB); in pickTracePred()
318 if (CurLoop && MBB == CurLoop->getHeader()) in pickTracePred()
320 unsigned CurCount = MTM.getResources(MBB)->InstrCount; in pickTracePred()
323 for (const MachineBasicBlock *Pred : MBB->predecessors()) { in pickTracePred()
341 MinInstrCountEnsemble::pickTraceSucc(const MachineBasicBlock *MBB) { in pickTraceSucc() argument
342 if (MBB->pred_empty()) in pickTraceSucc()
344 const MachineLoop *CurLoop = getLoopFor(MBB); in pickTraceSucc()
347 for (const MachineBasicBlock *Succ : MBB->successors()) { in pickTraceSucc()
384 void MachineTraceMetrics::invalidate(const MachineBasicBlock *MBB) { in invalidate() argument
385 DEBUG(dbgs() << "Invalidate traces through BB#" << MBB->getNumber() << '\n'); in invalidate()
386 BlockInfo[MBB->getNumber()].invalidate(); in invalidate()
389 Ensembles[i]->invalidate(MBB); in invalidate()
457 void MachineTraceMetrics::Ensemble::computeTrace(const MachineBasicBlock *MBB) { in computeTrace() argument
459 << MBB->getNumber() << '\n'); in computeTrace()
466 for (auto I : inverse_post_order_ext(MBB, Bounds)) { in computeTrace()
484 for (auto I : post_order_ext(MBB, Bounds)) { in computeTrace()
511 const MachineBasicBlock *MBB = WorkList.pop_back_val(); in invalidate() local
512 DEBUG(dbgs() << "Invalidate BB#" << MBB->getNumber() << ' ' << getName() in invalidate()
516 for (const MachineBasicBlock *Pred : MBB->predecessors()) { in invalidate()
520 if (TBI.Succ == MBB) { in invalidate()
536 const MachineBasicBlock *MBB = WorkList.pop_back_val(); in invalidate() local
537 DEBUG(dbgs() << "Invalidate BB#" << MBB->getNumber() << ' ' << getName() in invalidate()
541 for (const MachineBasicBlock *Succ : MBB->successors()) { in invalidate()
545 if (TBI.Pred == MBB) { in invalidate()
572 const MachineBasicBlock *MBB = MTM.MF->getBlockNumbered(Num); in verify() local
573 assert(MBB->isPredecessor(TBI.Pred) && "CFG doesn't match trace"); in verify()
576 const MachineLoop *Loop = getLoopFor(MBB); in verify()
577 assert(!(Loop && MBB == Loop->getHeader()) && "Trace contains backedge"); in verify()
580 const MachineBasicBlock *MBB = MTM.MF->getBlockNumbered(Num); in verify() local
581 assert(MBB->isSuccessor(TBI.Succ) && "CFG doesn't match trace"); in verify()
584 const MachineLoop *Loop = getLoopFor(MBB); in verify()
779 computeInstrDepths(const MachineBasicBlock *MBB) { in computeInstrDepths() argument
785 TraceBlockInfo &TBI = BlockInfo[MBB->getNumber()]; in computeInstrDepths()
789 Stack.push_back(MBB); in computeInstrDepths()
790 MBB = TBI.Pred; in computeInstrDepths()
791 } while (MBB); in computeInstrDepths()
803 MBB = Stack.pop_back_val(); in computeInstrDepths()
804 DEBUG(dbgs() << "\nDepths for BB#" << MBB->getNumber() << ":\n"); in computeInstrDepths()
805 TraceBlockInfo &TBI = BlockInfo[MBB->getNumber()]; in computeInstrDepths()
812 ArrayRef<unsigned> PRDepths = getProcResourceDepths(MBB->getNumber()); in computeInstrDepths()
826 for (const auto &UseMI : *MBB) { in computeInstrDepths()
964 const MachineBasicBlock *MBB = Trace[i-1]; in addLiveIns() local
965 if (MBB == DefMBB) in addLiveIns()
967 TraceBlockInfo &TBI = BlockInfo[MBB->getNumber()]; in addLiveIns()
977 computeInstrHeights(const MachineBasicBlock *MBB) { in computeInstrHeights() argument
982 TraceBlockInfo &TBI = BlockInfo[MBB->getNumber()]; in computeInstrHeights()
986 Stack.push_back(MBB); in computeInstrHeights()
988 MBB = TBI.Succ; in computeInstrHeights()
989 } while (MBB); in computeInstrHeights()
1003 if (MBB) { in computeInstrHeights()
1004 TraceBlockInfo &TBI = BlockInfo[MBB->getNumber()]; in computeInstrHeights()
1022 MBB = Stack.back(); in computeInstrHeights()
1023 DEBUG(dbgs() << "Heights for BB#" << MBB->getNumber() << ":\n"); in computeInstrHeights()
1024 TraceBlockInfo &TBI = BlockInfo[MBB->getNumber()]; in computeInstrHeights()
1030 ArrayRef<unsigned> PRHeights = getProcResourceHeights(MBB->getNumber()); in computeInstrHeights()
1046 if (const MachineLoop *Loop = getLoopFor(MBB)) in computeInstrHeights()
1047 if (MBB->isSuccessor(Loop->getHeader())) in computeInstrHeights()
1055 getPHIDeps(PHI, Deps, MBB, MTM.MRI); in computeInstrHeights()
1068 for (MachineBasicBlock::const_iterator BI = MBB->end(), BB = MBB->begin(); in computeInstrHeights()
1110 DEBUG(dbgs() << "BB#" << MBB->getNumber() << " Live-ins:"); in computeInstrHeights()
1136 MachineTraceMetrics::Ensemble::getTrace(const MachineBasicBlock *MBB) { in getTrace() argument
1137 TraceBlockInfo &TBI = BlockInfo[MBB->getNumber()]; in getTrace()
1140 computeTrace(MBB); in getTrace()
1142 computeInstrDepths(MBB); in getTrace()
1144 computeInstrHeights(MBB); in getTrace()
1159 const MachineBasicBlock *MBB = TE.MTM.MF->getBlockNumbered(getBlockNum()); in getPHIDepth() local
1161 getPHIDeps(PHI, Deps, MBB, TE.MTM.MRI); in getPHIDepth()
1232 for (const MachineBasicBlock *MBB : Extrablocks) in getResourceLength() local
1233 PRCycles += TE.MTM.getProcResourceCycles(MBB->getNumber())[K]; in getResourceLength()
1244 for (const MachineBasicBlock *MBB : Extrablocks) in getResourceLength() local
1245 Instrs += TE.MTM.getResources(MBB)->InstrCount; in getResourceLength()