[llvm] r266750 - ModuleLinker: Do not import linkonce/weak as "external_weak"

Mehdi Amini via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 19 09:11:05 PDT 2016


Author: mehdi_amini
Date: Tue Apr 19 11:11:05 2016
New Revision: 266750

URL: http://llvm.org/viewvc/llvm-project?rev=266750&view=rev
Log:
ModuleLinker: Do not import linkonce/weak as "external_weak"

Summary:
There is no reason to have a weak reference because the external
definition will be weak.

Reviewers: rafael

Subscribers: llvm-commits, tejohnson

Differential Revision: http://reviews.llvm.org/D19267

From: Mehdi Amini <mehdi.amini at apple.com>

Modified:
    llvm/trunk/lib/Linker/IRMover.cpp
    llvm/trunk/test/Linker/comdat14.ll

Modified: llvm/trunk/lib/Linker/IRMover.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Linker/IRMover.cpp?rev=266750&r1=266749&r2=266750&view=diff
==============================================================================
--- llvm/trunk/lib/Linker/IRMover.cpp (original)
+++ llvm/trunk/lib/Linker/IRMover.cpp Tue Apr 19 11:11:05 2016
@@ -617,8 +617,7 @@ GlobalValue *IRLinker::copyGlobalValuePr
 
   if (ForDefinition)
     NewGV->setLinkage(SGV->getLinkage());
-  else if (SGV->hasExternalWeakLinkage() || SGV->hasWeakLinkage() ||
-           SGV->hasLinkOnceLinkage())
+  else if (SGV->hasExternalWeakLinkage())
     NewGV->setLinkage(GlobalValue::ExternalWeakLinkage);
 
   NewGV->copyAttributesFrom(SGV);

Modified: llvm/trunk/test/Linker/comdat14.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Linker/comdat14.ll?rev=266750&r1=266749&r2=266750&view=diff
==============================================================================
--- llvm/trunk/test/Linker/comdat14.ll (original)
+++ llvm/trunk/test/Linker/comdat14.ll Tue Apr 19 11:11:05 2016
@@ -5,5 +5,5 @@ $c = comdat any
 @v = global i32 0, comdat ($c)
 
 ; CHECK: @v = global i32 0, comdat($c)
-; CHECK: @v2 = extern_weak dllexport global i32
-; CHECK: @v3 = extern_weak global i32
+; CHECK: @v2 = external dllexport global i32
+; CHECK: @v3 = external global i32




More information about the llvm-commits mailing list