[llvm] 2069346 - [ModuleSummary] Only compute BFI if function has profile data (#218374)
via llvm-commits
llvm-commits at lists.llvm.org
Mon Aug 24 06:24:43 PDT 2026
Author: Nikita Popov
Date: 2026-08-24T15:24:38+02:00
New Revision: 20693469df1207f92076a9f2b49cb0fb28a7f20e
URL: https://github.com/llvm/llvm-project/commit/20693469df1207f92076a9f2b49cb0fb28a7f20e
DIFF: https://github.com/llvm/llvm-project/commit/20693469df1207f92076a9f2b49cb0fb28a7f20e.diff
LOG: [ModuleSummary] Only compute BFI if function has profile data (#218374)
After b30971c4bb3f0654fa4fbb242126376169ae66d0 the module summary should
no longer need BFI for functions without profiling data.
Not computing it is a minor compile-time improvement.
Added:
Modified:
llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Analysis/ModuleSummaryAnalysis.cpp b/llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
index e77bf03ac7f04..bb5fd4eefb7f9 100644
--- a/llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
+++ b/llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
@@ -1081,14 +1081,16 @@ ModuleSummaryIndex llvm::buildModuleSummaryIndex(
DominatorTree DT(const_cast<Function &>(F));
BlockFrequencyInfo *BFI = nullptr;
std::unique_ptr<BlockFrequencyInfo> BFIPtr;
- if (GetBFICallback)
- BFI = GetBFICallback(F);
- else if (F.hasProfileData()) {
- CycleInfo CI;
- CI.compute(const_cast<Function &>(F));
- BranchProbabilityInfo BPI{F, CI};
- BFIPtr = std::make_unique<BlockFrequencyInfo>(F, BPI, CI);
- BFI = BFIPtr.get();
+ if (F.hasProfileData()) {
+ if (GetBFICallback) {
+ BFI = GetBFICallback(F);
+ } else {
+ CycleInfo CI;
+ CI.compute(const_cast<Function &>(F));
+ BranchProbabilityInfo BPI{F, CI};
+ BFIPtr = std::make_unique<BlockFrequencyInfo>(F, BPI, CI);
+ BFI = BFIPtr.get();
+ }
}
computeFunctionSummary(Index, M, F, BFI, PSI, DT,
More information about the llvm-commits
mailing list