| /llvm-project-15.0.7/llvm/lib/Analysis/ |
| H A D | CFGPrinter.cpp | 72 DOTFuncInfo CFGInfo(&F, BFI, BPI, MaxFreq); in writeCFGToDotFile() 87 DOTFuncInfo CFGInfo(&F, BFI, BPI, MaxFreq); in viewCFG() 107 viewCFG(F, BFI, BPI, getMaxFreq(F, BFI)); in runOnFunction() 130 auto *BPI = &AM.getResult<BranchProbabilityAnalysis>(F); in run() local 131 viewCFG(F, BFI, BPI, getMaxFreq(F, BFI)); in run() 171 auto *BPI = &AM.getResult<BranchProbabilityAnalysis>(F); in run() local 188 writeCFGToDotFile(F, BFI, BPI, getMaxFreq(F, BFI)); in runOnFunction() 212 auto *BPI = &AM.getResult<BranchProbabilityAnalysis>(F); in run() local 213 writeCFGToDotFile(F, BFI, BPI, getMaxFreq(F, BFI)); in run() 253 auto *BPI = &AM.getResult<BranchProbabilityAnalysis>(F); in run() local [all …]
|
| H A D | BlockFrequencyInfo.cpp | 156 const BranchProbabilityInfo &BPI, in BlockFrequencyInfo() argument 158 calculate(F, BPI, LI); in BlockFrequencyInfo() 186 const BranchProbabilityInfo &BPI, in calculate() argument 190 BFI->calculate(F, BPI, LI); in calculate() 326 BranchProbabilityInfo &BPI = in runOnFunction() local 329 BFI.calculate(F, BPI, LI); in runOnFunction()
|
| H A D | OptimizationRemarkEmitter.cpp | 40 BranchProbabilityInfo BPI(*F, LI, nullptr, &DT, nullptr); in OptimizationRemarkEmitter() local 43 OwnedBFI = std::make_unique<BlockFrequencyInfo>(*F, BPI, LI); in OptimizationRemarkEmitter()
|
| /llvm-project-15.0.7/llvm/unittests/Analysis/ |
| H A D | BranchProbabilityInfoTest.cpp | 28 std::unique_ptr<BranchProbabilityInfo> BPI; member 36 BPI.reset(new BranchProbabilityInfo(F, *LI)); in buildBPI() 37 return *BPI; in buildBPI() 77 BranchProbabilityInfo &BPI = buildBPI(*F); in TEST_F() local 82 EXPECT_FALSE(BPI.isEdgeHot(EntryBB, PreExitBB)); in TEST_F() 83 EXPECT_TRUE(BPI.isEdgeHot(EntryBB, ExitBB)); in TEST_F()
|
| H A D | BlockFrequencyInfoTest.cpp | 29 std::unique_ptr<BranchProbabilityInfo> BPI; member in llvm::__anon557384980111::BlockFrequencyInfoTest 37 BPI.reset(new BranchProbabilityInfo(F, *LI)); in buildBFI() 38 return BlockFrequencyInfo(F, *BPI, *LI); in buildBFI()
|
| /llvm-project-15.0.7/llvm/unittests/Transforms/Utils/ |
| H A D | BasicBlockUtilsTest.cpp | 463 BranchProbabilityInfo BPI(*F, LI); in TEST() local 464 BlockFrequencyInfo BFI(*F, BPI, LI); in TEST() 467 &BPI, &BFI)); in TEST() 473 EXPECT_EQ(BranchProbability(1, 2), BPI.getEdgeProbability(SplitBB, 0u)); in TEST() 474 EXPECT_EQ(BranchProbability(1, 2), BPI.getEdgeProbability(SplitBB, 1u)); in TEST() 505 BranchProbabilityInfo BPI(*F, LI); in TEST() local 506 BlockFrequencyInfo BFI(*F, BPI, LI); in TEST() 509 &BPI, &BFI)); in TEST() 515 EXPECT_EQ(BranchProbability(1, 2), BPI.getEdgeProbability(SplitBB, 0u)); in TEST() 607 BranchProbabilityInfo BPI(*F, LI); in TEST() local [all …]
|
| H A D | SizeOptsTest.cpp | 36 std::unique_ptr<BranchProbabilityInfo> BPI; member 41 BPI.reset(new BranchProbabilityInfo(F, *LI)); in BFIData() 42 BFI.reset(new BlockFrequencyInfo(F, *BPI, *LI)); in BFIData()
|
| /llvm-project-15.0.7/llvm/lib/ExecutionEngine/Orc/ |
| H A D | SpeculateAnalyses.cpp | 151 const BranchProbabilityInfo *BPI, in traverseToEntryBlock() argument 186 if (BPI->isEdgeHot(*PIt, AtBB) && !PredSkipNodes.count(*PIt)) in traverseToEntryBlock() 187 traverseToEntryBlock(*PIt, CallerBlocks, BackEdgesInfo, BPI, in traverseToEntryBlock() 194 const BranchProbabilityInfo *BPI, in traverseToExitBlock() argument 225 if (BPI->isEdgeHot(AtBB, *PIt) && !SuccSkipNodes.count(*PIt)) in traverseToExitBlock() 226 traverseToExitBlock(*PIt, CallerBlocks, BackEdgesInfo, BPI, in traverseToExitBlock() 260 BranchProbabilityInfo *BPI = in queryCFG() local 268 traverseToEntryBlock(I.first, CallerBlocks, BackEdgesInfo, BPI, in queryCFG() 270 traverseToExitBlock(I.first, CallerBlocks, BackEdgesInfo, BPI, in queryCFG()
|
| /llvm-project-15.0.7/llvm/include/llvm/Analysis/ |
| H A D | BranchProbabilityInfo.h | 271 BranchProbabilityInfo *BPI; variable 274 assert(BPI != nullptr); in deleted() 275 BPI->eraseBlock(cast<BasicBlock>(getValPtr())); in deleted() 279 BasicBlockCallbackVH(const Value *V, BranchProbabilityInfo *BPI = nullptr) 280 : CallbackVH(const_cast<Value *>(V)), BPI(BPI) {} in CallbackVH() 439 BranchProbabilityInfo BPI; variable 446 BranchProbabilityInfo &getBPI() { return BPI; } in getBPI() 447 const BranchProbabilityInfo &getBPI() const { return BPI; } in getBPI()
|
| H A D | LazyBranchProbabilityInfo.h | 66 BPI.calculate(*F, *LI, TLI, nullptr, nullptr); in getCalculated() 69 return BPI; in getCalculated() 77 BranchProbabilityInfo BPI;
|
| H A D | CFGPrinter.h | 58 const BranchProbabilityInfo *BPI; variable 68 const BranchProbabilityInfo *BPI, uint64_t MaxFreq) in DOTFuncInfo() argument 69 : F(F), BFI(BFI), BPI(BPI), MaxFreq(MaxFreq) { in DOTFuncInfo() 71 EdgeWeights = !!BPI; // Print EdgeWeights when BPI is available. in DOTFuncInfo() 77 const BranchProbabilityInfo *getBPI() const { return BPI; } in getBPI()
|
| H A D | BlockFrequencyInfo.h | 44 BlockFrequencyInfo(const Function &F, const BranchProbabilityInfo &BPI, 92 void calculate(const Function &F, const BranchProbabilityInfo &BPI,
|
| H A D | BlockFrequencyInfoImpl.h | 864 const BranchProbabilityInfoT *BPI = nullptr; 1014 void calculate(const FunctionT &F, const BranchProbabilityInfoT &BPI, 1054 const BranchProbabilityInfoT &getBPI() const { return *BPI; } 1114 this->BPI = &BPI; 1526 auto EP = BPI->getEdgeProbability(SrcBB, DstBB); 1550 auto EP = BPI->getEdgeProbability(DstBB, SrcBB); 1588 auto EP = BPI->getEdgeProbability(BB, SI); 1712 getWeightFromBranchProb(BPI->getEdgeProbability(BB, SI)))) 1886 const BranchProbabilityInfoT *BPI, 1889 if (!BPI) [all …]
|
| /llvm-project-15.0.7/llvm/tools/llvm-mca/Views/ |
| H A D | BottleneckAnalysis.cpp | 298 if (!SeenStallCycles || !BPI.PressureIncreaseCycles) in printCriticalSequence() 450 SeenStallCycles(false), BPI() {} in BottleneckAnalysis() 572 ++BPI.PressureIncreaseCycles; in onCycleEnd() 574 ++BPI.RegisterDependencyCycles; in onCycleEnd() 576 ++BPI.MemoryDependencyCycles; in onCycleEnd() 578 ++BPI.DataDependencyCycles; in onCycleEnd() 580 ++BPI.ResourcePressureCycles; in onCycleEnd() 587 if (!SeenStallCycles || !BPI.PressureIncreaseCycles) { in printBottleneckHints() 593 (double)BPI.PressureIncreaseCycles * 100 / TotalCycles; in printBottleneckHints() 595 (double)BPI.ResourcePressureCycles * 100 / TotalCycles; in printBottleneckHints() [all …]
|
| /llvm-project-15.0.7/llvm/include/llvm/Transforms/Utils/ |
| H A D | CodeExtractor.h | 92 BranchProbabilityInfo *BPI; variable 133 BranchProbabilityInfo *BPI = nullptr, 145 BranchProbabilityInfo *BPI = nullptr, 259 BranchProbabilityInfo *BPI);
|
| /llvm-project-15.0.7/llvm/lib/Transforms/Utils/ |
| H A D | BreakCriticalEdges.cpp | 340 BranchProbabilityInfo *BPI, in SplitIndirectBrCriticalEdges() argument 358 bool ShouldUpdateAnalysis = BPI && BFI; in SplitIndirectBrCriticalEdges() 382 EdgeProbabilities.emplace_back(BPI->getEdgeProbability(Target, I)); in SplitIndirectBrCriticalEdges() 383 BPI->eraseBlock(Target); in SplitIndirectBrCriticalEdges() 389 BPI->setEdgeProbability(BodyBlock, EdgeProbabilities); in SplitIndirectBrCriticalEdges() 411 BPI->getEdgeProbability(Src, DirectSucc); in SplitIndirectBrCriticalEdges()
|
| H A D | CodeExtractor.cpp | 247 BranchProbabilityInfo *BPI, AssumptionCache *AC, in CodeExtractor() argument 251 BPI(BPI), AC(AC), AllocationBlock(AllocationBlock), in CodeExtractor() 258 BranchProbabilityInfo *BPI, AssumptionCache *AC, in CodeExtractor() argument 261 BPI(BPI), AC(AC), AllocationBlock(nullptr), AllowVarArgs(false), in CodeExtractor() 1459 BranchProbabilityInfo *BPI) { in calculateNewCallTerminatorWeights() argument 1485 BPI->setEdgeProbability(CodeReplacer, EdgeProbabilities); in calculateNewCallTerminatorWeights() 1501 BPI->setEdgeProbability(CodeReplacer, EdgeProbabilities); in calculateNewCallTerminatorWeights() 1647 assert(BPI && "Both BPI and BFI are required to preserve profile info"); in extractCodeRegion() 1652 BFI->getBlockFreq(Pred) * BPI->getEdgeProbability(Pred, header); in extractCodeRegion() 1682 BF += BFI->getBlockFreq(Block) * BPI->getEdgeProbability(Block, Succ); in extractCodeRegion() [all …]
|
| /llvm-project-15.0.7/llvm/test/Analysis/BranchProbabilityInfo/ |
| H A D | pointer_heuristics.ll | 4 ; CHECK: Printing analysis results of BPI for function 'cmp1': 26 ; CHECK: Printing analysis results of BPI for function 'cmp2': 47 ; CHECK: Printing analysis results of BPI for function 'cmp3':
|
| /llvm-project-15.0.7/llvm/lib/Transforms/Instrumentation/ |
| H A D | CFGMST.h | 141 if (BPI != nullptr) in buildEdges() 142 Weight = BPI->getEdgeProbability(&BB, TargetBB).scale(scaleFactor); in buildEdges() 278 BranchProbabilityInfo *BPI; variable 288 : F(Func), BPI(BPI_), BFI(BFI_), in F()
|
| /llvm-project-15.0.7/llvm/include/llvm/Transforms/Scalar/ |
| H A D | JumpThreading.h | 84 std::unique_ptr<BranchProbabilityInfo> BPI; variable 103 std::unique_ptr<BranchProbabilityInfo> BPI); 109 BPI.reset(); in releaseMemory()
|
| /llvm-project-15.0.7/llvm/lib/Transforms/Scalar/ |
| H A D | JumpThreading.cpp | 318 std::unique_ptr<BranchProbabilityInfo> BPI; in runOnFunction() local 322 BFI.reset(new BlockFrequencyInfo(F, *BPI, LI)); in runOnFunction() 347 std::unique_ptr<BranchProbabilityInfo> BPI; in run() local 383 BPI.reset(); in runImpl() 391 BPI = std::move(BPI_); in runImpl() 1122 BPI->eraseBlock(BB); in processBlock() 1277 BPI->eraseBlock(BB); in processImpliedCondition() 1721 BPI->eraseBlock(BB); in processThreadableEdges() 2274 BPI->copyEdgeProbabilities(PredBB, NewBB); in threadThroughTwoBasicBlocks() 2536 BPI->setEdgeProbability(BB, BBSuccProbs); in updateBlockFreqAndEdgeWeight() [all …]
|
| H A D | InductiveRangeCheckElimination.cpp | 225 BranchProbabilityInfo *BPI, 233 BranchProbabilityInfo *BPI; member in __anonfaeb45920111::InductiveRangeCheckElimination 249 : SE(SE), BPI(BPI), DT(DT), LI(LI), GetBFI(GetBFI) {} in InductiveRangeCheckElimination() 415 if (!SkipProfitabilityChecks && BPI && in extractRangeChecksFromBranch() 416 BPI->getEdgeProbability(BI->getParent(), (unsigned)0) < LikelyTaken) in extractRangeChecksFromBranch() 1771 auto &BPI = AM.getResult<BranchProbabilityAnalysis>(F); in run() local 1778 InductiveRangeCheckElimination IRCE(SE, &BPI, DT, LI, { getBFI }); in run() 1826 BranchProbabilityInfo &BPI = in runOnFunction() local 1830 InductiveRangeCheckElimination IRCE(SE, &BPI, DT, LI); in runOnFunction() 1872 if (!BPI) in isProfitableToTransform() [all …]
|
| /llvm-project-15.0.7/llvm/lib/Transforms/IPO/ |
| H A D | PartialInlining.cpp | 400 BranchProbabilityInfo BPI(F, LI); in computeOutliningColdRegionsInfo() local 404 ScopedBFI.reset(new BlockFrequencyInfo(F, BPI, LI)); in computeOutliningColdRegionsInfo() 488 BranchProbability SuccProb = BPI.getEdgeProbability(ThisBB, *SI); in computeOutliningColdRegionsInfo() 961 BranchProbabilityInfo BPI(*Caller, LI); in computeCallsiteToProfCountMap() local 962 TempBFI.reset(new BlockFrequencyInfo(*Caller, BPI, LI)); in computeCallsiteToProfCountMap() 1150 BranchProbabilityInfo BPI(*ClonedFunc, LI); in doMultiRegionFunctionOutlining() local 1151 ClonedFuncBFI.reset(new BlockFrequencyInfo(*ClonedFunc, BPI, LI)); in doMultiRegionFunctionOutlining() 1163 ClonedFuncBFI.get(), &BPI, in doMultiRegionFunctionOutlining() 1222 BranchProbabilityInfo BPI(*ClonedFunc, LI); in doSingleRegionFunctionOutlining() local 1223 ClonedFuncBFI.reset(new BlockFrequencyInfo(*ClonedFunc, BPI, LI)); in doSingleRegionFunctionOutlining() [all …]
|
| /llvm-project-15.0.7/llvm/test/Transforms/LoopPredication/ |
| H A D | preserve-bpi.ll | 5 ; This test is to solely check that we do not run BPI every single time loop 6 ; predication is invoked (since BPI is preserved as part of
|
| /llvm-project-15.0.7/clang/lib/Basic/Targets/ |
| H A D | AArch64.cpp | 142 BranchProtectionInfo &BPI, in validateBranchProtection() argument 148 BPI.SignReturnAddr = in validateBranchProtection() 155 BPI.SignKey = LangOptions::SignReturnAddressKeyKind::AKey; in validateBranchProtection() 157 BPI.SignKey = LangOptions::SignReturnAddressKeyKind::BKey; in validateBranchProtection() 159 BPI.BranchTargetEnforcement = PBP.BranchTargetEnforcement; in validateBranchProtection()
|