summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Linker/LinkModules.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2015-12-07 23:32:39 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2015-12-07 23:32:39 +0000
commitc6c9735f830a92333f94b18be1548e1f99feff9f (patch)
tree2f7695acd5324682492c06b99ecc4d5c05885ff9 /llvm/lib/Linker/LinkModules.cpp
parentd20a13023bea76f165d1611c6438518fbc367c93 (diff)
downloadbcm5719-llvm-c6c9735f830a92333f94b18be1548e1f99feff9f.tar.gz
bcm5719-llvm-c6c9735f830a92333f94b18be1548e1f99feff9f.zip
Factor two calls to a common location.
llvm-svn: 254967
Diffstat (limited to 'llvm/lib/Linker/LinkModules.cpp')
-rw-r--r--llvm/lib/Linker/LinkModules.cpp10
1 files changed, 3 insertions, 7 deletions
diff --git a/llvm/lib/Linker/LinkModules.cpp b/llvm/lib/Linker/LinkModules.cpp
index 3e1416d8d50..a2bc9560221 100644
--- a/llvm/lib/Linker/LinkModules.cpp
+++ b/llvm/lib/Linker/LinkModules.cpp
@@ -451,8 +451,7 @@ private:
/// Handles cloning of a global values from the source module into
/// the destination module, including setting the attributes and visibility.
- GlobalValue *copyGlobalValueProto(const GlobalValue *SGV,
- const GlobalValue *DGV, bool ForDefinition);
+ GlobalValue *copyGlobalValueProto(const GlobalValue *SGV, bool ForDefinition);
/// Check if we should promote the given local value to global scope.
bool doPromoteLocalToGlobal(const GlobalValue *SGV);
@@ -816,7 +815,6 @@ void ModuleLinker::setVisibility(GlobalValue *NewGV, const GlobalValue *SGV,
}
GlobalValue *ModuleLinker::copyGlobalValueProto(const GlobalValue *SGV,
- const GlobalValue *DGV,
bool ForDefinition) {
GlobalValue *NewGV;
if (auto *SGVar = dyn_cast<GlobalVariable>(SGV)) {
@@ -842,7 +840,6 @@ GlobalValue *ModuleLinker::copyGlobalValueProto(const GlobalValue *SGV,
NewGV->setLinkage(GlobalValue::ExternalWeakLinkage);
copyGVAttributes(NewGV, SGV);
- setVisibility(NewGV, SGV, DGV);
return NewGV;
}
@@ -1364,8 +1361,6 @@ Constant *ModuleLinker::linkGlobalValueProto(GlobalValue *SGV) {
GlobalValue *NewGV;
if (!LinkFromSrc && DGV) {
NewGV = DGV;
- // When linking from source we setVisibility from copyGlobalValueProto.
- setVisibility(NewGV, SGV, DGV);
} else {
// If we are done linking global value bodies (i.e. we are performing
// metadata linking), don't link in the global value due to this
@@ -1373,9 +1368,10 @@ Constant *ModuleLinker::linkGlobalValueProto(GlobalValue *SGV) {
if (DoneLinkingBodies)
return nullptr;
- NewGV = copyGlobalValueProto(SGV, DGV, LinkFromSrc);
+ NewGV = copyGlobalValueProto(SGV, LinkFromSrc);
}
+ setVisibility(NewGV, SGV, DGV);
NewGV->setUnnamedAddr(HasUnnamedAddr);
if (auto *NewGO = dyn_cast<GlobalObject>(NewGV)) {
OpenPOWER on IntegriCloud