Lines Matching defs:MBB
51 void fixBrTableIndex(MachineInstr &MI, MachineBasicBlock *MBB,
76 BuildMI(*MBB, MI.getIterator(), MI.getDebugLoc(),
89 // range check preceding the br_table. Returns the MBB that the br_table is
92 MachineBasicBlock *fixBrTableDefault(MachineInstr &MI, MachineBasicBlock *MBB,
95 assert(MBB->pred_size() == 1 && "Expected a single guard predecessor");
96 auto *HeaderMBB = *MBB->pred_begin();
109 // aka MBB, 'D' is the default block.
116 if (TBB && TBB != MBB) {
117 assert((FBB == nullptr || FBB == MBB) &&
140 HeaderMBB->splice(HeaderMBB->end(), MBB, MBB->begin(), MBB->end());
144 HeaderMBB->removeSuccessor(MBB);
145 for (auto &Succ : MBB->successors())
148 HeaderMBB->transferSuccessorsAndUpdatePHIs(MBB);
151 MF.erase(MBB);
165 for (auto &MBB : MF)
166 MBBSet.insert(&MBB);
169 MachineBasicBlock *MBB = *MBBSet.begin();
170 MBBSet.remove(MBB);
171 for (auto &MI : *MBB) {
173 fixBrTableIndex(MI, MBB, MF);
174 auto *Fixed = fixBrTableDefault(MI, MBB, MF);