diff options
| author | Nikita Popov <nikita.ppv@gmail.com> | 2019-12-31 14:14:31 +0100 |
|---|---|---|
| committer | Nikita Popov <nikita.ppv@gmail.com> | 2020-01-07 21:28:22 +0100 |
| commit | 8010f4037a3f8a875d121224f2e02914e941c257 (patch) | |
| tree | 19388f576c5b35944fe72d421deac1c912da50e1 /src/rustllvm/PassWrapper.cpp | |
| parent | 30ec68a545ebc128ea8009186249b5b3616c3586 (diff) | |
| download | rust-8010f4037a3f8a875d121224f2e02914e941c257.tar.gz rust-8010f4037a3f8a875d121224f2e02914e941c257.zip | |
Update thinLTOInternalizeAndPromoteInIndex() usage
Diffstat (limited to 'src/rustllvm/PassWrapper.cpp')
| -rw-r--r-- | src/rustllvm/PassWrapper.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/rustllvm/PassWrapper.cpp b/src/rustllvm/PassWrapper.cpp index 162193c0db7..eaa845a279f 100644 --- a/src/rustllvm/PassWrapper.cpp +++ b/src/rustllvm/PassWrapper.cpp @@ -962,6 +962,15 @@ LLVMRustCreateThinLTOData(LLVMRustThinLTOModule *modules, ExportedGUIDs.insert(GUID); } } +#if LLVM_VERSION_GE(10, 0) + auto isExported = [&](StringRef ModuleIdentifier, ValueInfo VI) { + const auto &ExportList = Ret->ExportLists.find(ModuleIdentifier); + return (ExportList != Ret->ExportLists.end() && + ExportList->second.count(VI)) || + ExportedGUIDs.count(VI.getGUID()); + }; + thinLTOInternalizeAndPromoteInIndex(Ret->Index, isExported, isPrevailing); +#else auto isExported = [&](StringRef ModuleIdentifier, GlobalValue::GUID GUID) { const auto &ExportList = Ret->ExportLists.find(ModuleIdentifier); return (ExportList != Ret->ExportLists.end() && @@ -969,6 +978,7 @@ LLVMRustCreateThinLTOData(LLVMRustThinLTOModule *modules, ExportedGUIDs.count(GUID); }; thinLTOInternalizeAndPromoteInIndex(Ret->Index, isExported); +#endif return Ret.release(); } |
