about summary refs log tree commit diff
path: root/src/rustllvm/PassWrapper.cpp
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2017-12-15 16:08:07 +0000
committerbors <bors@rust-lang.org>2017-12-15 16:08:07 +0000
commit50f6c3ece0ec738da48f8e77e6379a14bd02d1f4 (patch)
tree56b55759ba9b8e1f4f884958dbcafb7228922f84 /src/rustllvm/PassWrapper.cpp
parent5a0dc2d06d92d3bef7502d2095cd0d51486d4e12 (diff)
parentb98de5d0aca50ec6c947db9d1f2f54aab7d1ef6f (diff)
downloadrust-50f6c3ece0ec738da48f8e77e6379a14bd02d1f4.tar.gz
rust-50f6c3ece0ec738da48f8e77e6379a14bd02d1f4.zip
Auto merge of #46745 - steveklabnik:rollup, r=steveklabnik
Rollup of 7 pull requests

- Successful merges: #46601, #46652, #46690, #46705, #46710, #46728, #46737
- Failed merges:
Diffstat (limited to 'src/rustllvm/PassWrapper.cpp')
-rw-r--r--src/rustllvm/PassWrapper.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/rustllvm/PassWrapper.cpp b/src/rustllvm/PassWrapper.cpp
index 072a9144f17..e0a14f9b14f 100644
--- a/src/rustllvm/PassWrapper.cpp
+++ b/src/rustllvm/PassWrapper.cpp
@@ -969,11 +969,19 @@ LLVMRustCreateThinLTOData(LLVMRustThinLTOModule *modules,
   // linkage will stay as external, and internal will stay as internal.
   std::set<GlobalValue::GUID> ExportedGUIDs;
   for (auto &List : Ret->Index) {
+#if LLVM_VERSION_GE(5, 0)
+    for (auto &GVS: List.second.SummaryList) {
+#else
     for (auto &GVS: List.second) {
+#endif
       if (GlobalValue::isLocalLinkage(GVS->linkage()))
         continue;
       auto GUID = GVS->getOriginalName();
+#if LLVM_VERSION_GE(5, 0)
+      if (GVS->flags().Live)
+#else
       if (!DeadSymbols.count(GUID))
+#endif
         ExportedGUIDs.insert(GUID);
     }
   }