mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-25 16:24:23 +00:00
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:
@ -201,8 +201,7 @@ InlineCost InlineCostAnalyzer::getInlineCost(CallSite CS,
|
|||||||
// If there is only one call of the function, and it has internal linkage,
|
// If there is only one call of the function, and it has internal linkage,
|
||||||
// make it almost guaranteed to be inlined.
|
// make it almost guaranteed to be inlined.
|
||||||
//
|
//
|
||||||
if ((Callee->hasLocalLinkage() || Callee->hasAvailableExternallyLinkage()) &&
|
if (Callee->hasLocalLinkage() && Callee->hasOneUse())
|
||||||
Callee->hasOneUse())
|
|
||||||
InlineCost -= 15000;
|
InlineCost -= 15000;
|
||||||
|
|
||||||
// If this function uses the coldcc calling convention, prefer not to inline
|
// If this function uses the coldcc calling convention, prefer not to inline
|
||||||
|
Reference in New Issue
Block a user