Lines Matching defs:BPI

298   BPI = BPI_;
1048 if (auto *BPI = getBPI())
1049 BPI->eraseBlock(BB);
1200 if (auto *BPI = getBPI())
1201 BPI->eraseBlock(BB);
1651 if (auto *BPI = getBPI())
1652 BPI->eraseBlock(BB);
2267 // Build BPI/BFI before any changes are made to IR.
2270 auto *BPI = getOrCreateBPI(BFI != nullptr);
2282 assert(BPI && "It's expected BPI to exist along with BFI");
2284 BPI->getEdgeProbability(PredPredBB, PredBB);
2296 if (BPI)
2297 BPI->copyEdgeProbabilities(PredBB, NewBB);
2380 // Build BPI/BFI before any changes are made to IR.
2383 auto *BPI = getOrCreateBPI(BFI != nullptr);
2409 assert(BPI && "It's expected BPI to exist along with BFI");
2411 BFI->getBlockFreq(PredBB) * BPI->getEdgeProbability(PredBB, BB);
2452 updateBlockFreqAndEdgeWeight(PredBB, BB, NewBB, SuccBB, BFI, BPI, HasProfile);
2471 auto *BPI = getOrCreateBPI(true);
2474 Pred, BFI->getBlockFreq(Pred) * BPI->getEdgeProbability(Pred, BB)));
2521 BranchProbabilityInfo *BPI,
2523 assert(((BFI && BPI) || (!BFI && !BFI)) &&
2524 "Both BFI & BPI should either be set or unset");
2528 "It's expected to have BFI/BPI when profile info exists");
2536 auto BB2SuccBBFreq = BBOrigFreq * BPI->getEdgeProbability(BB, SuccBB);
2546 : BBOrigFreq * BPI->getEdgeProbability(BB, Succ);
2565 // Update edge probabilities in BPI.
2566 BPI->setEdgeProbability(BB, BBSuccProbs);
2599 // FIXME this locally as well so that BPI and BFI are consistent as well. We
2740 if (auto *BPI = getBPI())
2741 BPI->copyEdgeProbabilities(BB, PredBB);
2788 // Update BPI if exists.
2789 if (auto *BPI = getBPI())
2790 BPI->setEdgeProbability(Pred, BP);
3130 // TODO: We would like to preserve BPI/BFI. Enable once all paths update them.
3131 // TODO: Would be nice to verify BPI/BFI consistency as well.
3151 // TODO: This shouldn't be needed once 'getPreservedAnalysis' reports BPI/BFI
3175 if (!BPI) {
3176 assert(FAM && "Can't create BPI without FunctionAnalysisManager");
3177 BPI = FAM->getCachedResult<BranchProbabilityAnalysis>(*F);
3179 return *BPI;
3190 // Important note on validity of BPI/BFI. JumpThreading tries to preserve
3191 // BPI/BFI as it goes. Thus if cached instance exists it will be updated.
3192 // Otherwise, new instance of BPI/BFI is created (up to date by definition).
3199 BPI = runExternalAnalysis<BranchProbabilityAnalysis>();
3201 return *BPI;