Home
last modified time | relevance | path

Searched refs:BFI (Results 1 – 25 of 107) sorted by relevance

12345

/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DBlockFrequencyInfo.cpp144 const BlockFrequencyInfo *BFI) { in getEdgeAttributes()
145 return BFIDOTGTraitsBase::getEdgeAttributes(Node, EI, BFI, BFI->getBPI(), in getEdgeAttributes()
161 : BFI(std::move(Arg.BFI)) {} in BlockFrequencyInfo()
165 BFI = std::move(RHS.BFI); in operator =()
187 if (!BFI) in calculate()
188 BFI.reset(new ImplType); in calculate()
189 BFI->calculate(F, BPI, LI); in calculate()
201 return BFI ? BFI->getBlockFreq(BB) : BlockFrequency(0); in getBlockFreq()
207 if (!BFI) in getBlockProfileCount()
210 return BFI->getBlockProfileCount(*getFunction(), BB, AllowSynthetic); in getBlockProfileCount()
[all …]
H A DCFGPrinter.cpp61 static void writeCFGToDotFile(Function &F, BlockFrequencyInfo *BFI, in writeCFGToDotFile() argument
71 DOTFuncInfo CFGInfo(&F, BFI, BPI, MaxFreq); in writeCFGToDotFile()
83 static void viewCFG(Function &F, const BlockFrequencyInfo *BFI, in viewCFG() argument
86 DOTFuncInfo CFGInfo(&F, BFI, BPI, MaxFreq); in viewCFG()
94 DOTFuncInfo::DOTFuncInfo(const Function *F, const BlockFrequencyInfo *BFI, in DOTFuncInfo() argument
96 : F(F), BFI(BFI), BPI(BPI), MaxFreq(MaxFreq) { in DOTFuncInfo()
99 RawWeights = !!BFI; // Print RawWeights when BFI is available. in DOTFuncInfo()
113 auto *BFI = &AM.getResult<BlockFrequencyAnalysis>(F); in run() local
115 viewCFG(F, BFI, BPI, getMaxFreq(F, BFI)); in run()
123 auto *BFI = &AM.getResult<BlockFrequencyAnalysis>(F); in run() local
[all …]
H A DOptimizationRemarkEmitter.cpp28 : F(F), BFI(nullptr) { in OptimizationRemarkEmitter()
45 BFI = OwnedBFI.get(); in OptimizationRemarkEmitter()
53 BFI = nullptr; in invalidate()
57 if (BFI && Inv.invalidate<BlockFrequencyAnalysis>(F, PA)) in invalidate()
66 if (!BFI) in computeHotness()
69 return BFI->getBlockProfileCount(cast<BasicBlock>(V)); in computeHotness()
97 BlockFrequencyInfo *BFI; in runOnFunction() local
101 BFI = &getAnalysis<LazyBlockFrequencyInfoPass>().getBFI(); in runOnFunction()
110 BFI = nullptr; in runOnFunction()
112 ORE = std::make_unique<OptimizationRemarkEmitter>(&Fn, BFI); in runOnFunction()
[all …]
H A DBlockFrequencyInfoImpl.cpp304 static void cleanup(BlockFrequencyInfoImplBase &BFI) { in cleanup() argument
305 std::vector<FrequencyData> SavedFreqs(std::move(BFI.Freqs)); in cleanup()
306 SparseBitVector<> SavedIsIrrLoopHeader(std::move(BFI.IsIrrLoopHeader)); in cleanup()
307 BFI.clear(); in cleanup()
308 BFI.Freqs = std::move(SavedFreqs); in cleanup()
309 BFI.IsIrrLoopHeader = std::move(SavedIsIrrLoopHeader); in cleanup()
435 static void debugAssign(const BlockFrequencyInfoImplBase &BFI, in debugAssign() argument
442 dbgs() << " to " << BFI.getBlockName(T); in debugAssign()
482 static void convertFloatingToInteger(BlockFrequencyInfoImplBase &BFI, in convertFloatingToInteger() argument
502 for (size_t Index = 0; Index < BFI.Freqs.size(); ++Index) { in convertFloatingToInteger()
[all …]
H A DProfileSummaryInfo.cpp75 const CallBase &Call, BlockFrequencyInfo *BFI, bool AllowSynthetic) const { in getProfileCount() argument
88 if (BFI) in getProfileCount()
89 return BFI->getBlockProfileCount(Call.getParent(), AllowSynthetic); in getProfileCount()
205 BlockFrequencyInfo *BFI) const { in isHotCallSite()
206 auto C = getProfileCount(CB, BFI); in isHotCallSite()
211 BlockFrequencyInfo *BFI) const { in isColdCallSite()
212 auto C = getProfileCount(CB, BFI); in isColdCallSite()
H A DHeatUtils.cpp53 uint64_t getMaxFreq(const Function &F, const BlockFrequencyInfo *BFI) { in getMaxFreq() argument
56 uint64_t freqVal = BFI->getBlockFreq(&BB).getFrequency(); in getMaxFreq()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DSizeOpts.cpp65 BlockFrequencyInfo &BFI) { in isFunctionColdInCallGraph()
66 return PSI->isFunctionColdInCallGraph(F, BFI); in isFunctionColdInCallGraph()
71 BlockFrequencyInfo &BFI) { in isFunctionHotInCallGraphNthPercentile()
72 return PSI->isFunctionHotInCallGraphNthPercentile(CutOff, F, BFI); in isFunctionHotInCallGraphNthPercentile()
77 BlockFrequencyInfo &BFI) { in isFunctionColdInCallGraphNthPercentile()
78 return PSI->isFunctionColdInCallGraphNthPercentile(CutOff, F, BFI); in isFunctionColdInCallGraphNthPercentile()
82 BlockFrequencyInfo *BFI) { in isColdBlock()
83 return PSI->isColdBlock(BB, BFI); in isColdBlock()
88 BlockFrequencyInfo *BFI) { in isHotBlockNthPercentile()
89 return PSI->isHotBlockNthPercentile(CutOff, BB, BFI); in isHotBlockNthPercentile()
[all …]
H A DBreakCriticalEdges.cpp351 BlockFrequencyInfo *BFI) { in SplitIndirectBrCriticalEdges() argument
364 bool ShouldUpdateAnalysis = BPI && BFI; in SplitIndirectBrCriticalEdges()
396 BFI->setBlockFreq(BodyBlock, BFI->getBlockFreq(Target)); in SplitIndirectBrCriticalEdges()
419 BlockFreqForDirectSucc += BFI->getBlockFreq(Src) * in SplitIndirectBrCriticalEdges()
423 BFI->setBlockFreq(DirectSucc, BlockFreqForDirectSucc); in SplitIndirectBrCriticalEdges()
425 BFI->getBlockFreq(Target) - BlockFreqForDirectSucc; in SplitIndirectBrCriticalEdges()
426 BFI->setBlockFreq(Target, NewBlockFreqForTarget); in SplitIndirectBrCriticalEdges()
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DProfileSummaryInfo.h105 getProfileCount(const CallBase &CallInst, BlockFrequencyInfo *BFI,
128 bool isFunctionHotInCallGraph(const FuncT *F, BFIT &BFI) const { in isFunctionHotInCallGraph() argument
140 if (isHotBlock(&BB, &BFI)) in isFunctionHotInCallGraph()
148 bool isFunctionColdInCallGraph(const FuncT *F, BFIT &BFI) const { in isFunctionColdInCallGraph() argument
160 if (!isColdBlock(&BB, &BFI)) in isFunctionColdInCallGraph()
170 const FuncT *F, BFIT &BFI) const { in isFunctionHotInCallGraphNthPercentile() argument
172 PercentileCutoff, F, BFI); in isFunctionHotInCallGraphNthPercentile()
178 const FuncT *F, BFIT &BFI) const { in isFunctionColdInCallGraphNthPercentile() argument
180 PercentileCutoff, F, BFI); in isFunctionColdInCallGraphNthPercentile()
200 bool isHotBlock(const BBType *BB, BFIT *BFI) const { in isHotBlock() argument
[all …]
H A DOptimizationRemarkEmitter.h35 OptimizationRemarkEmitter(const Function *F, BlockFrequencyInfo *BFI) in OptimizationRemarkEmitter() argument
36 : F(F), BFI(BFI) {} in OptimizationRemarkEmitter()
52 : F(Arg.F), BFI(Arg.BFI) {} in OptimizationRemarkEmitter()
56 BFI = RHS.BFI;
115 BlockFrequencyInfo *BFI; variable
129 bool shouldEmitVerbose() { return BFI != nullptr; } in shouldEmitVerbose()
H A DBlockFrequencyInfo.h41 std::unique_ptr<ImplType> BFI; variable
110 LLVM_ABI Printable printBlockFreq(const BlockFrequencyInfo &BFI,
115 LLVM_ABI Printable printBlockFreq(const BlockFrequencyInfo &BFI,
148 BlockFrequencyInfo BFI; variable
156 BlockFrequencyInfo &getBFI() { return BFI; } in getBFI()
157 const BlockFrequencyInfo &getBFI() const { return BFI; } in getBFI()
H A DLazyBlockFrequencyInfo.h49 BFI.calculate( in getCalculated()
53 return BFI; in getCalculated()
61 BFI.releaseMemory(); in releaseMemory()
67 BlockFrequencyInfoT BFI;
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/
H A DSizeOpts.h53 BFIT *BFI, PGSOQueryType QueryType) { in shouldFuncOptimizeForSizeImpl() argument
55 if (!PSI || !BFI || !PSI->hasProfileSummary()) in shouldFuncOptimizeForSizeImpl()
62 return PSI->isFunctionColdInCallGraph(F, *BFI); in shouldFuncOptimizeForSizeImpl()
67 *BFI); in shouldFuncOptimizeForSizeImpl()
69 *BFI); in shouldFuncOptimizeForSizeImpl()
74 ProfileSummaryInfo *PSI, BFIT *BFI, in shouldOptimizeForSizeImpl() argument
76 if (!PSI || !BFI || !PSI->hasProfileSummary()) in shouldOptimizeForSizeImpl()
83 return PSI->isColdBlock(BBOrBlockFreq, BFI); in shouldOptimizeForSizeImpl()
88 BFI); in shouldOptimizeForSizeImpl()
89 return !PSI->isHotBlockNthPercentile(PgsoCutoffInstrProf, BBOrBlockFreq, BFI); in shouldOptimizeForSizeImpl()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DLoopSink.cpp79 BlockFrequencyInfo &BFI) { in adjustedSumFreq() argument
82 T += BFI.getBlockFreq(B); in adjustedSumFreq()
118 DominatorTree &DT, BlockFrequencyInfo &BFI) { in findBBsToSinkInto() argument
141 if (adjustedSumFreq(BBsDominatedByColdestBB, BFI) > in findBBsToSinkInto()
142 BFI.getBlockFreq(ColdestBB)) { in findBBsToSinkInto()
162 if (adjustedSumFreq(BBsToSinkInto, BFI) <= BFI.getBlockFreq(ColdestBB)) in findBBsToSinkInto()
176 if (adjustedSumFreq(BBsToSinkInto, BFI) > in findBBsToSinkInto()
177 BFI.getBlockFreq(L.getLoopPreheader())) in findBBsToSinkInto()
189 DominatorTree &DT, BlockFrequencyInfo &BFI, MemorySSAUpdater *MSSAU) { in sinkInstruction() argument
225 findBBsToSinkInto(L, BBs, ColdLoopBBs, DT, BFI); in sinkInstruction()
[all …]
H A DConstantHoisting.cpp213 static void findBestInsertionSet(DominatorTree &DT, BlockFrequencyInfo &BFI, in findBestInsertionSet() argument
281 if (InsertPtsFreq > BFI.getBlockFreq(Node) || in findBestInsertionSet()
282 (InsertPtsFreq == BFI.getBlockFreq(Node) && InsertPts.size() > 1)) in findBestInsertionSet()
301 (InsertPtsFreq > BFI.getBlockFreq(Node) || in findBestInsertionSet()
302 (InsertPtsFreq == BFI.getBlockFreq(Node) && InsertPts.size() > 1)))) { in findBestInsertionSet()
304 ParentPtsFreq += BFI.getBlockFreq(Node); in findBestInsertionSet()
330 if (BFI) { in findConstantInsertionPoint()
331 findBestInsertionSet(*DT, *BFI, Entry, BBs); in findConstantInsertionPoint()
920 DominatorTree &DT, BlockFrequencyInfo *BFI, in runImpl() argument
924 this->BFI = BFI; in runImpl()
[all …]
H A DTailRecursionElimination.cpp410 BlockFrequencyInfo *const BFI; member in __anone41365f00511::TailRecursionEliminator
442 DomTreeUpdater &DTU, BlockFrequencyInfo *BFI) in TailRecursionEliminator() argument
443 : F(F), TTI(TTI), AA(AA), ORE(ORE), DTU(DTU), BFI(BFI), in TailRecursionEliminator()
445 BFI ? BFI->getBlockFreq(&F.getEntryBlock()).getFrequency() : 0U), in TailRecursionEliminator()
447 if (BFI) { in TailRecursionEliminator()
475 DomTreeUpdater &DTU, BlockFrequencyInfo *BFI);
767 static_cast<double>(BFI->getBlockFreq(BB).getFrequency()) / in eliminateCall()
909 BlockFrequencyInfo *BFI) { in eliminate() argument
925 TailRecursionEliminator TRE(F, TTI, AA, ORE, DTU, BFI); in eliminate()
994 auto *BFI = (!ForceDisableBFI && UpdateFunctionEntryCount && in run() local
[all …]
H A DLoopLoadElimination.cpp171 DominatorTree *DT, BlockFrequencyInfo *BFI, in LoadEliminationForLoop() argument
173 : L(L), LI(LI), LAI(LAI), DT(DT), BFI(BFI), PSI(PSI), PSE(LAI.getPSE()) {} in LoadEliminationForLoop()
588 if (llvm::shouldOptimizeForSize(HeaderBB, PSI, BFI, in processLoop()
636 BlockFrequencyInfo *BFI; member in __anon087f49260311::LoadEliminationForLoop
645 BlockFrequencyInfo *BFI, in eliminateLoadsAcrossLoops() argument
672 LoadEliminationForLoop LEL(L, &LI, LAIs.getInfo(*L), &DT, BFI, PSI); in eliminateLoadsAcrossLoops()
692 auto *BFI = (PSI && PSI->hasProfileSummary()) ? in run() local
696 bool Changed = eliminateLoadsAcrossLoops(F, LI, DT, BFI, PSI, &SE, &AC, LAIs); in run()
H A DJumpThreading.cpp296 BFI = BFI_; in runImpl()
2294 auto *BFI = getOrCreateBFI(HasProfile); in threadThroughTwoBasicBlocks() local
2295 auto *BPI = getOrCreateBPI(BFI != nullptr); in threadThroughTwoBasicBlocks()
2306 if (BFI) { in threadThroughTwoBasicBlocks()
2308 auto NewBBFreq = BFI->getBlockFreq(PredPredBB) * in threadThroughTwoBasicBlocks()
2310 BFI->setBlockFreq(NewBB, NewBBFreq); in threadThroughTwoBasicBlocks()
2410 auto *BFI = getOrCreateBFI(HasProfile); in threadEdge() local
2411 auto *BPI = getOrCreateBPI(BFI != nullptr); in threadEdge()
2436 if (BFI) { in threadEdge()
2439 BFI->getBlockFreq(PredBB) * BPI->getEdgeProbability(PredBB, BB); in threadEdge()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/
H A DPGOMemOPSizeOpt.cpp177 MemOPSizeOpt(Function &Func, BlockFrequencyInfo &BFI, in MemOPSizeOpt() argument
180 : Func(Func), BFI(BFI), ORE(ORE), DT(DT), TLI(TLI), Changed(false) {} in MemOPSizeOpt()
216 BlockFrequencyInfo &BFI; member in __anona03ef4830111::MemOPSizeOpt
260 auto BBEdgeCount = BFI.getBlockProfileCount(MO.I->getParent()); in perform()
368 auto OrigBBFreq = BFI.getBlockFreq(BB); in perform()
376 BFI.setBlockFreq(MergeBB, OrigBBFreq); in perform()
453 static bool PGOMemOPSizeOptImpl(Function &F, BlockFrequencyInfo &BFI, in PGOMemOPSizeOptImpl() argument
461 MemOPSizeOpt MemOPSizeOpt(F, BFI, ORE, DT, TLI); in PGOMemOPSizeOptImpl()
468 auto &BFI = FAM.getResult<BlockFrequencyAnalysis>(F); in run() local
472 bool Changed = PGOMemOPSizeOptImpl(F, BFI, ORE, DT, TLI); in run()
H A DLowerAllowCheckPass.cpp74 static bool removeUbsanTraps(Function &F, const BlockFrequencyInfo &BFI, in removeUbsanTraps() argument
104 cutoff, BFI.getBlockProfileCount(&BB).value_or(0))); in removeUbsanTraps()
158 BlockFrequencyInfo &BFI = AM.getResult<BlockFrequencyAnalysis>(F); in run() local
162 return removeUbsanTraps(F, BFI, PSI, ORE, Opts) in run()
H A DCGProfile.cpp69 auto &BFI = FAM.getResult<BlockFrequencyAnalysis>(F); in runCGProfilePass() local
70 if (BFI.getEntryFreq() == BlockFrequency(0)) in runCGProfilePass()
74 std::optional<uint64_t> BBCount = BFI.getBlockProfileCount(&BB); in runCGProfilePass()
H A DPGOForceFunctionAttrs.cpp29 BlockFrequencyInfo &BFI = FAM.getResult<BlockFrequencyAnalysis>(F); in shouldRunOnFunction() local
30 return PSI.isFunctionColdInCallGraph(&F, BFI); in shouldRunOnFunction()
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Instrumentation/
H A DCFGMST.h55 BlockFrequencyInfo *const BFI; variable
123 (BFI != nullptr ? BFI->getEntryFreq().getFrequency() : 2); in buildEdges()
147 (BFI != nullptr ? BFI->getBlockFreq(&BB).getFrequency() : 2); in buildEdges()
324 BlockFrequencyInfo *BFI = nullptr, LoopInfo *LI = nullptr)
325 : F(Func), BPI(BPI), BFI(BFI), LI(LI), in F()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/IPO/
H A DHotColdSplitting.cpp235 BlockFrequencyInfo *BFI) const { in isBasicBlockCold()
236 if (BFI) { in isBasicBlockCold()
237 if (PSI->isColdBlock(BB, BFI)) in isBasicBlockCold()
414 const CodeExtractorAnalysisCache &CEAC, BlockFrequencyInfo *BFI, in extractColdRegion() argument
434 markFunctionCold(*OutF, BFI != nullptr); in extractColdRegion()
665 BlockFrequencyInfo *BFI = nullptr; in outlineColdRegions() local
667 BFI = GetBFI(F); in outlineColdRegions()
688 if (!isBasicBlockCold(BB, ColdProbThresh, AnnotatedColdBlocks, BFI)) in outlineColdRegions()
768 extractColdRegion(*BCE.first, BCE.second, CEAC, BFI, TTI, ORE); in outlineColdRegions()
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DExpandMemCmp.cpp832 ProfileSummaryInfo *PSI, BlockFrequencyInfo *BFI, in expandMemCmp() argument
855 bool OptForSize = llvm::shouldOptimizeForSize(CI->getParent(), PSI, BFI); in expandMemCmp()
893 BlockFrequencyInfo *BFI, DomTreeUpdater *DTU);
899 BlockFrequencyInfo *BFI, DominatorTree *DT);
924 auto *BFI = (PSI && PSI->hasProfileSummary()) ? in runOnFunction() local
930 auto PA = runImpl(F, TLI, TTI, TL, PSI, BFI, DT); in runOnFunction()
948 BlockFrequencyInfo *BFI, DomTreeUpdater *DTU) { in runOnBlock() argument
957 expandMemCmp(CI, TTI, TL, &DL, PSI, BFI, DTU, Func == LibFunc_bcmp)) { in runOnBlock()
967 BlockFrequencyInfo *BFI, DominatorTree *DT) { in runImpl() argument
975 if (runOnBlock(*BBIt, TLI, TTI, TL, DL, PSI, BFI, DTU ? &*DTU : nullptr)) { in runImpl()
[all …]

12345