• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-12-stable/contrib/llvm-project/llvm/lib/Transforms/Scalar/

Lines Matching defs:Latch

144   /// Latch of the loop
145 BasicBlock *Latch;
170 Latch(L->getLoopLatch()), L(L), Valid(true),
214 return Preheader && Header && ExitingBlock && ExitBlock && Latch && L &&
227 assert(Latch == L->getLoopLatch() && "Latch is out of sync");
274 << "\tLatch: " << (Latch ? Latch->getName() : "nullptr") << "\n"
295 if (!Latch)
1113 BranchInst *FCLatchBranch = dyn_cast<BranchInst>(FC.Latch->getTerminator());
1123 /// Move instructions from FC0.Latch to FC1.Latch. If FC0.Latch has an unique
1124 /// successor, then merge FC0.Latch with its unique successor.
1126 moveInstsBottomUp(*FC0.Latch, *FC1.Latch, DT, PDT, DI);
1127 if (BasicBlock *Succ = FC0.Latch->getUniqueSuccessor()) {
1189 if (FC0.ExitingBlock != FC0.Latch)
1195 FC0.Latch->replaceSuccessorsPhiUsesWith(FC1.Latch);
1247 int L1LatchBBIdx = LCPHI->getBasicBlockIndex(FC1.Latch);
1255 L1HeaderPHI->addIncoming(LCV, FC0.Latch);
1263 FC0.Latch->getTerminator()->replaceUsesOfWith(FC0.Header, FC1.Header);
1264 FC1.Latch->getTerminator()->replaceUsesOfWith(FC1.Header, FC0.Header);
1270 // If FC0.Latch and FC0.ExitingBlock are the same then we have already
1272 if (FC0.Latch != FC0.ExitingBlock)
1274 DominatorTree::Insert, FC0.Latch, FC1.Header));
1277 FC0.Latch, FC0.Header));
1279 FC1.Latch, FC0.Header));
1281 FC1.Latch, FC1.Header));
1297 // Move instructions from FC0.Latch to FC1.Latch.
1428 // KB: This is no longer necessary because FC0.ExitingBlock == FC0.Latch
1432 if (FC0.ExitingBlock != FC0.Latch)
1440 FC0.Latch->replaceSuccessorsPhiUsesWith(FC1.Latch);
1499 int L1LatchBBIdx = LCPHI->getBasicBlockIndex(FC1.Latch);
1507 L1HeaderPHI->addIncoming(LCV, FC0.Latch);
1517 FC0.Latch->getTerminator()->replaceUsesOfWith(FC0.Header, FC1.Header);
1518 FC1.Latch->getTerminator()->replaceUsesOfWith(FC1.Header, FC0.Header);
1524 // If FC0.Latch and FC0.ExitingBlock are the same then we have already
1526 if (FC0.Latch != FC0.ExitingBlock)
1528 DominatorTree::Insert, FC0.Latch, FC1.Header));
1531 FC0.Latch, FC0.Header));
1533 FC1.Latch, FC0.Header));
1535 FC1.Latch, FC1.Header));
1560 // Move instructions from FC0.Latch to FC1.Latch.