Author: evancheng Date: Wed Jul 25 18:36:05 2007 New Revision: 40501 URL: http://llvm.org/viewvc/llvm-project?rev=40501&view=rev Log: Mac OS X should use 0x90 to fill in gaps to satisfy function alignment requirements.
Modified: llvm/trunk/lib/Target/X86/X86ATTAsmPrinter.cpp Modified: llvm/trunk/lib/Target/X86/X86ATTAsmPrinter.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ATTAsmPrinter.cpp?rev=40501&r1=40500&r2=40501&view=diff ============================================================================== --- llvm/trunk/lib/Target/X86/X86ATTAsmPrinter.cpp (original) +++ llvm/trunk/lib/Target/X86/X86ATTAsmPrinter.cpp Wed Jul 25 18:36:05 2007 @@ -99,19 +99,28 @@ 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()) { _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits