diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2018-11-09 13:09:32 -0800 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2018-11-25 20:27:18 -0800 |
| commit | ae5b350d7757a70e53219bbb5e32ae149ad063e0 (patch) | |
| tree | 7ea3d172deeb755df6c8811e362f3269c2edb306 /src/rustllvm/PassWrapper.cpp | |
| parent | 7be0b23b691479236580ce4b601f84da2bfe9e94 (diff) | |
| download | rust-ae5b350d7757a70e53219bbb5e32ae149ad063e0.tar.gz rust-ae5b350d7757a70e53219bbb5e32ae149ad063e0.zip | |
Handle some renamed ThinLTO functions
Diffstat (limited to 'src/rustllvm/PassWrapper.cpp')
| -rw-r--r-- | src/rustllvm/PassWrapper.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/rustllvm/PassWrapper.cpp b/src/rustllvm/PassWrapper.cpp index 3b0046222a9..06de0d6509b 100644 --- a/src/rustllvm/PassWrapper.cpp +++ b/src/rustllvm/PassWrapper.cpp @@ -922,7 +922,11 @@ LLVMRustCreateThinLTOData(LLVMRustThinLTOModule *modules, GlobalValue::LinkageTypes NewLinkage) { ResolvedODR[ModuleIdentifier][GUID] = NewLinkage; }; +#if LLVM_VERSION_GE(8, 0) + thinLTOResolvePrevailingInIndex(Ret->Index, isPrevailing, recordNewLinkage); +#else thinLTOResolveWeakForLinkerInIndex(Ret->Index, isPrevailing, recordNewLinkage); +#endif // Here we calculate an `ExportedGUIDs` set for use in the `isExported` // callback below. This callback below will dictate the linkage for all @@ -977,7 +981,11 @@ extern "C" bool LLVMRustPrepareThinLTOResolveWeak(const LLVMRustThinLTOData *Data, LLVMModuleRef M) { Module &Mod = *unwrap(M); const auto &DefinedGlobals = Data->ModuleToDefinedGVSummaries.lookup(Mod.getModuleIdentifier()); +#if LLVM_VERSION_GE(8, 0) + thinLTOResolvePrevailingInModule(Mod, DefinedGlobals); +#else thinLTOResolveWeakForLinkerModule(Mod, DefinedGlobals); +#endif return true; } |
