summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86Subtarget.cpp
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2008-12-08 19:29:03 +0000
committerEvan Cheng <evan.cheng@apple.com>2008-12-08 19:29:03 +0000
commitc6541432587a9fa6a3c6d89f61fd6c8052aabfda (patch)
tree8739cc69e9f17dba550a56223c02e8be5c295570 /llvm/lib/Target/X86/X86Subtarget.cpp
parent3edadfc7308d812da767fc2d9987035c7a3470c8 (diff)
downloadbcm5719-llvm-c6541432587a9fa6a3c6d89f61fd6c8052aabfda.tar.gz
bcm5719-llvm-c6541432587a9fa6a3c6d89f61fd6c8052aabfda.zip
Re-apply 60689 now my head is screwed on right.
llvm-svn: 60711
Diffstat (limited to 'llvm/lib/Target/X86/X86Subtarget.cpp')
-rw-r--r--llvm/lib/Target/X86/X86Subtarget.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86Subtarget.cpp b/llvm/lib/Target/X86/X86Subtarget.cpp
index 583fe8a0fbe..2924d33a3b7 100644
--- a/llvm/lib/Target/X86/X86Subtarget.cpp
+++ b/llvm/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())))
OpenPOWER on IntegriCloud