diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2015-12-07 23:32:39 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2015-12-07 23:32:39 +0000 |
commit | c6c9735f830a92333f94b18be1548e1f99feff9f (patch) | |
tree | 2f7695acd5324682492c06b99ecc4d5c05885ff9 /llvm/lib/Linker/LinkModules.cpp | |
parent | d20a13023bea76f165d1611c6438518fbc367c93 (diff) | |
download | bcm5719-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.cpp | 10 |
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)) { |