From 427ad06f8e54f93f47c17fdbc43ae613474d642a Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Tue, 1 Dec 2015 22:40:40 +0000 Subject: [PATCH] Pass down the dst GV to linkGlobalValueBody. NFC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@254465 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Linker/LinkModules.cpp | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/lib/Linker/LinkModules.cpp b/lib/Linker/LinkModules.cpp index 3c6d6f067c4..271c765d63c 100644 --- a/lib/Linker/LinkModules.cpp +++ b/lib/Linker/LinkModules.cpp @@ -527,7 +527,7 @@ private: void linkGlobalInit(GlobalVariable &Dst, GlobalVariable &Src); bool linkFunctionBody(Function &Dst, Function &Src); void linkAliasBody(GlobalAlias &Dst, GlobalAlias &Src); - bool linkGlobalValueBody(GlobalValue &Src); + bool linkGlobalValueBody(GlobalValue &Dst, GlobalValue &Src); /// Functions that take care of cloning a specific global value type /// into the destination module. @@ -924,7 +924,7 @@ void ModuleLinker::materializeInitFor(GlobalValue *New, GlobalValue *Old) { if (!New->hasLocalLinkage() && DoNotLinkFromSource.count(Old)) return; - linkGlobalValueBody(*Old); + linkGlobalValueBody(*New, *Old); } bool ModuleLinker::getComdatLeader(Module &M, StringRef ComdatName, @@ -1566,9 +1566,7 @@ void ModuleLinker::linkAliasBody(GlobalAlias &Dst, GlobalAlias &Src) { Dst.setAliasee(Val); } -bool ModuleLinker::linkGlobalValueBody(GlobalValue &Src) { - Value *Dst = ValueMap[&Src]; - assert(Dst); +bool ModuleLinker::linkGlobalValueBody(GlobalValue &Dst, GlobalValue &Src) { if (const Comdat *SC = Src.getComdat()) { // To ensure that we don't generate an incomplete comdat group, // we must materialize and map in any other members that are not @@ -1583,15 +1581,15 @@ bool ModuleLinker::linkGlobalValueBody(GlobalValue &Src) { } } if (shouldInternalizeLinkedSymbols()) - if (auto *DGV = dyn_cast(Dst)) + if (auto *DGV = dyn_cast(&Dst)) DGV->setLinkage(GlobalValue::InternalLinkage); if (auto *F = dyn_cast(&Src)) - return linkFunctionBody(cast(*Dst), *F); + return linkFunctionBody(cast(Dst), *F); if (auto *GVar = dyn_cast(&Src)) { - linkGlobalInit(cast(*Dst), *GVar); + linkGlobalInit(cast(Dst), *GVar); return false; } - linkAliasBody(cast(*Dst), cast(Src)); + linkAliasBody(cast(Dst), cast(Src)); return false; } -- 2.34.1