diff options
author | Evan Cheng <evan.cheng@apple.com> | 2008-12-08 19:29:03 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2008-12-08 19:29:03 +0000 |
commit | e4d1082b2c63919f3abb6de18ce47ce9e05cfdea (patch) | |
tree | 19e355fd290346f1169a8713aef89d8e1df6e58c | |
parent | a629b48a668c778e0cb951c7eb2b47bda0c922f0 (diff) |
Re-apply 60689 now my head is screwed on right.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60711 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/X86/X86Subtarget.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/Target/X86/X86Subtarget.cpp b/lib/Target/X86/X86Subtarget.cpp index 583fe8a0fb..2924d33a3b 100644 --- a/lib/Target/X86/X86Subtarget.cpp +++ b/lib/Target/X86/X86Subtarget.cpp @@ -40,6 +40,8 @@ bool X86Subtarget::GVRequiresExtraLoad(const GlobalValue* GV, 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()))) |