Lines Matching refs:KernelBB
107 MachineBasicBlock *KernelBB = MF.CreateMachineBasicBlock(BB->getBasicBlock()); in generatePipelinedLoop() local
127 generateProlog(MaxStageCount, KernelBB, VRMap, PrologBBs); in generatePipelinedLoop()
128 MF.insert(BB->getIterator(), KernelBB); in generatePipelinedLoop()
138 KernelBB->push_back(NewMI); in generatePipelinedLoop()
147 KernelBB->push_back(NewMI); in generatePipelinedLoop()
151 NewKernel = KernelBB; in generatePipelinedLoop()
152 KernelBB->transferSuccessors(BB); in generatePipelinedLoop()
153 KernelBB->replaceSuccessor(BB, KernelBB); in generatePipelinedLoop()
155 generateExistingPhis(KernelBB, PrologBBs.back(), KernelBB, KernelBB, VRMap, in generatePipelinedLoop()
157 generatePhis(KernelBB, PrologBBs.back(), KernelBB, KernelBB, VRMap, VRMapPhi, in generatePipelinedLoop()
160 LLVM_DEBUG(dbgs() << "New block\n"; KernelBB->dump();); in generatePipelinedLoop()
164 generateEpilog(MaxStageCount, KernelBB, BB, VRMap, VRMapPhi, EpilogBBs, in generatePipelinedLoop()
169 splitLifetimes(KernelBB, EpilogBBs); in generatePipelinedLoop()
172 removeDeadInstructions(KernelBB, EpilogBBs); in generatePipelinedLoop()
175 addBranches(*Preheader, PrologBBs, KernelBB, EpilogBBs, VRMap); in generatePipelinedLoop()
191 MachineBasicBlock *KernelBB, in generateProlog() argument
234 PredBB->replaceSuccessor(BB, KernelBB); in generateProlog()
249 unsigned LastStage, MachineBasicBlock *KernelBB, MachineBasicBlock *OrigBB, in generateEpilog() argument
256 bool checkBranch = TII->analyzeBranch(*KernelBB, TBB, FBB, Cond); in generateEpilog()
261 MachineBasicBlock::succ_iterator LoopExitI = KernelBB->succ_begin(); in generateEpilog()
262 if (*LoopExitI == KernelBB) in generateEpilog()
264 assert(LoopExitI != KernelBB->succ_end() && "Expecting a successor"); in generateEpilog()
267 MachineBasicBlock *PredBB = KernelBB; in generateEpilog()
303 generateExistingPhis(NewBB, PrologBBs[i - 1], PredBB, KernelBB, VRMap, in generateEpilog()
305 generatePhis(NewBB, PrologBBs[i - 1], PredBB, KernelBB, VRMap, VRMapPhi, in generateEpilog()
320 TII->removeBranch(*KernelBB); in generateEpilog()
324 TII->insertBranch(*KernelBB, EpilogStart, KernelBB, Cond, DebugLoc()); in generateEpilog()
326 TII->insertBranch(*KernelBB, KernelBB, EpilogStart, Cond, DebugLoc()); in generateEpilog()
364 MachineBasicBlock *KernelBB, ValueMapTy *VRMap, InstrMapTy &InstrMap, in generateExistingPhis() argument
471 if (InstOp1->isPHI() && InstOp1->getParent() == KernelBB) in generateExistingPhis()
472 PhiOp1 = getInitPhiReg(*InstOp1, KernelBB); in generateExistingPhis()
602 MachineBasicBlock *KernelBB, ValueMapTy *VRMap, ValueMapTy *VRMapPhi, in generatePhis() argument
722 void ModuloScheduleExpander::removeDeadInstructions(MachineBasicBlock *KernelBB, in removeDeadInstructions() argument
775 for (MachineInstr &MI : llvm::make_early_inc_range(KernelBB->phis())) { in removeDeadInstructions()
794 void ModuloScheduleExpander::splitLifetimes(MachineBasicBlock *KernelBB, in splitLifetimes() argument
797 for (auto &PHI : KernelBB->phis()) { in splitLifetimes()
804 if (I->isPHI() && I->getParent() == KernelBB) { in splitLifetimes()
806 unsigned LCDef = getLoopPhiReg(PHI, KernelBB); in splitLifetimes()
810 if (!MI || MI->getParent() != KernelBB || MI->isPHI()) in splitLifetimes()
816 KernelBB->instr_end())) in splitLifetimes()
821 BuildMI(*KernelBB, MI, MI->getDebugLoc(), in splitLifetimes()
859 MachineBasicBlock *KernelBB, in addBranches() argument
863 MachineBasicBlock *LastPro = KernelBB; in addBranches()
864 MachineBasicBlock *LastEpi = KernelBB; in addBranches()
894 if (LastPro == KernelBB) { in addBranches()