Lines Matching refs:MBB

70     MachineBasicBlock *MBB = WL.pop_back_val();  in getMatchingEHPad()  local
71 if (Visited.count(MBB)) in getMatchingEHPad()
73 Visited.insert(MBB); in getMatchingEHPad()
74 if (MBB->isEHPad()) { in getMatchingEHPad()
75 if (EHPad && EHPad != MBB) in getMatchingEHPad()
77 EHPad = MBB; in getMatchingEHPad()
80 if (MBB == &MF->front()) in getMatchingEHPad()
82 WL.append(MBB->pred_begin(), MBB->pred_end()); in getMatchingEHPad()
93 MachineBasicBlock *MBB = WL.pop_back_val(); in eraseDeadBBsAndChildren() local
94 if (!MBB->pred_empty()) in eraseDeadBBsAndChildren()
96 SmallVector<MachineBasicBlock *, 4> Succs(MBB->succ_begin(), in eraseDeadBBsAndChildren()
97 MBB->succ_end()); in eraseDeadBBsAndChildren()
98 WL.append(MBB->succ_begin(), MBB->succ_end()); in eraseDeadBBsAndChildren()
100 MBB->removeSuccessor(Succ); in eraseDeadBBsAndChildren()
101 MBB->eraseFromParent(); in eraseDeadBBsAndChildren()
131 for (auto &MBB : MF) { in removeUnnecessaryUnreachables() local
132 for (auto &MI : MBB) { in removeUnnecessaryUnreachables()
141 MBB.erase(std::next(MachineBasicBlock::iterator(MI)), MBB.end()); in removeUnnecessaryUnreachables()
142 SmallVector<MachineBasicBlock *, 8> Succs(MBB.succ_begin(), in removeUnnecessaryUnreachables()
143 MBB.succ_end()); in removeUnnecessaryUnreachables()
145 MBB.removeSuccessor(Succ); in removeUnnecessaryUnreachables()
158 for (auto &MBB : MF) { in replaceFuncletReturns() local
159 auto Pos = MBB.getFirstTerminator(); in replaceFuncletReturns()
160 if (Pos == MBB.end()) in replaceFuncletReturns()
168 if (!MBB.isLayoutSuccessor(TBB)) in replaceFuncletReturns()
169 BuildMI(MBB, TI, TI->getDebugLoc(), TII.get(WebAssembly::BR)) in replaceFuncletReturns()
177 if (EHInfo->hasThrowUnwindDest(&MBB)) in replaceFuncletReturns()
178 BuildMI(MBB, TI, TI->getDebugLoc(), TII.get(WebAssembly::RETHROW)) in replaceFuncletReturns()
179 .addMBB(EHInfo->getThrowUnwindDest(&MBB)); in replaceFuncletReturns()
181 BuildMI(MBB, TI, TI->getDebugLoc(), in replaceFuncletReturns()
208 for (auto &MBB : MF) in hoistCatches() local
209 for (auto &MI : MBB) in hoistCatches()
229 for (auto &MBB : MF) { in addCatchAlls() local
230 if (!MBB.isEHPad()) in addCatchAlls()
234 if (!WebAssembly::isCatch(*MBB.begin())) { in addCatchAlls()
236 BuildMI(MBB, MBB.begin(), MBB.begin()->getDebugLoc(), in addCatchAlls()
249 for (auto &MBB : MF) in addRethrows() local
250 for (auto &MI : MBB) { in addRethrows()
262 while (InsertPt != MBB.end() && InsertPt->isLabel()) // Skip EH_LABELs in addRethrows()
265 if (EHInfo->hasThrowUnwindDest(&MBB)) in addRethrows()
266 Rethrow = BuildMI(MBB, InsertPt, MI.getDebugLoc(), in addRethrows()
268 .addMBB(EHInfo->getThrowUnwindDest(&MBB)); in addRethrows()
270 Rethrow = BuildMI(MBB, InsertPt, MI.getDebugLoc(), in addRethrows()
277 MBB.erase(std::next(MachineBasicBlock::iterator(Rethrow)), MBB.end()); in addRethrows()
279 for (auto *Succ : MBB.successors()) in addRethrows()
283 MBB.removeSuccessor(Succ); in addRethrows()
305 for (auto &MBB : MF) in ensureSingleBBTermPads() local
306 for (auto &MI : MBB) in ensureSingleBBTermPads()
358 for (auto &MBB : MF) in mergeTerminatePads() local
359 if (WebAssembly::isCatchTerminatePad(MBB)) in mergeTerminatePads()
360 TermPads.push_back(&MBB); in mergeTerminatePads()
394 for (auto &MBB : MF) in addCatchAllTerminatePads() local
395 if (WebAssembly::isCatchTerminatePad(MBB)) in addCatchAllTerminatePads()
396 TermPads.push_back(&MBB); in addCatchAllTerminatePads()