[PATCH] D36317: Adjust the hotness threshold from 99.9% to 99%.

Dehao Chen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 4 08:42:01 PDT 2017


danielcdh created this revision.
Herald added a subscriber: sanjoy.

We originally set the hotness threshold as 99.9% to be consistent with gcc FDO. But because the inline heuristic is different between 2 compilers: llvm uses bottom-up algorithm while gcc uses priority based. The LLVM algorithm tends to inline too much early that prevents hot callsites from further inlined into its caller. Due to this restriction, we think it is reasonable to lower the hotness threshold to give priority to those that are really hot. Our experiments show that this change would improve performance on large applications. Note that the inline heuristic has great room for further tuning. Once the inline heuristics are refined, we could adjust this threshold to allow inlining for less hot callsites.


https://reviews.llvm.org/D36317

Files:
  lib/Analysis/ProfileSummaryInfo.cpp


Index: lib/Analysis/ProfileSummaryInfo.cpp
===================================================================
--- lib/Analysis/ProfileSummaryInfo.cpp
+++ lib/Analysis/ProfileSummaryInfo.cpp
@@ -30,7 +30,7 @@
 // considered cold).
 
 static cl::opt<int> ProfileSummaryCutoffHot(
-    "profile-summary-cutoff-hot", cl::Hidden, cl::init(999000), cl::ZeroOrMore,
+    "profile-summary-cutoff-hot", cl::Hidden, cl::init(990000), cl::ZeroOrMore,
     cl::desc("A count is hot if it exceeds the minimum count to"
              " reach this percentile of total counts."));
 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D36317.109752.patch
Type: text/x-patch
Size: 568 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170804/d906ef6b/attachment.bin>


More information about the llvm-commits mailing list