Lines Matching refs:MBB
845 for (auto &MBB : *MF) {
847 EmitBasicBlockStart(MBB);
848 for (auto &MI : MBB) {
910 EmitBasicBlockEnd(MBB);
1386 MBB = JTBBs[ii];
1387 if (!EmittedSets.insert(MBB).second)
1392 MCSymbolRefExpr::create(MBB->getSymbol(), OutContext);
1393 OutStreamer->EmitAssignment(GetJTSetSymbol(JTI, MBB->getNumber()),
1417 /// EmitJumpTableEntry - Emit a jump table entry for the specified MBB to the
1420 const MachineBasicBlock *MBB,
1422 assert(MBB && MBB->getNumber() >= 0 && "Invalid basic block");
1429 MJTI, MBB, UID, OutContext);
1434 Value = MCSymbolRefExpr::create(MBB->getSymbol(), OutContext);
1440 MCSymbol *MBBSym = MBB->getSymbol();
1449 MCSymbol *MBBSym = MBB->getSymbol();
1463 Value = MCSymbolRefExpr::create(GetJTSetSymbol(UID, MBB->getNumber()),
1467 Value = MCSymbolRefExpr::create(MBB->getSymbol(), OutContext);
2373 static void emitBasicBlockLoopComments(const MachineBasicBlock &MBB,
2377 const MachineLoop *Loop = LI->getLoopFor(&MBB);
2385 if (Header != &MBB) {
2414 void AsmPrinter::EmitBasicBlockStart(const MachineBasicBlock &MBB) const {
2416 if (MBB.isEHFuncletEntry()) {
2419 HI.Handler->beginFunclet(MBB);
2424 if (unsigned Align = MBB.getAlignment())
2431 if (MBB.hasAddressTaken()) {
2432 const BasicBlock *BB = MBB.getBasicBlock();
2445 if (const BasicBlock *BB = MBB.getBasicBlock())
2448 emitBasicBlockLoopComments(MBB, LI, *this);
2452 if (MBB.pred_empty() ||
2453 (isBlockOnlyReachableByFallthrough(&MBB) && !MBB.isEHFuncletEntry())) {
2456 OutStreamer->emitRawComment(" BB#" + Twine(MBB.getNumber()) + ":", false);
2459 OutStreamer->EmitLabel(MBB.getSymbol());
2488 isBlockOnlyReachableByFallthrough(const MachineBasicBlock *MBB) const {
2491 if (MBB->isEHPad() || MBB->pred_empty())
2495 if (MBB->pred_size() > 1)
2499 MachineBasicBlock *Pred = *MBB->pred_begin();
2500 if (!Pred->isLayoutSuccessor(MBB))
2519 if (OP->isMBB() && OP->getMBB() == MBB)