diff options
author | Chris Lattner <sabre@nondot.org> | 2009-07-09 07:02:30 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-07-09 07:02:30 +0000 |
commit | b734300bcca8344690c30cccc21880a7a3e5a9dd (patch) | |
tree | ccea28d886d320654161d9bcd0ef935a06d01fb5 | |
parent | a3bde62d560a43bb25d5fb07fb3bddbef876fd4c (diff) | |
download | external_llvm-b734300bcca8344690c30cccc21880a7a3e5a9dd.zip external_llvm-b734300bcca8344690c30cccc21880a7a3e5a9dd.tar.gz external_llvm-b734300bcca8344690c30cccc21880a7a3e5a9dd.tar.bz2 |
simplify this logic a bit more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75118 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/X86/X86ISelLowering.cpp | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/lib/Target/X86/X86ISelLowering.cpp b/lib/Target/X86/X86ISelLowering.cpp index bb5829a..b04d372 100644 --- a/lib/Target/X86/X86ISelLowering.cpp +++ b/lib/Target/X86/X86ISelLowering.cpp @@ -4582,18 +4582,14 @@ X86TargetLowering::LowerGlobalAddress(const GlobalValue *GV, DebugLoc dl, // Link-once, declaration, or Weakly-linked global variables need // non-lazily-resolved stubs. - if (!GV->isDeclaration() && !GV->isWeakForLinker()) { + if (!ExtraLoadRequired) { // Not a stub reference. OpFlags = IsPIC ? X86II::MO_PIC_BASE_OFFSET : 0; } else if (!GV->hasHiddenVisibility()) { // Non-hidden $non_lazy_ptr reference. OpFlags = IsPIC ? X86II::MO_DARWIN_NONLAZY_PIC_BASE : X86II::MO_DARWIN_NONLAZY; - } else if (!GV->isDeclaration() && !GV->hasCommonLinkage()) - // Definition is definitely in the current linkage unit. - // Not a stub reference. - OpFlags = IsPIC ? X86II::MO_PIC_BASE_OFFSET : 0; - else { + } else { // Hidden $non_lazy_ptr reference. OpFlags = IsPIC ? X86II::MO_DARWIN_HIDDEN_NONLAZY_PIC_BASE : X86II::MO_DARWIN_HIDDEN_NONLAZY; |