Home
last modified time | relevance | path

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

12345

/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DBlockFrequencyInfo.cpp161 : BFI(std::move(Arg.BFI)) {} in BlockFrequencyInfo()
165 BFI = std::move(RHS.BFI); in operator =()
187 if (!BFI) in calculate()
208 if (!BFI) in getBlockProfileCount()
216 if (!BFI) in getProfileCountFromFreq()
261 return BFI ? BFI->getFunction() : nullptr; in getFunction()
265 return BFI ? &BFI->getBPI() : nullptr; in getBPI()
275 if (BFI) in print()
280 if (BFI) in verifyMatch()
281 BFI->verifyMatch(*Other.BFI); in verifyMatch()
[all …]
H A DCFGPrinter.cpp70 DOTFuncInfo CFGInfo(&F, BFI, BPI, MaxFreq); in writeCFGToDotFile()
85 DOTFuncInfo CFGInfo(&F, BFI, BPI, MaxFreq); in viewCFG()
96 auto *BFI = &AM.getResult<BlockFrequencyAnalysis>(F); in run() local
98 viewCFG(F, BFI, BPI, getMaxFreq(F, BFI)); in run()
108 viewCFG(F, BFI, BPI, getMaxFreq(F, BFI), /*CFGOnly=*/true); in run()
118 writeCFGToDotFile(F, BFI, BPI, getMaxFreq(F, BFI)); in run()
128 writeCFGToDotFile(F, BFI, BPI, getMaxFreq(F, BFI), /*CFGOnly=*/true); in run()
143 DOTFuncInfo CFGInfo(this, BFI, BPI, BFI ? getMaxFreq(*this, BFI) : 0); in viewCFG()
156 viewCFG(true, BFI, BPI); in viewCFGOnly()
186 if (auto *BFI = CFGInfo->getBFI()) { in isNodeHidden() local
[all …]
H A DOptimizationRemarkEmitter.cpp28 : F(F), BFI(nullptr) { in OptimizationRemarkEmitter()
45 BFI = OwnedBFI.get(); in OptimizationRemarkEmitter()
53 BFI = nullptr; in invalidate()
66 if (!BFI) in computeHotness()
69 return BFI->getBlockProfileCount(cast<BasicBlock>(V)); in computeHotness()
100 BlockFrequencyInfo *BFI; in runOnFunction() local
113 BFI = nullptr; in runOnFunction()
131 BlockFrequencyInfo *BFI; in run() local
135 BFI = &AM.getResult<BlockFrequencyAnalysis>(F); in run()
145 BFI = nullptr; in run()
[all …]
H A DBlockFrequencyInfoImpl.cpp304 static void cleanup(BlockFrequencyInfoImplBase &BFI) { in cleanup() argument
307 BFI.clear(); in cleanup()
308 BFI.Freqs = std::move(SavedFreqs); in cleanup()
309 BFI.IsIrrLoopHeader = std::move(SavedIsIrrLoopHeader); in cleanup()
442 dbgs() << " to " << BFI.getBlockName(T); in debugAssign()
527 const auto &Working = BFI.Working[N.Index]; in unwrapLoop()
663 if (!BFI.Working[Index].isPackaged()) in addNodesInFunction()
705 const BlockFrequencyInfoImplBase &BFI, in findIrreducibleHeaders() argument
789 if (BFI.Working[N.Index].isLoopHeader()) in createIrreducibleLoop()
790 BFI.Working[N.Index].Loop->Parent = &*Loop; in createIrreducibleLoop()
[all …]
H A DProfileSummaryInfo.cpp70 const CallBase &Call, BlockFrequencyInfo *BFI, bool AllowSynthetic) const { in getProfileCount() argument
83 if (BFI) in getProfileCount()
84 return BFI->getBlockProfileCount(Call.getParent(), AllowSynthetic); in getProfileCount()
201 BlockFrequencyInfo *BFI) const { in isHotCallSite()
202 auto C = getProfileCount(CB, BFI); in isHotCallSite()
207 BlockFrequencyInfo *BFI) const { in isColdCallSite()
208 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.cpp64 BlockFrequencyInfo &BFI) { in isFunctionColdInCallGraph()
65 return PSI->isFunctionColdInCallGraph(F, BFI); in isFunctionColdInCallGraph()
81 BlockFrequencyInfo *BFI) { in isColdBlock()
82 return PSI->isColdBlock(BB, BFI); in isColdBlock()
87 BlockFrequencyInfo *BFI) { in isHotBlockNthPercentile()
88 return PSI->isHotBlockNthPercentile(CutOff, BB, BFI); in isHotBlockNthPercentile()
93 return PSI->isColdBlockNthPercentile(CutOff, BB, BFI); in isColdBlockNthPercentile()
99 BlockFrequencyInfo *BFI, in shouldOptimizeForSize() argument
101 return shouldFuncOptimizeForSizeImpl(F, PSI, BFI, QueryType); in shouldOptimizeForSize()
105 BlockFrequencyInfo *BFI, in shouldOptimizeForSize() argument
[all …]
H A DBreakCriticalEdges.cpp341 BlockFrequencyInfo *BFI) { in SplitIndirectBrCriticalEdges() argument
358 bool ShouldUpdateAnalysis = BPI && BFI; in SplitIndirectBrCriticalEdges()
390 BFI->setBlockFreq(BodyBlock, BFI->getBlockFreq(Target)); in SplitIndirectBrCriticalEdges()
410 BlockFreqForDirectSucc += BFI->getBlockFreq(Src) * in SplitIndirectBrCriticalEdges()
414 BFI->setBlockFreq(DirectSucc, BlockFreqForDirectSucc); in SplitIndirectBrCriticalEdges()
416 BFI->getBlockFreq(Target) - BlockFreqForDirectSucc; in SplitIndirectBrCriticalEdges()
417 BFI->setBlockFreq(Target, NewBlockFreqForTarget); in SplitIndirectBrCriticalEdges()
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DProfileSummaryInfo.h139 if (isHotBlock(&BB, &BFI)) in isFunctionHotInCallGraph()
159 if (!isColdBlock(&BB, &BFI)) in isFunctionColdInCallGraph()
171 PercentileCutoff, F, BFI); in isFunctionHotInCallGraphNthPercentile()
179 PercentileCutoff, F, BFI); in isFunctionColdInCallGraphNthPercentile()
199 auto Count = BFI->getBlockProfileCount(BB); in isHotBlock()
206 auto Count = BFI->getBlockProfileCount(BB); in isColdBlock()
218 BFIT *BFI) const { in isHotBlockNthPercentile() argument
225 BFIT *BFI) const { in isHotBlockNthPercentile() argument
236 BFIT *BFI) const { in isColdBlockNthPercentile() argument
242 BFIT *BFI) const { in isColdBlockNthPercentile() 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;
112 BlockFrequencyInfo *BFI; variable
126 bool shouldEmitVerbose() { return BFI != nullptr; } in shouldEmitVerbose()
H A DBlockFrequencyInfo.h41 std::unique_ptr<ImplType> BFI; variable
107 Printable printBlockFreq(const BlockFrequencyInfo &BFI, BlockFrequency Freq);
111 Printable printBlockFreq(const BlockFrequencyInfo &BFI, const BasicBlock &BB);
143 BlockFrequencyInfo BFI; variable
151 BlockFrequencyInfo &getBFI() { return BFI; } in getBFI()
152 const BlockFrequencyInfo &getBFI() const { return BFI; } in getBFI()
H A DLazyBlockFrequencyInfo.h50 BFI.calculate( in getCalculated()
54 return BFI; in getCalculated()
62 BFI.releaseMemory(); in releaseMemory()
68 BlockFrequencyInfoT BFI;
H A DCFGPrinter.h62 const BlockFrequencyInfo *BFI; variable
72 DOTFuncInfo(const Function *F, const BlockFrequencyInfo *BFI, in DOTFuncInfo() argument
74 : F(F), BFI(BFI), BPI(BPI), MaxFreq(MaxFreq) { in DOTFuncInfo()
77 RawWeights = !!BFI; // Print RawWeights when BFI is available. in DOTFuncInfo()
80 const BlockFrequencyInfo *getBFI() const { return BFI; } in getBFI()
89 return BFI->getBlockFreq(BB).getFrequency(); in getFreq()
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/
H A DSizeOpts.h52 BFIT *BFI, PGSOQueryType QueryType) { in shouldFuncOptimizeForSizeImpl() argument
54 if (!PSI || !BFI || !PSI->hasProfileSummary()) in shouldFuncOptimizeForSizeImpl()
61 return PSI->isFunctionColdInCallGraph(F, *BFI); in shouldFuncOptimizeForSizeImpl()
66 *BFI); in shouldFuncOptimizeForSizeImpl()
68 *BFI); in shouldFuncOptimizeForSizeImpl()
73 ProfileSummaryInfo *PSI, BFIT *BFI, in shouldOptimizeForSizeImpl() argument
75 if (!PSI || !BFI || !PSI->hasProfileSummary()) in shouldOptimizeForSizeImpl()
82 return PSI->isColdBlock(BBOrBlockFreq, BFI); in shouldOptimizeForSizeImpl()
87 BFI); in shouldOptimizeForSizeImpl()
94 BlockFrequencyInfo *BFI,
[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()
160 if (adjustedSumFreq(BBsToSinkInto, BFI) > in findBBsToSinkInto()
161 BFI.getBlockFreq(L.getLoopPreheader())) in findBBsToSinkInto()
209 findBBsToSinkInto(L, BBs, ColdLoopBBs, DT, BFI); in sinkInstruction()
297 return BFI.getBlockFreq(BB) > PreheaderFreq; in sinkLoopInvariantInstructions()
311 if (BFI.getBlockFreq(B) < BFI.getBlockFreq(L.getLoopPreheader())) { in sinkLoopInvariantInstructions()
[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()
575 llvm::shouldOptimizeForSize(HeaderBB, PSI, BFI, in processLoop()
624 BlockFrequencyInfo *BFI; member in __anon6c59daee0311::LoadEliminationForLoop
633 BlockFrequencyInfo *BFI, in eliminateLoadsAcrossLoops() argument
660 LoadEliminationForLoop LEL(L, &LI, LAIs.getInfo(*L), &DT, BFI, PSI); in eliminateLoadsAcrossLoops()
680 auto *BFI = (PSI && PSI->hasProfileSummary()) ? in run() local
684 bool Changed = eliminateLoadsAcrossLoops(F, LI, DT, BFI, PSI, &SE, &AC, LAIs); in run()
H A DConstantHoisting.cpp215 static void findBestInsertionSet(DominatorTree &DT, BlockFrequencyInfo &BFI, in findBestInsertionSet() argument
284 if (InsertPtsFreq > BFI.getBlockFreq(Node) || in findBestInsertionSet()
285 (InsertPtsFreq == BFI.getBlockFreq(Node) && InsertPts.size() > 1)) in findBestInsertionSet()
305 (InsertPtsFreq > BFI.getBlockFreq(Node) || in findBestInsertionSet()
308 ParentPtsFreq += BFI.getBlockFreq(Node); in findBestInsertionSet()
333 if (BFI) { in findConstantInsertionPoint()
334 findBestInsertionSet(*DT, *BFI, Entry, BBs); in findConstantInsertionPoint()
943 this->BFI = BFI; in runImpl()
949 llvm::shouldOptimizeForSize(Entry.getParent(), PSI, BFI, in runImpl()
985 auto BFI = ConstHoistWithBlockFrequency in run() local
[all …]
H A DJumpThreading.cpp297 BFI = BFI_; in runImpl()
2291 if (BFI) { in threadThroughTwoBasicBlocks()
2417 if (BFI) { in threadEdge()
2477 auto *BFI = getBFI(); in splitBlockPreds() local
2478 if (BFI) { in splitBlockPreds()
2531 assert(((BFI && BPI) || (!BFI && !BFI)) && in updateBlockFreqAndEdgeWeight()
2534 if (!BFI) { in updateBlockFreqAndEdgeWeight()
2799 if (auto *BFI = getBFI()) { in unfoldSelectInstr() local
3189 if (!BFI) { in getBFI()
3193 return *BFI; in getBFI()
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Instrumentation/
H A DCFGMST.h54 BlockFrequencyInfo *const BFI; variable
118 (BFI != nullptr ? BFI->getEntryFreq().getFrequency() : 2); in buildEdges()
142 (BFI != nullptr ? BFI->getBlockFreq(&BB).getFrequency() : 2); in buildEdges()
296 BlockFrequencyInfo *BFI = nullptr)
297 : F(Func), BPI(BPI), BFI(BFI), InstrumentFuncEntry(InstrumentFuncEntry) { in F()
/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()
219 BlockFrequencyInfo &BFI; member in __anon8ae3e34b0111::MemOPSizeOpt
264 auto BBEdgeCount = BFI.getBlockProfileCount(MO.I->getParent()); in perform()
373 auto OrigBBFreq = BFI.getBlockFreq(BB); in perform()
381 BFI.setBlockFreq(MergeBB, OrigBBFreq); in perform()
459 static bool PGOMemOPSizeOptImpl(Function &F, BlockFrequencyInfo &BFI, in PGOMemOPSizeOptImpl() argument
467 MemOPSizeOpt MemOPSizeOpt(F, BFI, ORE, DT, TLI); in PGOMemOPSizeOptImpl()
474 auto &BFI = FAM.getResult<BlockFrequencyAnalysis>(F); in run() local
478 bool Changed = PGOMemOPSizeOptImpl(F, BFI, ORE, DT, TLI); in run()
H A DCGProfile.cpp68 auto &BFI = FAM.getResult<BlockFrequencyAnalysis>(F); in runCGProfilePass() local
69 if (BFI.getEntryFreq() == BlockFrequency(0)) in runCGProfilePass()
73 std::optional<uint64_t> BBCount = BFI.getBlockProfileCount(&BB); in runCGProfilePass()
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/IPO/
H A DFunctionSpecialization.h177 BlockFrequencyInfo &BFI; variable
195 InstCostVisitor(const DataLayout &DL, BlockFrequencyInfo &BFI, in InstCostVisitor() argument
197 : DL(DL), BFI(BFI), TTI(TTI), Solver(Solver) {} in InstCostVisitor()
286 auto &BFI = GetBFI(*F); in getInstCostVisitorFor() local
288 return InstCostVisitor(M.getDataLayout(), BFI, TTI, Solver); in getInstCostVisitorFor()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/IPO/
H A DHotColdSplitting.cpp222 BlockFrequencyInfo *BFI) const { in isBasicBlockCold()
227 if (BFI) { in isBasicBlockCold()
228 if (PSI->isColdBlock(BB, BFI)) in isBasicBlockCold()
377 DominatorTree &DT, BlockFrequencyInfo *BFI, TargetTransformInfo &TTI, in extractColdRegion() argument
417 markFunctionCold(*OutF, BFI != nullptr); in extractColdRegion()
646 BlockFrequencyInfo *BFI = nullptr; in outlineColdRegions() local
648 BFI = GetBFI(F); in outlineColdRegions()
661 BFI)) in outlineColdRegions()
718 Function *Outlined = extractColdRegion(SubRegion, CEAC, *DT, BFI, TTI, in outlineColdRegions()
H A DSyntheticCountsPropagation.cpp109 auto &BFI = FAM.getResult<BlockFrequencyAnalysis>(*Caller); in run() local
114 Scaled64 EntryFreq(BFI.getEntryFreq().getFrequency(), 0); in run()
115 Scaled64 BBCount(BFI.getBlockFreq(CSBB).getFrequency(), 0); in run()
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/
H A DGIMatchTableExecutor.h557 BlockFrequencyInfo *BFI = nullptr; variable
572 BFI = bfi;
603 (PSI && BFI && CurMBB && llvm::shouldOptForSize(*CurMBB, PSI, BFI)); in shouldOptForSize()

12345