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
diff --git a/lib/Target/ARM/ARMTargetAsmInfo.cpp b/lib/Target/ARM/ARMTargetAsmInfo.cpp
index c9c81dc..85e9d64 100644
--- a/lib/Target/ARM/ARMTargetAsmInfo.cpp
+++ b/lib/Target/ARM/ARMTargetAsmInfo.cpp
@@ -42,21 +42,16 @@
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 7221624..08ad76d 100644
--- a/lib/Target/DarwinTargetAsmInfo.cpp
+++ b/lib/Target/DarwinTargetAsmInfo.cpp
@@ -26,6 +26,8 @@
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 @@
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 4f69f7e..58926e3 100644
--- a/lib/Target/PowerPC/PPCTargetAsmInfo.cpp
+++ b/lib/Target/PowerPC/PPCTargetAsmInfo.cpp
@@ -22,19 +22,13 @@
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 53533ac..a07b2cc 100644
--- a/lib/Target/X86/X86TargetAsmInfo.cpp
+++ b/lib/Target/X86/X86TargetAsmInfo.cpp
@@ -45,7 +45,6 @@
const X86Subtarget *Subtarget = &TM.getSubtarget<X86Subtarget>();
bool is64Bit = Subtarget->is64Bit();
- AlignmentIsInBytes = false;
TextAlignFillValue = 0x90;
if (!is64Bit)
@@ -53,7 +52,6 @@
// Leopard and above support aligned common symbols.
COMMDirectiveTakesAlignment = (Subtarget->getDarwinVers() >= 9);
- HasDotTypeDotSizeDirective = false;
if (is64Bit) {
PersonalityPrefix = "";
@@ -67,16 +65,12 @@
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;
}