pc-relative references are *always* to functions, never to globals. ISel
authorChris Lattner <sabre@nondot.org>
Thu, 9 Jul 2009 05:19:23 +0000 (05:19 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 9 Jul 2009 05:19:23 +0000 (05:19 +0000)
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

lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.cpp

index 72958cb568271a290119602fe0590fd88c44186f..9fe92ade6fad7ca23f9fe74515eefba2c02fa977 100644 (file)
@@ -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;
       }