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
diff --git a/llvm/lib/Transforms/IPO/FunctionImport.cpp b/llvm/lib/Transforms/IPO/FunctionImport.cpp
index c106f11..b68058c 100644
--- a/llvm/lib/Transforms/IPO/FunctionImport.cpp
+++ b/llvm/lib/Transforms/IPO/FunctionImport.cpp
@@ -544,25 +544,9 @@
       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);