Lines Matching refs:KernelBB
110 MachineBasicBlock *KernelBB = MF.CreateMachineBasicBlock(BB->getBasicBlock()); in generatePipelinedLoop() local
124 generateProlog(MaxStageCount, KernelBB, VRMap, PrologBBs); in generatePipelinedLoop()
125 MF.insert(BB->getIterator(), KernelBB); in generatePipelinedLoop()
135 KernelBB->push_back(NewMI); in generatePipelinedLoop()
144 KernelBB->push_back(NewMI); in generatePipelinedLoop()
148 NewKernel = KernelBB; in generatePipelinedLoop()
149 KernelBB->transferSuccessors(BB); in generatePipelinedLoop()
150 KernelBB->replaceSuccessor(BB, KernelBB); in generatePipelinedLoop()
152 generateExistingPhis(KernelBB, PrologBBs.back(), KernelBB, KernelBB, VRMap, in generatePipelinedLoop()
154 generatePhis(KernelBB, PrologBBs.back(), KernelBB, KernelBB, VRMap, InstrMap, in generatePipelinedLoop()
157 LLVM_DEBUG(dbgs() << "New block\n"; KernelBB->dump();); in generatePipelinedLoop()
161 generateEpilog(MaxStageCount, KernelBB, BB, VRMap, EpilogBBs, PrologBBs); in generatePipelinedLoop()
165 splitLifetimes(KernelBB, EpilogBBs); in generatePipelinedLoop()
168 removeDeadInstructions(KernelBB, EpilogBBs); in generatePipelinedLoop()
171 addBranches(*Preheader, PrologBBs, KernelBB, EpilogBBs, VRMap); in generatePipelinedLoop()
186 MachineBasicBlock *KernelBB, in generateProlog() argument
229 PredBB->replaceSuccessor(BB, KernelBB); in generateProlog()
244 unsigned LastStage, MachineBasicBlock *KernelBB, MachineBasicBlock *OrigBB, in generateEpilog() argument
250 bool checkBranch = TII->analyzeBranch(*KernelBB, TBB, FBB, Cond); in generateEpilog()
255 MachineBasicBlock::succ_iterator LoopExitI = KernelBB->succ_begin(); in generateEpilog()
256 if (*LoopExitI == KernelBB) in generateEpilog()
258 assert(LoopExitI != KernelBB->succ_end() && "Expecting a successor"); in generateEpilog()
261 MachineBasicBlock *PredBB = KernelBB; in generateEpilog()
297 generateExistingPhis(NewBB, PrologBBs[i - 1], PredBB, KernelBB, VRMap, in generateEpilog()
299 generatePhis(NewBB, PrologBBs[i - 1], PredBB, KernelBB, VRMap, InstrMap, in generateEpilog()
314 TII->removeBranch(*KernelBB); in generateEpilog()
318 TII->insertBranch(*KernelBB, EpilogStart, KernelBB, Cond, DebugLoc()); in generateEpilog()
320 TII->insertBranch(*KernelBB, KernelBB, EpilogStart, Cond, DebugLoc()); in generateEpilog()
358 MachineBasicBlock *KernelBB, ValueMapTy *VRMap, InstrMapTy &InstrMap, in generateExistingPhis() argument
465 if (InstOp1->isPHI() && InstOp1->getParent() == KernelBB) in generateExistingPhis()
466 PhiOp1 = getInitPhiReg(*InstOp1, KernelBB); in generateExistingPhis()
596 MachineBasicBlock *KernelBB, ValueMapTy *VRMap, InstrMapTy &InstrMap, in generatePhis() argument
647 if (InstOp1->isPHI() && InstOp1->getParent() == KernelBB) in generatePhis()
648 PhiOp1 = getInitPhiReg(*InstOp1, KernelBB); in generatePhis()
693 void ModuloScheduleExpander::removeDeadInstructions(MachineBasicBlock *KernelBB, in removeDeadInstructions() argument
748 for (MachineInstr &MI : llvm::make_early_inc_range(KernelBB->phis())) { in removeDeadInstructions()
767 void ModuloScheduleExpander::splitLifetimes(MachineBasicBlock *KernelBB, in splitLifetimes() argument
770 for (auto &PHI : KernelBB->phis()) { in splitLifetimes()
777 if (I->isPHI() && I->getParent() == KernelBB) { in splitLifetimes()
779 unsigned LCDef = getLoopPhiReg(PHI, KernelBB); in splitLifetimes()
783 if (!MI || MI->getParent() != KernelBB || MI->isPHI()) in splitLifetimes()
789 KernelBB->instr_end())) in splitLifetimes()
794 BuildMI(*KernelBB, MI, MI->getDebugLoc(), in splitLifetimes()
832 MachineBasicBlock *KernelBB, in addBranches() argument
836 MachineBasicBlock *LastPro = KernelBB; in addBranches()
837 MachineBasicBlock *LastEpi = KernelBB; in addBranches()
867 if (LastPro == KernelBB) { in addBranches()