/freebsd/contrib/llvm-project/llvm/lib/Analysis/ |
H A D | BlockFrequencyInfo.cpp | 161 : 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 D | CFGPrinter.cpp | 70 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 D | OptimizationRemarkEmitter.cpp | 28 : 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 D | BlockFrequencyInfoImpl.cpp | 304 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 D | ProfileSummaryInfo.cpp | 70 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 D | HeatUtils.cpp | 53 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 D | SizeOpts.cpp | 64 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 D | BreakCriticalEdges.cpp | 341 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 D | ProfileSummaryInfo.h | 139 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 D | OptimizationRemarkEmitter.h | 35 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 D | BlockFrequencyInfo.h | 41 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 D | LazyBlockFrequencyInfo.h | 50 BFI.calculate( in getCalculated() 54 return BFI; in getCalculated() 62 BFI.releaseMemory(); in releaseMemory() 68 BlockFrequencyInfoT BFI;
|
H A D | CFGPrinter.h | 62 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 D | SizeOpts.h | 52 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 D | LoopSink.cpp | 79 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 D | LoopLoadElimination.cpp | 171 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 D | ConstantHoisting.cpp | 215 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 D | JumpThreading.cpp | 297 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 D | CFGMST.h | 54 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 D | PGOMemOPSizeOpt.cpp | 177 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 D | CGProfile.cpp | 68 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 D | FunctionSpecialization.h | 177 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 D | HotColdSplitting.cpp | 222 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 D | SyntheticCountsPropagation.cpp | 109 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 D | GIMatchTableExecutor.h | 557 BlockFrequencyInfo *BFI = nullptr; variable 572 BFI = bfi; 603 (PSI && BFI && CurMBB && llvm::shouldOptForSize(*CurMBB, PSI, BFI)); in shouldOptForSize()
|