Use HasDotTypeDotSizeDirective instead of forELF
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24481 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/X86/X86AsmPrinter.cpp b/lib/Target/X86/X86AsmPrinter.cpp
index 561a0b1..85cc3c2 100644
--- a/lib/Target/X86/X86AsmPrinter.cpp
+++ b/lib/Target/X86/X86AsmPrinter.cpp
@@ -43,13 +43,9 @@
bool X86SharedAsmPrinter::doInitialization(Module &M) {
const X86Subtarget *Subtarget = &TM.getSubtarget<X86Subtarget>();
- forELF = false;
forDarwin = false;
switch (Subtarget->TargetType) {
- case X86Subtarget::isELF:
- forELF = true;
- break;
case X86Subtarget::isDarwin:
AlignmentIsInBytes = false;
GlobalPrefix = "_";
@@ -59,14 +55,17 @@
ConstantPoolSection = "\t.const\n";
LCOMMDirective = "\t.lcomm\t";
COMMDirectiveTakesAlignment = false;
+ HasDotTypeDotSizeDirective = false;
forDarwin = true;
break;
case X86Subtarget::isCygwin:
GlobalPrefix = "_";
COMMDirectiveTakesAlignment = false;
+ HasDotTypeDotSizeDirective = false;
break;
case X86Subtarget::isWindows:
GlobalPrefix = "_";
+ HasDotTypeDotSizeDirective = false;
break;
default: break;
}
@@ -96,9 +95,7 @@
O << COMMDirective << name << "," << Size;
if (COMMDirectiveTakesAlignment)
O << "," << (1 << Align);
- O << "\t\t# ";
- WriteAsOperand(O, I, true, true, &M);
- O << "\n";
+ O << "\t\t" << CommentString << " " << I->getName() << "\n";
continue;
}
@@ -137,15 +134,11 @@
}
EmitAlignment(Align);
- if (forELF) {
+ if (HasDotTypeDotSizeDirective) {
O << "\t.type " << name << ",@object\n";
O << "\t.size " << name << "," << Size << "\n";
}
- O << name << ":\t\t\t\t# ";
- WriteAsOperand(O, I, true, true, &M);
- O << " = ";
- WriteAsOperand(O, C, false, false, &M);
- O << "\n";
+ O << name << ":\t\t\t" << CommentString << ' ' << I->getName() << '\n';
EmitGlobalConstant(C);
}