diff options
author | Chris Lattner <sabre@nondot.org> | 2009-08-11 22:31:42 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-08-11 22:31:42 +0000 |
commit | e28a2e8b70e926324575ddec0a1565c6dba7d404 (patch) | |
tree | a6903d6001a6e72c8213a4d7cd98bae3dfe0c3cc | |
parent | 0c420fc20adc7db2b08065923d13194cf42094f3 (diff) |
factorize more darwin TAI stuff. Note that this gives
darwin/arm support for .no_dead_strip
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78734 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/ARM/ARMTargetAsmInfo.cpp | 5 | ||||
-rw-r--r-- | lib/Target/DarwinTargetAsmInfo.cpp | 7 | ||||
-rw-r--r-- | lib/Target/PowerPC/PPCTargetAsmInfo.cpp | 6 | ||||
-rw-r--r-- | lib/Target/X86/X86TargetAsmInfo.cpp | 6 |
4 files changed, 7 insertions, 17 deletions
diff --git a/lib/Target/ARM/ARMTargetAsmInfo.cpp b/lib/Target/ARM/ARMTargetAsmInfo.cpp index c9c81dcd2a..85e9d6428e 100644 --- a/lib/Target/ARM/ARMTargetAsmInfo.cpp +++ b/lib/Target/ARM/ARMTargetAsmInfo.cpp @@ -42,21 +42,16 @@ static const char *const arm_asm_table[] = { ARMDarwinTargetAsmInfo::ARMDarwinTargetAsmInfo() { AsmTransCBE = arm_asm_table; - AlignmentIsInBytes = false; Data64bitsDirective = 0; CommentString = "@"; COMMDirectiveTakesAlignment = false; InlineAsmStart = "@ InlineAsm Start"; InlineAsmEnd = "@ InlineAsm End"; - - HasDotTypeDotSizeDirective = false; SupportsDebugInformation = true; // Exceptions handling ExceptionsType = ExceptionHandling::SjLj; - GlobalEHDirective = "\t.globl\t"; - SupportsWeakOmittedEHFrame = false; AbsoluteEHSectionOffsets = false; } diff --git a/lib/Target/DarwinTargetAsmInfo.cpp b/lib/Target/DarwinTargetAsmInfo.cpp index 7221624633..08ad76d40f 100644 --- a/lib/Target/DarwinTargetAsmInfo.cpp +++ b/lib/Target/DarwinTargetAsmInfo.cpp @@ -26,6 +26,8 @@ DarwinTargetAsmInfo::DarwinTargetAsmInfo() { AllowQuotesInName = true; HasSingleParameterDotFile = false; + AlignmentIsInBytes = false; + // 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. @@ -40,11 +42,16 @@ DarwinTargetAsmInfo::DarwinTargetAsmInfo() { 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 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; + GlobalEHDirective = "\t.globl\t"; + SupportsWeakOmittedEHFrame = false; + } diff --git a/lib/Target/PowerPC/PPCTargetAsmInfo.cpp b/lib/Target/PowerPC/PPCTargetAsmInfo.cpp index 4f69f7ed3f..58926e3b87 100644 --- a/lib/Target/PowerPC/PPCTargetAsmInfo.cpp +++ b/lib/Target/PowerPC/PPCTargetAsmInfo.cpp @@ -22,19 +22,13 @@ using namespace llvm::dwarf; PPCDarwinTargetAsmInfo::PPCDarwinTargetAsmInfo(const PPCTargetMachine &TM) { PCSymbol = "."; CommentString = ";"; - UsedDirective = "\t.no_dead_strip\t"; ExceptionsType = ExceptionHandling::Dwarf; - GlobalEHDirective = "\t.globl\t"; - SupportsWeakOmittedEHFrame = false; - const PPCSubtarget *Subtarget = &TM.getSubtarget<PPCSubtarget>(); bool isPPC64 = Subtarget->isPPC64(); if (!isPPC64) Data64bitsDirective = 0; // we can't emit a 64-bit unit - AlignmentIsInBytes = false; - LCOMMDirective = "\t.lcomm\t"; InlineAsmStart = "# InlineAsm Start"; InlineAsmEnd = "# InlineAsm End"; AssemblerDialect = Subtarget->getAsmFlavor(); diff --git a/lib/Target/X86/X86TargetAsmInfo.cpp b/lib/Target/X86/X86TargetAsmInfo.cpp index 53533ace96..a07b2cc2b5 100644 --- a/lib/Target/X86/X86TargetAsmInfo.cpp +++ b/lib/Target/X86/X86TargetAsmInfo.cpp @@ -45,7 +45,6 @@ X86DarwinTargetAsmInfo::X86DarwinTargetAsmInfo(const X86TargetMachine &TM) { const X86Subtarget *Subtarget = &TM.getSubtarget<X86Subtarget>(); bool is64Bit = Subtarget->is64Bit(); - AlignmentIsInBytes = false; TextAlignFillValue = 0x90; if (!is64Bit) @@ -53,7 +52,6 @@ X86DarwinTargetAsmInfo::X86DarwinTargetAsmInfo(const X86TargetMachine &TM) { // Leopard and above support aligned common symbols. COMMDirectiveTakesAlignment = (Subtarget->getDarwinVers() >= 9); - HasDotTypeDotSizeDirective = false; if (is64Bit) { PersonalityPrefix = ""; @@ -67,16 +65,12 @@ X86DarwinTargetAsmInfo::X86DarwinTargetAsmInfo(const X86TargetMachine &TM) { InlineAsmEnd = "## InlineAsm End"; CommentString = "##"; PCSymbol = "."; - UsedDirective = "\t.no_dead_strip\t"; - ProtectedDirective = "\t.globl\t"; SupportsDebugInformation = true; DwarfUsesInlineInfoSection = true; // Exceptions handling ExceptionsType = ExceptionHandling::Dwarf; - GlobalEHDirective = "\t.globl\t"; - SupportsWeakOmittedEHFrame = false; AbsoluteEHSectionOffsets = false; } |