summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/IndirectCallPromotionAnalysis.cpp
diff options
context:
space:
mode:
authorDehao Chen <dehao@google.com>2017-08-08 20:57:33 +0000
committerDehao Chen <dehao@google.com>2017-08-08 20:57:33 +0000
commit34cfcb29aaccbba4e00786013db1a0db77838eae (patch)
tree9c1703e388e5798f1d357d7dbbd1f308acd627c5 /llvm/lib/Analysis/IndirectCallPromotionAnalysis.cpp
parent512253292cfd21d59a175156402c54fb64e97ef8 (diff)
downloadbcm5719-llvm-34cfcb29aaccbba4e00786013db1a0db77838eae.tar.gz
bcm5719-llvm-34cfcb29aaccbba4e00786013db1a0db77838eae.zip
Make ICP uses PSI to check for hotness.
Summary: Currently, ICP checks the count against a fixed value to see if it is hot enough to be promoted. This does not work for SamplePGO because sampled count may be much smaller. This patch uses PSI to check if the count is hot enough to be promoted. Reviewers: davidxl, tejohnson, eraman Reviewed By: davidxl Subscribers: sanjoy, llvm-commits, mehdi_amini Differential Revision: https://reviews.llvm.org/D36341 llvm-svn: 310416
Diffstat (limited to 'llvm/lib/Analysis/IndirectCallPromotionAnalysis.cpp')
-rw-r--r--llvm/lib/Analysis/IndirectCallPromotionAnalysis.cpp11
1 files changed, 1 insertions, 10 deletions
diff --git a/llvm/lib/Analysis/IndirectCallPromotionAnalysis.cpp b/llvm/lib/Analysis/IndirectCallPromotionAnalysis.cpp
index 62db61be252..8f483dfefc4 100644
--- a/llvm/lib/Analysis/IndirectCallPromotionAnalysis.cpp
+++ b/llvm/lib/Analysis/IndirectCallPromotionAnalysis.cpp
@@ -32,14 +32,6 @@ using namespace llvm;
#define DEBUG_TYPE "pgo-icall-prom-analysis"
-// The minimum call count for the direct-call target to be considered as the
-// promotion candidate.
-static cl::opt<unsigned>
- ICPCountThreshold("icp-count-threshold", cl::Hidden, cl::ZeroOrMore,
- cl::init(1000),
- cl::desc("The minimum count to the direct call target "
- "for the promotion"));
-
// The percent threshold for the direct-call target (this call site vs the
// remaining call count) for it to be considered as the promotion target.
static cl::opt<unsigned> ICPRemainingPercentThreshold(
@@ -69,8 +61,7 @@ ICallPromotionAnalysis::ICallPromotionAnalysis() {
bool ICallPromotionAnalysis::isPromotionProfitable(uint64_t Count,
uint64_t TotalCount,
uint64_t RemainingCount) {
- return Count >= ICPCountThreshold &&
- Count * 100 >= ICPRemainingPercentThreshold * RemainingCount &&
+ return Count * 100 >= ICPRemainingPercentThreshold * RemainingCount &&
Count * 100 >= ICPTotalPercentThreshold * TotalCount;
}
OpenPOWER on IntegriCloud