reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
1146 assert(FC0.isValid() && FC1.isValid() && 1149 LLVM_DEBUG(dbgs() << "Fusion Candidate 0: \n"; FC0.dump(); 1155 if (FC0.GuardBranch) 1156 return fuseGuardedLoops(FC0, FC1); 1158 assert(FC1.Preheader == FC0.ExitBlock); 1172 if (FC0.ExitingBlock != FC0.Latch) 1172 if (FC0.ExitingBlock != FC0.Latch) 1173 for (PHINode &PHI : FC0.Header->phis()) 1177 FC1.Preheader->replaceSuccessorsPhiUsesWith(FC0.Preheader); 1178 FC0.Latch->replaceSuccessorsPhiUsesWith(FC1.Latch); 1200 FC0.ExitingBlock->getTerminator()->replaceUsesOfWith(FC1.Preheader, 1203 DominatorTree::Delete, FC0.ExitingBlock, FC1.Preheader)); 1205 DominatorTree::Insert, FC0.ExitingBlock, FC1.Header)); 1219 PHI->moveBefore(&*FC0.Header->getFirstInsertionPt()); 1238 L1HeaderPHI->addIncoming(LCV, FC0.Latch); 1240 FC0.ExitingBlock); 1246 FC0.Latch->getTerminator()->replaceUsesOfWith(FC0.Header, FC1.Header); 1246 FC0.Latch->getTerminator()->replaceUsesOfWith(FC0.Header, FC1.Header); 1247 FC1.Latch->getTerminator()->replaceUsesOfWith(FC1.Header, FC0.Header); 1251 if (FC0.Latch != FC0.ExitingBlock) 1251 if (FC0.Latch != FC0.ExitingBlock) 1253 DominatorTree::Insert, FC0.Latch, FC1.Header)); 1256 FC0.Latch, FC0.Header)); 1256 FC0.Latch, FC0.Header)); 1258 FC1.Latch, FC0.Header)); 1272 SE.forgetLoop(FC0.L); 1278 FC0.L->addBlockEntry(BB); 1282 LI.changeLoopFor(BB, FC0.L); 1288 FC0.L->addChildLoop(ChildLoop); 1295 assert(!verifyFunction(*FC0.Header->getParent(), &errs())); 1304 return FC0.L;