[llvm-commits] CVS: llvm/lib/Target/X86/X86ATTAsmPrinter.cpp

Evan Cheng evan.cheng at apple.com
Mon Aug 28 15:14:31 PDT 2006



Changes in directory llvm/lib/Target/X86:

X86ATTAsmPrinter.cpp updated: 1.56 -> 1.57
---
Log message:

On Mac, print jump table entries after the function to work around a linker issue.

---
Diffs of the changes:  (+6 -3)

 X86ATTAsmPrinter.cpp |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)


Index: llvm/lib/Target/X86/X86ATTAsmPrinter.cpp
diff -u llvm/lib/Target/X86/X86ATTAsmPrinter.cpp:1.56 llvm/lib/Target/X86/X86ATTAsmPrinter.cpp:1.57
--- llvm/lib/Target/X86/X86ATTAsmPrinter.cpp:1.56	Wed Jul 26 21:05:13 2006
+++ llvm/lib/Target/X86/X86ATTAsmPrinter.cpp	Mon Aug 28 17:14:16 2006
@@ -38,9 +38,6 @@
   // Print out constants referenced by the function
   EmitConstantPool(MF.getConstantPool());
 
-  // Print out jump tables referenced by the function
-  EmitJumpTableInfo(MF.getJumpTableInfo());
-  
   // Print out labels for the function.
   const Function *F = MF.getFunction();
   switch (F->getLinkage()) {
@@ -98,6 +95,12 @@
       printMachineInstruction(II);
     }
   }
+
+  // Print out jump tables referenced by the function
+  // Mac OS X requires at least one non-local (e.g. L1) labels before local
+  // lables that are used in jump table expressions (e.g. LBB1_1-LJT1_0).
+  EmitJumpTableInfo(MF.getJumpTableInfo());
+  
   if (HasDotTypeDotSizeDirective)
     O << "\t.size " << CurrentFnName << ", .-" << CurrentFnName << "\n";
 






More information about the llvm-commits mailing list