X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=lib%2FTarget%2FDarwinTargetAsmInfo.cpp;h=c37b41b7001743c098b220d9d94e0d05749f04dc;hb=a8c58d572b294c90bde4b78a0121d73db78590db;hp=24bc9a5fa79cdb7042f42575c7c7b351d9c262a6;hpb=80ec2792b2b271eca55743a3cc4c8bca214fa705;p=oota-llvm.git diff --git a/lib/Target/DarwinTargetAsmInfo.cpp b/lib/Target/DarwinTargetAsmInfo.cpp index 24bc9a5fa79..c37b41b7001 100644 --- a/lib/Target/DarwinTargetAsmInfo.cpp +++ b/lib/Target/DarwinTargetAsmInfo.cpp @@ -12,22 +12,10 @@ // //===----------------------------------------------------------------------===// -#include "llvm/Constants.h" -#include "llvm/DerivedTypes.h" -#include "llvm/Function.h" -#include "llvm/GlobalVariable.h" -#include "llvm/ADT/StringExtras.h" -#include "llvm/Support/ErrorHandling.h" -#include "llvm/Support/Mangler.h" #include "llvm/Target/DarwinTargetAsmInfo.h" -#include "llvm/Target/TargetMachine.h" -#include "llvm/Target/TargetData.h" - using namespace llvm; -DarwinTargetAsmInfo::DarwinTargetAsmInfo(const TargetMachine &TM) - : TargetAsmInfo(TM) { - +DarwinTargetAsmInfo::DarwinTargetAsmInfo() { // Common settings for all Darwin targets. // Syntax: GlobalPrefix = "_"; @@ -38,6 +26,10 @@ DarwinTargetAsmInfo::DarwinTargetAsmInfo(const TargetMachine &TM) AllowQuotesInName = true; HasSingleParameterDotFile = false; + AlignmentIsInBytes = false; + InlineAsmStart = " InlineAsm Start"; + InlineAsmEnd = " InlineAsm End"; + // In non-PIC modes, emit a special label before jump tables so that the // linker can perform more accurate dead code stripping. We do not check the // relocation model here since it can be overridden later. @@ -47,22 +39,21 @@ DarwinTargetAsmInfo::DarwinTargetAsmInfo(const TargetMachine &TM) WeakDefDirective = "\t.weak_definition "; WeakRefDirective = "\t.weak_reference "; HiddenDirective = "\t.private_extern "; - + LCOMMDirective = "\t.lcomm\t"; + ZeroDirective = "\t.space\t"; // ".space N" emits N zeros. + ZeroFillDirective = "\t.zerofill\t"; // Uses .zerofill + SetDirective = "\t.set"; + ProtectedDirective = "\t.globl\t"; + HasDotTypeDotSizeDirective = false; + UsedDirective = "\t.no_dead_strip\t"; + // _foo.eh symbols are currently always exported so that the linker knows - // about them. This may not strictly be necessary on 10.6 and later, but it + // about them. This is not necessary on 10.6 and later, but it // doesn't hurt anything. + // FIXME: I need to get this from Triple. Is_EHSymbolPrivate = false; - - DwarfAbbrevSection = ".section __DWARF,__debug_abbrev,regular,debug"; - DwarfInfoSection = ".section __DWARF,__debug_info,regular,debug"; - DwarfLineSection = ".section __DWARF,__debug_line,regular,debug"; - DwarfFrameSection = ".section __DWARF,__debug_frame,regular,debug"; - DwarfPubNamesSection = ".section __DWARF,__debug_pubnames,regular,debug"; - DwarfPubTypesSection = ".section __DWARF,__debug_pubtypes,regular,debug"; - DwarfStrSection = ".section __DWARF,__debug_str,regular,debug"; - DwarfLocSection = ".section __DWARF,__debug_loc,regular,debug"; - DwarfARangesSection = ".section __DWARF,__debug_aranges,regular,debug"; - DwarfRangesSection = ".section __DWARF,__debug_ranges,regular,debug"; - DwarfMacroInfoSection = ".section __DWARF,__debug_macinfo,regular,debug"; + GlobalEHDirective = "\t.globl\t"; + SupportsWeakOmittedEHFrame = false; + }