OSDN Git Service

Tune isHotFunction/isColdFunction
authorDehao Chen <dehao@google.com>
Tue, 11 Oct 2016 05:19:00 +0000 (05:19 +0000)
committerDehao Chen <dehao@google.com>
Tue, 11 Oct 2016 05:19:00 +0000 (05:19 +0000)
Summary: This patch sets function as hot if function's entry count is hot/cold.

Reviewers: eraman, davidxl

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D25048

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@283852 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Analysis/ProfileSummaryInfo.cpp

index 289c1b2..af16fe6 100644 (file)
@@ -74,9 +74,7 @@ bool ProfileSummaryInfo::isFunctionEntryHot(const Function *F) {
   // FIXME: The heuristic used below for determining hotness is based on
   // preliminary SPEC tuning for inliner. This will eventually be a
   // convenience method that calls isHotCount.
-  return (FunctionCount &&
-          FunctionCount.getValue() >=
-              (uint64_t)(0.3 * (double)Summary->getMaxFunctionCount()));
+  return FunctionCount && isHotCount(FunctionCount.getValue());
 }
 
 /// Returns true if the function's entry is a cold. If it returns false, it
@@ -95,9 +93,7 @@ bool ProfileSummaryInfo::isFunctionEntryCold(const Function *F) {
   // FIXME: The heuristic used below for determining coldness is based on
   // preliminary SPEC tuning for inliner. This will eventually be a
   // convenience method that calls isHotCount.
-  return (FunctionCount &&
-          FunctionCount.getValue() <=
-              (uint64_t)(0.01 * (double)Summary->getMaxFunctionCount()));
+  return FunctionCount && isColdCount(FunctionCount.getValue());
 }
 
 /// Compute the hot and cold thresholds.