Lines Matching refs:MBB
95 MachineBasicBlock *MBB, in rescheduleLexographically() argument
128 MBB->splice(getPos(), MBB, II.second); in rescheduleLexographically()
135 MachineBasicBlock *MBB) { in rescheduleCanonically() argument
153 for (auto &MI : *MBB) { in rescheduleCanonically()
218 MachineRegisterInfo *MRI = &MBB->getParent()->getRegInfo(); in rescheduleCanonically()
238 const auto BBE = MBB->instr_end(); in rescheduleCanonically()
242 for (auto BBI = MBB->instr_begin(); BBI != BBE; ++BBI) { in rescheduleCanonically()
270 MBB->splice(UseI, MBB, DefI); in rescheduleCanonically()
276 auto UseI = llvm::find_if(MBB->instrs(), [&](MachineInstr &MI) -> bool { in rescheduleCanonically()
280 if (UseI == MBB->instr_end()) in rescheduleCanonically()
286 MultiUsers[E.second], MBB, in rescheduleCanonically()
294 PseudoIdempotentInstructions, MBB, in rescheduleCanonically()
295 [&]() -> MachineBasicBlock::iterator { return MBB->begin(); }); in rescheduleCanonically()
300 static bool propagateLocalCopies(MachineBasicBlock *MBB) { in propagateLocalCopies() argument
302 MachineRegisterInfo &MRI = MBB->getParent()->getRegInfo(); in propagateLocalCopies()
305 for (MachineInstr &MI : MBB->instrs()) { in propagateLocalCopies()
347 static bool doDefKillClear(MachineBasicBlock *MBB) { in doDefKillClear() argument
350 for (auto &MI : *MBB) { in doDefKillClear()
369 static bool runOnBasicBlock(MachineBasicBlock *MBB, in runOnBasicBlock() argument
372 dbgs() << "\n\n NEW BASIC BLOCK: " << MBB->getName() << " \n\n"; in runOnBasicBlock()
378 LLVM_DEBUG(dbgs() << "\n\n NEW BASIC BLOCK: " << MBB->getName() << "\n\n";); in runOnBasicBlock()
381 MBB->dump();); in runOnBasicBlock()
382 Changed |= propagateLocalCopies(MBB); in runOnBasicBlock()
383 LLVM_DEBUG(dbgs() << "MBB After Canonical Copy Propagation:\n"; MBB->dump();); in runOnBasicBlock()
385 LLVM_DEBUG(dbgs() << "MBB Before Scheduling:\n"; MBB->dump();); in runOnBasicBlock()
387 Changed |= rescheduleCanonically(IdempotentInstCount, MBB); in runOnBasicBlock()
388 LLVM_DEBUG(dbgs() << "MBB After Scheduling:\n"; MBB->dump();); in runOnBasicBlock()
390 Changed |= Renamer.renameVRegs(MBB, BasicBlockNum); in runOnBasicBlock()
394 Changed |= doDefKillClear(MBB); in runOnBasicBlock()
396 LLVM_DEBUG(dbgs() << "Updated MachineBasicBlock:\n"; MBB->dump(); in runOnBasicBlock()
421 for (auto MBB in runOnMachineFunction()
422 : RPOList) { dbgs() << MBB->getName() << "\n"; } dbgs() in runOnMachineFunction()
429 for (auto MBB : RPOList) in runOnMachineFunction() local
430 Changed |= runOnBasicBlock(MBB, BBNum++, Renamer); in runOnMachineFunction()