diff options
author | Mehdi Amini <mehdi.amini@apple.com> | 2016-05-02 22:11:27 +0000 |
---|---|---|
committer | Mehdi Amini <mehdi.amini@apple.com> | 2016-05-02 22:11:27 +0000 |
commit | bda9b2ae9e69e5de7ce76e70c9cd6519d90a0226 (patch) | |
tree | d70fbc04e3bbafde54b3b958c73fc59dd3a2842c /llvm/lib | |
parent | 3ba6535096a4a1abd57f7813183ac8fa0bccfc39 (diff) | |
download | bcm5719-llvm-bda9b2ae9e69e5de7ce76e70c9cd6519d90a0226.tar.gz bcm5719-llvm-bda9b2ae9e69e5de7ce76e70c9cd6519d90a0226.zip |
ThinLTO: do not import function whose linkage prevents inlining.
There is not point in importing a "weak" or a "linkonce" function
since we won't be able to inline it anyway.
We already had a targeted check for WeakAny, this is using the
same check on GlobalValue as the inline, i.e.
isMayBeOverriddenLinkage()
From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 268315
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Transforms/IPO/FunctionImport.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Transforms/IPO/FunctionImport.cpp b/llvm/lib/Transforms/IPO/FunctionImport.cpp index ec82248d78b..d9860a908d0 100644 --- a/llvm/lib/Transforms/IPO/FunctionImport.cpp +++ b/llvm/lib/Transforms/IPO/FunctionImport.cpp @@ -156,8 +156,8 @@ selectCallee(const ModuleSummaryIndex &Index, CalleeSummaryList, [&](const std::unique_ptr<GlobalValueSummary> &SummaryPtr) { auto *GVSummary = SummaryPtr.get(); - if (GlobalValue::isWeakAnyLinkage(GVSummary->linkage())) - // There is no point in importing weak symbols, we can't inline them + if (GlobalValue::isMayBeOverriddenLinkage(GVSummary->linkage())) + // There is no point in importing these, we can't inline them return false; if (auto *AS = dyn_cast<AliasSummary>(GVSummary)) { GVSummary = &AS->getAliasee(); |