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

Dan Gohman gohman at apple.com
Mon Dec 8 09:38:02 PST 2008


Author: djg
Date: Mon Dec  8 11:38:02 2008
New Revision: 60705

URL: http://llvm.org/viewvc/llvm-project?rev=60705&view=rev
Log:
Revert 60689. It caused many regressions on Darwin targets.

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=60705&r1=60704&r2=60705&view=diff

==============================================================================
--- llvm/trunk/lib/Target/X86/X86Subtarget.cpp (original)
+++ llvm/trunk/lib/Target/X86/X86Subtarget.cpp Mon Dec  8 11:38:02 2008
@@ -40,8 +40,6 @@
   if (TM.getRelocationModel() != Reloc::Static &&
       TM.getCodeModel() != CodeModel::Large) {
     if (isTargetDarwin()) {
-      if (!isDirectCall)
-        return false;
       bool isDecl = GV->isDeclaration() && !GV->hasNotBeenReadFromBitcode();
       if (GV->hasHiddenVisibility() &&
           (Is64Bit || (!isDecl && !GV->hasCommonLinkage())))
@@ -49,7 +47,7 @@
         // target is x86-64 or the symbol is definitely defined in the current
         // translation unit.
         return false;
-      return isDecl || GV->mayBeOverridden();
+      return !isDirectCall && (isDecl || GV->mayBeOverridden());
     } else if (isTargetELF()) {
       // Extra load is needed for all externally visible.
       if (isDirectCall)





More information about the llvm-commits mailing list