Lines Matching defs:KernelBB
111 MachineBasicBlock *KernelBB = MF.CreateMachineBasicBlock(BB->getBasicBlock());
131 generateProlog(MaxStageCount, KernelBB, VRMap, PrologBBs);
132 MF.insert(BB->getIterator(), KernelBB);
133 LIS.insertMBBInMaps(KernelBB);
143 KernelBB->push_back(NewMI);
152 KernelBB->push_back(NewMI);
156 NewKernel = KernelBB;
157 KernelBB->transferSuccessors(BB);
158 KernelBB->replaceSuccessor(BB, KernelBB);
160 generateExistingPhis(KernelBB, PrologBBs.back(), KernelBB, KernelBB, VRMap,
162 generatePhis(KernelBB, PrologBBs.back(), KernelBB, KernelBB, VRMap, VRMapPhi,
165 LLVM_DEBUG(dbgs() << "New block\n"; KernelBB->dump(););
169 generateEpilog(MaxStageCount, KernelBB, BB, VRMap, VRMapPhi, EpilogBBs,
174 splitLifetimes(KernelBB, EpilogBBs);
177 removeDeadInstructions(KernelBB, EpilogBBs);
180 addBranches(*Preheader, PrologBBs, KernelBB, EpilogBBs, VRMap);
196 MachineBasicBlock *KernelBB,
240 PredBB->replaceSuccessor(BB, KernelBB);
255 unsigned LastStage, MachineBasicBlock *KernelBB, MachineBasicBlock *OrigBB,
262 bool checkBranch = TII->analyzeBranch(*KernelBB, TBB, FBB, Cond);
267 MachineBasicBlock::succ_iterator LoopExitI = KernelBB->succ_begin();
268 if (*LoopExitI == KernelBB)
270 assert(LoopExitI != KernelBB->succ_end() && "Expecting a successor");
273 MachineBasicBlock *PredBB = KernelBB;
310 generateExistingPhis(NewBB, PrologBBs[i - 1], PredBB, KernelBB, VRMap,
312 generatePhis(NewBB, PrologBBs[i - 1], PredBB, KernelBB, VRMap, VRMapPhi,
327 TII->removeBranch(*KernelBB);
331 TII->insertBranch(*KernelBB, EpilogStart, KernelBB, Cond, DebugLoc());
333 TII->insertBranch(*KernelBB, KernelBB, EpilogStart, Cond, DebugLoc());
371 MachineBasicBlock *KernelBB, ValueMapTy *VRMap, InstrMapTy &InstrMap,
479 if (InstOp1->isPHI() && InstOp1->getParent() == KernelBB)
480 PhiOp1 = getInitPhiReg(*InstOp1, KernelBB);
610 MachineBasicBlock *KernelBB, ValueMapTy *VRMap, ValueMapTy *VRMapPhi,
730 void ModuloScheduleExpander::removeDeadInstructions(MachineBasicBlock *KernelBB,
783 for (MachineInstr &MI : llvm::make_early_inc_range(KernelBB->phis())) {
802 void ModuloScheduleExpander::splitLifetimes(MachineBasicBlock *KernelBB,
805 for (auto &PHI : KernelBB->phis()) {
812 if (I->isPHI() && I->getParent() == KernelBB) {
814 unsigned LCDef = getLoopPhiReg(PHI, KernelBB);
818 if (!MI || MI->getParent() != KernelBB || MI->isPHI())
824 KernelBB->instr_end()))
829 BuildMI(*KernelBB, MI, MI->getDebugLoc(),
867 MachineBasicBlock *KernelBB,
871 MachineBasicBlock *LastPro = KernelBB;
872 MachineBasicBlock *LastEpi = KernelBB;
902 if (LastPro == KernelBB) {