[llvm-commits] [llvm] r51865 - /llvm/trunk/lib/Target/X86/X86Subtarget.cpp

Rafael Espindola rafael.espindola at gmail.com
Mon Jun 2 00:52:44 PDT 2008


Author: rafael
Date: Mon Jun  2 02:52:43 2008
New Revision: 51865

URL: http://llvm.org/viewvc/llvm-project?rev=51865&view=rev
Log:
Don't use the GOT for symbols that are not externally visible.

Modified:
    llvm/trunk/lib/Target/X86/X86Subtarget.cpp

Modified: llvm/trunk/lib/Target/X86/X86Subtarget.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86Subtarget.cpp?rev=51865&r1=51864&r2=51865&view=diff

==============================================================================
--- llvm/trunk/lib/Target/X86/X86Subtarget.cpp (original)
+++ llvm/trunk/lib/Target/X86/X86Subtarget.cpp Mon Jun  2 02:52:43 2008
@@ -44,9 +44,12 @@
                GV->hasCommonLinkage() ||
                (GV->isDeclaration() && !GV->hasNotBeenReadFromBitcode())));
     } else if (isTargetELF()) {
-      // Extra load is needed for all non-statics.
-      return (!isDirectCall &&
-              (GV->isDeclaration() || !GV->hasInternalLinkage()));
+      // Extra load is needed for all externally visible.
+      if (isDirectCall)
+        return false;
+      if (GV->hasInternalLinkage() || GV->hasHiddenVisibility())
+        return false;
+      return true;
     } else if (isTargetCygMing() || isTargetWindows()) {
       return (GV->hasDLLImportLinkage());
     }





More information about the llvm-commits mailing list