summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorMehdi Amini <mehdi.amini@apple.com>2016-05-02 22:11:27 +0000
committerMehdi Amini <mehdi.amini@apple.com>2016-05-02 22:11:27 +0000
commitbda9b2ae9e69e5de7ce76e70c9cd6519d90a0226 (patch)
treed70fbc04e3bbafde54b3b958c73fc59dd3a2842c /llvm/lib
parent3ba6535096a4a1abd57f7813183ac8fa0bccfc39 (diff)
downloadbcm5719-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.cpp4
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();
OpenPOWER on IntegriCloud