mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-11-01 15:11:24 +00:00
fix Transforms/Inline/2007-06-25-WeakInline.ll by not inlining functions
with weak linkage. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37723 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
4939debe2a
commit
ba6801e6e7
@ -195,10 +195,14 @@ int SimpleInliner::getInlineCost(CallSite CS) {
|
||||
const Function *Caller = TheCall->getParent()->getParent();
|
||||
|
||||
// Don't inline a directly recursive call.
|
||||
if (Caller == Callee) return 2000000000;
|
||||
|
||||
// Don't inline functions marked noinline
|
||||
if (NeverInline.count(Callee)) return 2000000000;
|
||||
if (Caller == Callee ||
|
||||
// Don't inline functions which can be redefined at link-time to mean
|
||||
// something else. link-once linkage is ok though.
|
||||
Callee->hasWeakLinkage() ||
|
||||
|
||||
// Don't inline functions marked noinline.
|
||||
NeverInline.count(Callee))
|
||||
return 2000000000;
|
||||
|
||||
// InlineCost - This value measures how good of an inline candidate this call
|
||||
// site is to inline. A lower inline cost make is more likely for the call to
|
||||
|
Loading…
Reference in New Issue
Block a user