Don't give a massive inlining cost bonus to available_externally

functions with a single use; eliminating the single use may eliminate 
the function from the current module, but usually doesn't eliminate 
it from the final program.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76730 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Eli Friedman 2009-07-22 08:12:59 +00:00
parent 756da12ae4
commit 6dae757a07

View File

@ -201,8 +201,7 @@ InlineCost InlineCostAnalyzer::getInlineCost(CallSite CS,
// If there is only one call of the function, and it has internal linkage,
// make it almost guaranteed to be inlined.
//
if ((Callee->hasLocalLinkage() || Callee->hasAvailableExternallyLinkage()) &&
Callee->hasOneUse())
if (Callee->hasLocalLinkage() && Callee->hasOneUse())
InlineCost -= 15000;
// If this function uses the coldcc calling convention, prefer not to inline