diff options
author | Chris Lattner <sabre@nondot.org> | 2009-07-09 05:19:23 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-07-09 05:19:23 +0000 |
commit | f2c081fc2a5fc16d1e540d187fabd1f1091b99e5 (patch) | |
tree | d2d1008dc628e325b39848e353a95e172f280c67 /lib/Target/X86 | |
parent | 1ebd3bfcbd571ee101e0555653599b650c65fa48 (diff) |
pc-relative references are *always* to functions, never to globals. ISel
is incapable of lowering direct references to globals like this, zap the code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75106 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86')
-rw-r--r-- | lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.cpp | 29 |
1 files changed, 8 insertions, 21 deletions
diff --git a/lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.cpp b/lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.cpp index 72958cb568..9fe92ade6f 100644 --- a/lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.cpp +++ b/lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.cpp @@ -316,29 +316,16 @@ void X86ATTAsmPrinter::print_pcrel_imm(const MachineInstr *MI, unsigned OpNo) { // non-lazily-resolved stubs if (GV->isDeclaration() || GV->isWeakForLinker()) { // Dynamically-resolved functions need a stub for the function. - if (isa<Function>(GV)) { - // Function stubs are no longer needed for Mac OS X 10.5 and up. - if (Subtarget->isTargetDarwin() && Subtarget->getDarwinVers() >= 9) { - O << Name; - } else { - FnStubs.insert(Name); - printSuffixedName(Name, "$stub"); - } - assert(MO.getTargetFlags() == 0); - } else if (GV->hasHiddenVisibility()) { - if (!GV->isDeclaration() && !GV->hasCommonLinkage()) - // Definition is not definitely in the current translation unit. - O << Name; - else { - HiddenGVStubs.insert(Name); - printSuffixedName(Name, "$non_lazy_ptr"); - assert(MO.getTargetFlags() == 0); - } + assert(isa<Function>(GV)); + + // Function stubs are no longer needed for Mac OS X 10.5 and up. + if (Subtarget->isTargetDarwin() && Subtarget->getDarwinVers() >= 9) { + O << Name; } else { - GVStubs.insert(Name); - printSuffixedName(Name, "$non_lazy_ptr"); - assert(MO.getTargetFlags() == 0); + FnStubs.insert(Name); + printSuffixedName(Name, "$stub"); } + assert(MO.getTargetFlags() == 0); } else { O << Name; } |