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

Lines Matching defs:ToBBI

281     void CopyAndPredicateBlock(BBInfo &ToBBI, BBInfo &FromBBI,
284 void MergeBlocks(BBInfo &ToBBI, BBInfo &FromBBI, bool AddEdges = true);
2178 void IfConverter::CopyAndPredicateBlock(BBInfo &ToBBI, BBInfo &FromBBI,
2181 MachineFunction &MF = *ToBBI.BB->getParent();
2194 ToBBI.BB->insert(ToBBI.BB->end(), MI);
2195 ToBBI.NonPredSize++;
2199 ToBBI.ExtraCost += NumCycles-1;
2200 ToBBI.ExtraCost2 += ExtraPredCost;
2226 ToBBI.BB->addSuccessor(Succ);
2230 ToBBI.Predicate.append(FromBBI.Predicate.begin(), FromBBI.Predicate.end());
2231 ToBBI.Predicate.append(Cond.begin(), Cond.end());
2233 ToBBI.ClobbersPred |= FromBBI.ClobbersPred;
2234 ToBBI.IsAnalyzed = false;
2242 /// branch is being moved, add those successor edges to ToBBI and remove the old
2243 /// edge from ToBBI to FromBBI.
2244 void IfConverter::MergeBlocks(BBInfo &ToBBI, BBInfo &FromBBI, bool AddEdges) {
2252 MachineBasicBlock::iterator ToTI = ToBBI.BB->getFirstTerminator();
2253 ToBBI.BB->splice(ToTI, &FromMBB, FromMBB.begin(), FromTI);
2257 ToTI = ToBBI.BB->end();
2258 ToBBI.BB->splice(ToTI, &FromMBB, FromTI, FromMBB.end());
2260 // Force normalizing the successors' probabilities of ToBBI.BB to convert all
2264 if (ToBBI.IsBrAnalyzable)
2265 ToBBI.BB->normalizeSuccProbs();
2271 // The edge probability from ToBBI.BB to FromMBB, which is only needed when
2272 // AddEdges is true and FromMBB is a successor of ToBBI.BB.
2274 if (AddEdges && ToBBI.BB->isSuccessor(&FromMBB)) {
2277 To2FromProb = MBPI->getEdgeProbability(ToBBI.BB, &FromMBB);
2278 ToBBI.BB->removeSuccessor(&FromMBB);
2290 // Calculate the edge probability for the edge from ToBBI.BB to Succ,
2292 // portion ratio is the edge probability from ToBBI.BB to FromMBB (if
2293 // FromBBI is a successor of ToBBI.BB. See comment below for exception).
2296 // To2FromProb is 0 when FromMBB is not a successor of ToBBI.BB. This
2298 // tail BB. In this case FromMBB post-dominates ToBBI.BB and hence we
2308 // If the edge from ToBBI.BB to Succ already exists, update the
2310 // below, in which A is ToBBI.BB and B is FromMBB. In this case we
2330 if (ToBBI.BB->isSuccessor(Succ))
2331 ToBBI.BB->setSuccProbability(
2332 find(ToBBI.BB->successors(), Succ),
2333 MBPI->getEdgeProbability(ToBBI.BB, Succ) + NewProb);
2335 ToBBI.BB->addSuccessor(Succ, NewProb);
2345 // Normalize the probabilities of ToBBI.BB's successors with all adjustment
2347 if (ToBBI.IsBrAnalyzable && FromBBI.IsBrAnalyzable)
2348 ToBBI.BB->normalizeSuccProbs();
2350 ToBBI.Predicate.append(FromBBI.Predicate.begin(), FromBBI.Predicate.end());
2353 ToBBI.NonPredSize += FromBBI.NonPredSize;
2354 ToBBI.ExtraCost += FromBBI.ExtraCost;
2355 ToBBI.ExtraCost2 += FromBBI.ExtraCost2;
2360 ToBBI.ClobbersPred |= FromBBI.ClobbersPred;
2361 ToBBI.HasFallThrough = FromBBI.HasFallThrough;
2362 ToBBI.IsAnalyzed = false;