Home
last modified time | relevance | path

Searched refs:BPI (Results 1 – 25 of 55) sorted by relevance

123

/llvm-project-15.0.7/llvm/lib/Analysis/
H A DCFGPrinter.cpp72 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 DBlockFrequencyInfo.cpp156 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 DOptimizationRemarkEmitter.cpp40 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 DBranchProbabilityInfoTest.cpp28 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 DBlockFrequencyInfoTest.cpp29 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 DBasicBlockUtilsTest.cpp463 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 DSizeOptsTest.cpp36 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 DSpeculateAnalyses.cpp151 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 DBranchProbabilityInfo.h271 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 DLazyBranchProbabilityInfo.h66 BPI.calculate(*F, *LI, TLI, nullptr, nullptr); in getCalculated()
69 return BPI; in getCalculated()
77 BranchProbabilityInfo BPI;
H A DCFGPrinter.h58 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 DBlockFrequencyInfo.h44 BlockFrequencyInfo(const Function &F, const BranchProbabilityInfo &BPI,
92 void calculate(const Function &F, const BranchProbabilityInfo &BPI,
H A DBlockFrequencyInfoImpl.h864 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 DBottleneckAnalysis.cpp298 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 DCodeExtractor.h92 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 DBreakCriticalEdges.cpp340 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 DCodeExtractor.cpp247 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 Dpointer_heuristics.ll4 ; 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 DCFGMST.h141 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 DJumpThreading.h84 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 DJumpThreading.cpp318 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 DInductiveRangeCheckElimination.cpp225 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 DPartialInlining.cpp400 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 Dpreserve-bpi.ll5 ; 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 DAArch64.cpp142 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()

123