factorize more darwin TAI stuff. Note that this gives
authorChris Lattner <sabre@nondot.org>
Tue, 11 Aug 2009 22:31:42 +0000 (22:31 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 11 Aug 2009 22:31:42 +0000 (22:31 +0000)
darwin/arm support for .no_dead_strip

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78734 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMTargetAsmInfo.cpp
lib/Target/DarwinTargetAsmInfo.cpp
lib/Target/PowerPC/PPCTargetAsmInfo.cpp
lib/Target/X86/X86TargetAsmInfo.cpp

index c9c81dcd2abecfafd80624f936492cbb234f3b39..85e9d6428eb8b2682a4f28f98feda4cce9cd07ce 100644 (file)
@@ -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;
 }
 
index 722162463350e8cee458cb7ce4745133cbb8b1ab..08ad76d40fb6e132c95b9e8a96dc94b6b00ddbb6 100644 (file)
@@ -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;
+
 }
 
index 4f69f7ed3f41485308eb05baa8c7a8a5fb69231d..58926e3b87d5f1d78decda909ca7676717370797 100644 (file)
@@ -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();
index 53533ace9655925845cdc14f377862756bb18d03..a07b2cc2b5b1c45ebdb07cece8e8d373f5456ebf 100644 (file)
@@ -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;
 }