aboutsummaryrefslogtreecommitdiff
path: root/lib/Target/X86
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-07-09 05:19:23 +0000
committerChris Lattner <sabre@nondot.org>2009-07-09 05:19:23 +0000
commitf2c081fc2a5fc16d1e540d187fabd1f1091b99e5 (patch)
treed2d1008dc628e325b39848e353a95e172f280c67 /lib/Target/X86
parent1ebd3bfcbd571ee101e0555653599b650c65fa48 (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.cpp29
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;
}