diff options
| author | Rafael Espindola <rafael.espindola@gmail.com> | 2016-05-25 19:55:16 +0000 |
|---|---|---|
| committer | Rafael Espindola <rafael.espindola@gmail.com> | 2016-05-25 19:55:16 +0000 |
| commit | 84f05620641542f8edee4b216c21b9406260e935 (patch) | |
| tree | 91e276e4fe167ebf5ba72d299f9e8b61246068f3 | |
| parent | 0d435b6933f754244a92f85e426cc1125df9eea5 (diff) | |
| download | bcm5719-llvm-84f05620641542f8edee4b216c21b9406260e935.tar.gz bcm5719-llvm-84f05620641542f8edee4b216c21b9406260e935.zip | |
Fix shouldAssumeDSOLocal for private linkage.
llvm-svn: 270746
| -rw-r--r-- | llvm/lib/Target/X86/X86Subtarget.cpp | 2 | ||||
| -rw-r--r-- | llvm/test/CodeGen/X86/x86-64-pic.ll | 8 |
2 files changed, 9 insertions, 1 deletions
diff --git a/llvm/lib/Target/X86/X86Subtarget.cpp b/llvm/lib/Target/X86/X86Subtarget.cpp index 651a660261b..a24b425a4e8 100644 --- a/llvm/lib/Target/X86/X86Subtarget.cpp +++ b/llvm/lib/Target/X86/X86Subtarget.cpp @@ -66,7 +66,7 @@ static bool shouldAssumeDSOLocal(Reloc::Model RM, const Triple &TT, if (RM == Reloc::Static) return true; - if (GV && (GV->hasInternalLinkage() || !GV->hasDefaultVisibility())) + if (GV && (GV->hasLocalLinkage() || !GV->hasDefaultVisibility())) return true; if (TT.isOSBinFormatELF()) { diff --git a/llvm/test/CodeGen/X86/x86-64-pic.ll b/llvm/test/CodeGen/X86/x86-64-pic.ll new file mode 100644 index 00000000000..76ed8894b41 --- /dev/null +++ b/llvm/test/CodeGen/X86/x86-64-pic.ll @@ -0,0 +1,8 @@ +; RUN: llc < %s -mtriple=x86_64-pc-linux -relocation-model=pic | FileCheck %s + +@g1 = private global i8 1 +define i8* @get_g1() { +; CHECK: get_g1: +; CHECK: leaq .Lg1(%rip), %rax + ret i8* @g1 +} |

