[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