Remove cold callsite heuristic that is not necessary because of cold callee heuristic.

llvm-svn: 277863
This commit is contained in:
Dehao Chen 2016-08-05 20:49:04 +00:00
parent ef70ae9036
commit e1c7c57d11
1 changed files with 5 additions and 7 deletions

View File

@ -640,13 +640,11 @@ void CallAnalyzer::updateThreshold(CallSite CS, Function &Callee) {
}
bool HotCallsite = false;
bool ColdCallsite = false;
uint64_t TotalWeight;
if (CS.getInstruction()->extractProfTotalWeight(TotalWeight))
if (PSI->isHotCount(TotalWeight))
HotCallsite = true;
else if (PSI->isColdCount(TotalWeight))
ColdCallsite = true;
if (CS.getInstruction()->extractProfTotalWeight(TotalWeight) &&
PSI->isHotCount(TotalWeight)) {
HotCallsite = true;
}
// Listen to the inlinehint attribute or profile based hotness information
// when it would increase the threshold and the caller does not need to
@ -666,7 +664,7 @@ void CallAnalyzer::updateThreshold(CallSite CS, Function &Callee) {
// do not use the default cold threshold even if it is smaller.
if ((DefaultInlineThreshold.getNumOccurrences() == 0 ||
ColdThreshold.getNumOccurrences() > 0) &&
(ColdCallee || ColdCallsite) && ColdThreshold < Threshold)
ColdCallee && ColdThreshold < Threshold)
Threshold = ColdThreshold;
// Finally, take the target-specific inlining threshold multiplier into