Lines Matching defs:MBB
87 bool join(MachineBasicBlock &MBB, VarLocInMBB &OutLocs, VarLocInMBB &InLocs);
167 Out << "MBB: " << L.first->getName() << ":\n";
271 /// This routine joins the analysis results of all incoming edges in @MBB by
272 /// inserting a new DBG_VALUE instruction at the start of the @MBB - if the same
273 /// source variable in all the predecessors of @MBB reside in the same location.
274 bool LiveDebugValues::join(MachineBasicBlock &MBB, VarLocInMBB &OutLocs,
276 DEBUG(dbgs() << "join MBB: " << MBB.getName() << "\n");
281 // For all predecessors of this MBB, find the set of VarLocs that can be
283 for (auto p : MBB.predecessors()) {
290 if (p == *MBB.pred_begin()) {
308 if (InLocs.find(&MBB) == InLocs.end()) {
311 InLocs.insert(std::make_pair(&MBB, std::move(VLL)));
313 auto IL = InLocs.find(&MBB);
323 // new range is started for the var from the mbb's beginning by inserting
327 BuildMI(MBB, MBB.instr_begin(), DMI->getDebugLoc(), DMI->getDesc(),
363 // Initialize every mbb with OutLocs.
364 for (auto &MBB : MF)
365 for (auto &MI : MBB)
388 MachineBasicBlock *MBB = OrderToBB[Worklist.top()];
390 MBBJoined = join(*MBB, OutLocs, InLocs);
395 for (auto &MI : *MBB)
402 for (auto s : MBB->successors())