[llvm] f9f3c34 - [CSSPGO] Turn on iterative-BFI for CSSPGO
Wenlei He via llvm-commits
llvm-commits at lists.llvm.org
Fri Jul 16 17:36:07 PDT 2021
Author: Wenlei He
Date: 2021-07-16T17:35:49-07:00
New Revision: f9f3c34e0f31e32885cab039f1050cde77a8335e
URL: https://github.com/llvm/llvm-project/commit/f9f3c34e0f31e32885cab039f1050cde77a8335e
DIFF: https://github.com/llvm/llvm-project/commit/f9f3c34e0f31e32885cab039f1050cde77a8335e.diff
LOG: [CSSPGO] Turn on iterative-BFI for CSSPGO
Iterative-BFI produces better count quality and performance when evaluated on internal benchmarks. Turning it on by default now for CSSPGO. We can consider turn it on by default for AutoFDO as well in the future.
Differential Revision: https://reviews.llvm.org/D106202
Added:
Modified:
llvm/lib/Transforms/IPO/SampleProfile.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Transforms/IPO/SampleProfile.cpp b/llvm/lib/Transforms/IPO/SampleProfile.cpp
index 4471c1a0dd38..0949bc1556cc 100644
--- a/llvm/lib/Transforms/IPO/SampleProfile.cpp
+++ b/llvm/lib/Transforms/IPO/SampleProfile.cpp
@@ -36,6 +36,7 @@
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/Twine.h"
#include "llvm/Analysis/AssumptionCache.h"
+#include "llvm/Analysis/BlockFrequencyInfoImpl.h"
#include "llvm/Analysis/CallGraph.h"
#include "llvm/Analysis/CallGraphSCCPass.h"
#include "llvm/Analysis/InlineAdvisor.h"
@@ -1804,6 +1805,10 @@ bool SampleProfileLoader::doInitialization(Module &M,
if (!CallsitePrioritizedInline.getNumOccurrences())
CallsitePrioritizedInline = true;
+ // Enable iterative-BFI by default for CSSPGO.
+ if (!UseIterativeBFIInference.getNumOccurrences())
+ UseIterativeBFIInference = true;
+
// Tracker for profiles under
diff erent context
ContextTracker =
std::make_unique<SampleContextTracker>(Reader->getProfiles());
More information about the llvm-commits
mailing list