Mac OS X should use 0x90 to fill in gaps to satisfy function alignment requirements.
authorEvan Cheng <evan.cheng@apple.com>
Wed, 25 Jul 2007 23:36:05 +0000 (23:36 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Wed, 25 Jul 2007 23:36:05 +0000 (23:36 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40501 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86ATTAsmPrinter.cpp

index 07670ea62beaaba321bf1276bbdc4491a42f65bf..4c707df1e3967951fc669566f34d0f5b14cce063 100644 (file)
@@ -99,19 +99,28 @@ bool X86ATTAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
   switch (F->getLinkage()) {
   default: assert(0 && "Unknown linkage type!");
   case Function::InternalLinkage:  // Symbols default to internal.
-    EmitAlignment(4, F);     // FIXME: This should be parameterized somewhere.
+    if (Subtarget->isTargetDarwin())
+      // FIXME: This should be parameterized somewhere.
+      EmitAlignment(4, F, 0, true, 0x90);
+    else
+      EmitAlignment(4, F);     // FIXME: This should be parameterized somewhere.
     break;
   case Function::DLLExportLinkage:
     DLLExportedFns.insert(Mang->makeNameProper(F->getName(), ""));
     //FALLS THROUGH
   case Function::ExternalLinkage:
-    EmitAlignment(4, F);     // FIXME: This should be parameterized somewhere.
+    if (Subtarget->isTargetDarwin())
+      // FIXME: This should be parameterized somewhere.
+      EmitAlignment(4, F, 0, true, 0x90);
+    else
+      EmitAlignment(4, F);     // FIXME: This should be parameterized somewhere.
     O << "\t.globl\t" << CurrentFnName << "\n";    
     break;
   case Function::LinkOnceLinkage:
   case Function::WeakLinkage:
     if (Subtarget->isTargetDarwin()) {
-      EmitAlignment(4, F);     // FIXME: This should be parameterized somewhere.
+      // FIXME: This should be parameterized somewhere.
+      EmitAlignment(4, F, 0, true, 0x90);
       O << "\t.globl\t" << CurrentFnName << "\n";
       O << "\t.weak_definition\t" << CurrentFnName << "\n";
     } else if (Subtarget->isTargetCygMing()) {