[PATCH] D43690: [ThinLTO] Keep available_externally symbols live

Teresa Johnson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 5 08:21:41 PST 2018


tejohnson added a comment.

Sorry for the delay, I was OOO for awhile and am still catching up.



================
Comment at: lib/Transforms/IPO/FunctionImport.cpp:620
+      for (auto &S : VI.getSummaryList())
+        if (S->linkage() != GlobalValue::AvailableExternallyLinkage)
+          return;
----------------
Is it possible to have a symbol that is weak in one module and available_externally in another? If so, it would be more correct to return only if none of the copies is available_externally.


================
Comment at: lib/Transforms/IPO/PassManagerBuilder.cpp:523
 
-  if (OptLevel > 1 && !PrepareForLTO && !PrepareForThinLTO)
+  if (!PrepareForLTO && !PrepareForThinLTO)
     // Remove avail extern fns and globals definitions if we aren't
----------------
Thanks for this fix. Can you commit separately with a test?


Repository:
  rL LLVM

https://reviews.llvm.org/D43690





More information about the llvm-commits mailing list