Check in the last of the darwin-specific code necessary to get shootout
authorNate Begeman <natebegeman@mac.com>
Tue, 12 Jul 2005 18:34:58 +0000 (18:34 +0000)
committerNate Begeman <natebegeman@mac.com>
Tue, 12 Jul 2005 18:34:58 +0000 (18:34 +0000)
working before modifying the asm printer to use the subtarget info.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22408 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86ATTAsmPrinter.cpp

index bb606f1ce724eb6a50ba16e1e99623785f1bed98..ca8630c3cb9284138dde7c2fb35e90d4cde4844f 100755 (executable)
@@ -101,22 +101,22 @@ void X86ATTAsmPrinter::printOp(const MachineOperand &MO, bool isCallOp) {
       if (F && isCallOp && F->isExternal()) {
         FnStubs.insert(Name);
         O << "L" << Name << "$stub";
-        return;
-      }
-
-      // Link-once, External, or Weakly-linked global variables need 
-      // non-lazily-resolved stubs
-      if (GV->hasLinkOnceLinkage()) {
+      } else if (GV->hasLinkOnceLinkage()) {
+        // Link-once, External, or Weakly-linked global variables need 
+        // non-lazily-resolved stubs
         LinkOnceStubs.insert(Name);
         O << "L" << Name << "$non_lazy_ptr";
-        return;
-      }
-      if (GV->isExternal() || GV->hasWeakLinkage()) {
+      } else if (GV->isExternal() || GV->hasWeakLinkage()) {
         GVStubs.insert(Name);
         O << "L" << Name << "$non_lazy_ptr";
-        return;
+      } else {
+        O << Mang->getValueName(GV);
       }
-      O << Mang->getValueName(GV);
+      int Offset = MO.getOffset();
+      if (Offset > 0)
+        O << "+" << Offset;
+      else if (Offset < 0)
+        O << Offset;
       return;
     }
     if (!isCallOp) O << '$';