Lines Matching refs:MBB

52   virtual bool contains(const MachineBasicBlock *MBB) const = 0;
65 bool contains(const MachineBasicBlock *MBB) const override {
66 return Region->contains(MBB);
90 // Returns a smallest loop or exception that contains MBB
91 const Region *getRegionFor(const MachineBasicBlock *MBB) {
92 const auto *ML = MLI.getLoopFor(MBB);
93 const auto *WE = WEI.getExceptionFor(MBB);
97 // If the smallest region containing MBB is a loop
103 // If the smallest region containing MBB is an exception
143 static void maybeUpdateTerminator(MachineBasicBlock *MBB) {
148 for (const MachineInstr &Term : MBB->terminators()) {
157 MBB->updateTerminator();
248 for (MachineBasicBlock &MBB : MF) {
249 unsigned N = MBB.pred_size();
250 if (MachineLoop *L = MLI.getLoopFor(&MBB))
251 if (L->getHeader() == &MBB)
252 for (const MachineBasicBlock *Pred : MBB.predecessors())
255 NumPredsLeft[MBB.getNumber()] = N;
275 for (MachineBasicBlock *MBB = &MF.front();;) {
276 const Region *R = RI.getRegionFor(MBB);
278 // If MBB is a region header, add it to the active region list. We can't
281 if (R->getHeader() == MBB)
283 // For each active region the block is in, decrement the count. If MBB is
287 if (E.TheRegion->contains(MBB) && --E.NumBlocksLeft == 0)
294 for (MachineBasicBlock *Succ : MBB->successors()) {
297 if (SuccL->getHeader() == Succ && SuccL->contains(MBB))
303 // Determine the block to follow MBB. First try to find a preferred block,
317 // If Next was originally ordered before MBB, and it isn't because it was
319 if (Next->getNumber() < MBB->getNumber() &&
334 maybeUpdateTerminator(MBB);
351 Next->moveAfter(MBB);
352 maybeUpdateTerminator(MBB);
353 MBB = Next;
366 for (auto &MBB : MF) {
367 assert(MBB.getNumber() >= 0 && "Renumbered blocks should be non-negative.");
368 const Region *Region = RI.getRegionFor(&MBB);
370 if (Region && &MBB == Region->getHeader()) {
374 for (auto Pred : MBB.predecessors())
376 (Pred->getNumber() < MBB.getNumber() || Region->contains(Pred)) &&
381 for (auto Pred : MBB.predecessors())
382 assert(Pred->getNumber() < MBB.getNumber() &&
390 for (auto Pred : MBB.predecessors())
391 assert(Pred->getNumber() < MBB.getNumber() &&
393 assert(OnStack.count(RI.getRegionFor(&MBB)) &&
396 while (OnStack.size() > 1 && &MBB == WebAssembly::getBottom(OnStack.back()))