From 3caa0fd05099bba12f5630c3f2eeceec9a799eec Mon Sep 17 00:00:00 2001 From: Eric Christopher Date: Fri, 9 Mar 2018 01:25:18 +0000 Subject: Revert "[ThinLTO] Keep available_externally symbols live" This reverts commit r327041 and the followup attempts at fixing the testcase as they're still failing. llvm-svn: 327094 --- llvm/lib/Transforms/IPO/FunctionImport.cpp | 22 +++------------------- 1 file changed, 3 insertions(+), 19 deletions(-) (limited to 'llvm/lib/Transforms/IPO/FunctionImport.cpp') diff --git a/llvm/lib/Transforms/IPO/FunctionImport.cpp b/llvm/lib/Transforms/IPO/FunctionImport.cpp index c106f1105e7..b68058cbeea 100644 --- a/llvm/lib/Transforms/IPO/FunctionImport.cpp +++ b/llvm/lib/Transforms/IPO/FunctionImport.cpp @@ -544,25 +544,9 @@ void llvm::computeDeadSymbols( if (S->isLive()) return; - // We only keep live symbols that are known to be non-prevailing if any are - // available_externally. Those symbols are discarded later in the - // EliminateAvailableExternally pass and setting them to not-live breaks - // downstreams users of liveness information (PR36483). - if (isPrevailing(VI.getGUID()) == PrevailingType::No) { - bool AvailableExternally = false; - for (auto &S : VI.getSummaryList()) - if (S->linkage() == GlobalValue::AvailableExternallyLinkage) - AvailableExternally = true; - - if (!AvailableExternally) - return; - -#ifndef NDEBUG - for (auto &S : VI.getSummaryList()) - assert(!GlobalValue::isInterposableLinkage(S->linkage()) && - "Symbol with interposable and available_externally linkages"); -#endif - } + // We do not keep live symbols that are known to be non-prevailing. + if (isPrevailing(VI.getGUID()) == PrevailingType::No) + return; for (auto &S : VI.getSummaryList()) S->setLive(true); -- cgit v1.2.3