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

Lines Matching refs:SuccBB

233     auto *SuccBB = PhiBB;
238 return {PredBB, SuccBB};
249 SuccBB = PredBB;
1495 for (auto *SuccBB : successors(BB))
1496 DestPopularity[SuccBB] = 0;
1649 for (BasicBlock *SuccBB : successors(BB)) {
1650 if (SuccBB == OnlyDest && !SeenFirstBranchToOnlyDest) {
1653 SuccBB->removePredecessor(BB, true); // This is unreachable successor.
1654 Updates.push_back({DominatorTree::Delete, BB, SuccBB});
2076 // PredPredBB through PredBB and BB to SuccBB with PredBB containing a
2081 // and BB to SuccBB. This jump threading would repeatedly occur. That is, we
2124 BasicBlock *SuccBB = CondBr->getSuccessor(PredPredBB == ZeroPred);
2127 if (SuccBB == BB) {
2135 if (LoopHeaders.count(BB) || LoopHeaders.count(SuccBB)) {
2138 bool SuccIsHeader = LoopHeaders.count(SuccBB);
2143 << SuccBB->getName()
2167 ThreadThroughTwoBasicBlocks(PredPredBB, PredBB, BB, SuccBB);
2174 BasicBlock *SuccBB) {
2229 ThreadEdge(BB, PredsToFactor, SuccBB);
2235 BasicBlock *SuccBB) {
2237 if (SuccBB == BB) {
2245 if (LoopHeaders.count(BB) || LoopHeaders.count(SuccBB)) {
2248 bool SuccIsHeader = LoopHeaders.count(SuccBB);
2252 << SuccBB->getName() << "' - it might create an irreducible loop!\n";
2265 ThreadEdge(BB, PredBBs, SuccBB);
2270 /// blocks in PredBBs to one predecessor, then thread an edge from it to SuccBB
2274 BasicBlock *SuccBB) {
2275 assert(SuccBB != BB && "Don't create an infinite loop");
2277 assert(!LoopHeaders.count(BB) && !LoopHeaders.count(SuccBB) &&
2292 << "' to '" << SuccBB->getName()
2295 LVI->threadEdge(PredBB, BB, SuccBB);
2314 // an unconditional jump to SuccBB. Insert the unconditional jump.
2315 BranchInst *NewBI = BranchInst::Create(SuccBB, NewBB);
2318 // Check to see if SuccBB has PHI nodes. If so, we need to add entries to the
2320 AddPHINodeEntriesForMappedBlock(SuccBB, BB, NewBB, ValueMapping);
2333 DTU->applyUpdatesPermissive({{DominatorTree::Insert, NewBB, SuccBB},
2344 // Update the edge weight from BB to SuccBB, which should be less than before.
2345 UpdateBlockFreqAndEdgeWeight(PredBB, BB, NewBB, SuccBB);
2413 /// edge BB->SuccBB. This is done by scaling the weight of BB->SuccBB by 1 -
2414 /// Freq(PredBB->BB) / Freq(BB->SuccBB).
2418 BasicBlock *SuccBB) {
2428 auto BB2SuccBBFreq = BBOrigFreq * BPI->getEdgeProbability(BB, SuccBB);
2436 auto SuccFreq = (Succ == SuccBB)
2606 if (BasicBlock *SuccBB = dyn_cast<BasicBlock>(New->getOperand(i)))
2607 Updates.push_back({DominatorTree::Insert, PredBB, SuccBB});