[llvm] r254465 - Pass down the dst GV to linkGlobalValueBody. NFC.
Rafael Espindola via llvm-commits
llvm-commits at lists.llvm.org
Tue Dec 1 14:40:41 PST 2015
Author: rafael
Date: Tue Dec 1 16:40:40 2015
New Revision: 254465
URL: http://llvm.org/viewvc/llvm-project?rev=254465&view=rev
Log:
Pass down the dst GV to linkGlobalValueBody. NFC.
Modified:
llvm/trunk/lib/Linker/LinkModules.cpp
Modified: llvm/trunk/lib/Linker/LinkModules.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Linker/LinkModules.cpp?rev=254465&r1=254464&r2=254465&view=diff
==============================================================================
--- llvm/trunk/lib/Linker/LinkModules.cpp (original)
+++ llvm/trunk/lib/Linker/LinkModules.cpp Tue Dec 1 16:40:40 2015
@@ -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(Gl
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(GlobalA
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(G
}
}
if (shouldInternalizeLinkedSymbols())
- if (auto *DGV = dyn_cast<GlobalValue>(Dst))
+ if (auto *DGV = dyn_cast<GlobalValue>(&Dst))
DGV->setLinkage(GlobalValue::InternalLinkage);
if (auto *F = dyn_cast<Function>(&Src))
- return linkFunctionBody(cast<Function>(*Dst), *F);
+ return linkFunctionBody(cast<Function>(Dst), *F);
if (auto *GVar = dyn_cast<GlobalVariable>(&Src)) {
- linkGlobalInit(cast<GlobalVariable>(*Dst), *GVar);
+ linkGlobalInit(cast<GlobalVariable>(Dst), *GVar);
return false;
}
- linkAliasBody(cast<GlobalAlias>(*Dst), cast<GlobalAlias>(Src));
+ linkAliasBody(cast<GlobalAlias>(Dst), cast<GlobalAlias>(Src));
return false;
}
More information about the llvm-commits
mailing list