aboutsummaryrefslogtreecommitdiff
path: root/lib/Target/X86/X86AsmPrinter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Target/X86/X86AsmPrinter.cpp')
-rw-r--r--lib/Target/X86/X86AsmPrinter.cpp19
1 files changed, 6 insertions, 13 deletions
diff --git a/lib/Target/X86/X86AsmPrinter.cpp b/lib/Target/X86/X86AsmPrinter.cpp
index 561a0b106d..85cc3c28bd 100644
--- a/lib/Target/X86/X86AsmPrinter.cpp
+++ b/lib/Target/X86/X86AsmPrinter.cpp
@@ -43,13 +43,9 @@ AsmWriterFlavor("x86-asm-syntax",
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 @@ bool X86SharedAsmPrinter::doInitialization(Module &M) {
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 @@ bool X86SharedAsmPrinter::doFinalization(Module &M) {
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 @@ bool X86SharedAsmPrinter::doFinalization(Module &M) {
}
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);
}