[llvm-commits] CVS: llvm/lib/Target/X86/X86AsmPrinter.cpp
Nate Begeman
natebegeman at mac.com
Wed Jun 29 17:53:32 PDT 2005
Changes in directory llvm/lib/Target/X86:
X86AsmPrinter.cpp updated: 1.137 -> 1.138
---
Log message:
Make the x86 asm printer darwin-aware. This mostly entails doing the same
thing as cygwin most of the time, and printing our alignments in log2
rather than number of bytes.
---
Diffs of the changes: (+15 -12)
X86AsmPrinter.cpp | 27 +++++++++++++++------------
1 files changed, 15 insertions(+), 12 deletions(-)
Index: llvm/lib/Target/X86/X86AsmPrinter.cpp
diff -u llvm/lib/Target/X86/X86AsmPrinter.cpp:1.137 llvm/lib/Target/X86/X86AsmPrinter.cpp:1.138
--- llvm/lib/Target/X86/X86AsmPrinter.cpp:1.137 Mon Jun 20 14:59:22 2005
+++ llvm/lib/Target/X86/X86AsmPrinter.cpp Wed Jun 29 19:53:20 2005
@@ -44,12 +44,13 @@
struct X86SharedAsmPrinter : public AsmPrinter {
X86SharedAsmPrinter(std::ostream &O, TargetMachine &TM)
- : AsmPrinter(O, TM), forCygwin(false) { }
+ : AsmPrinter(O, TM), forCygwin(false), forDarwin(false) { }
bool doInitialization(Module &M);
void printConstantPool(MachineConstantPool *MCP);
bool doFinalization(Module &M);
bool forCygwin;
+ bool forDarwin;
};
}
@@ -82,20 +83,22 @@
/// doInitialization - determine
bool X86SharedAsmPrinter::doInitialization(Module& M) {
- forCygwin = false;
const std::string& TT = M.getTargetTriple();
- if (TT.length() > 5)
+ if (TT.length() > 5) {
forCygwin = TT.find("cygwin") != std::string::npos ||
TT.find("mingw") != std::string::npos;
- else if (TT.empty()) {
+ forDarwin = TT.find("darwin") != std::string::npos;
+ } else if (TT.empty()) {
#if defined(__CYGWIN__) || defined(__MINGW32__)
forCygwin = true;
-#else
- forCygwin = false;
+#elif defined(__MACOSX__)
+ forDarwin = true;
#endif
}
- if (forCygwin)
+ if (forCygwin || forDarwin)
GlobalPrefix = "_";
+ if (forDarwin)
+ AlignmentIsInBytes = false;
return AsmPrinter::doInitialization(M);
}
@@ -173,7 +176,7 @@
}
emitAlignment(Align);
- if (!forCygwin) {
+ if (!forCygwin && !forDarwin) {
O << "\t.type " << name << ", at object\n";
O << "\t.size " << name << "," << Size << "\n";
}
@@ -264,7 +267,7 @@
O << "\t.text\n";
emitAlignment(4);
O << "\t.globl\t" << CurrentFnName << "\n";
- if (!forCygwin)
+ if (!forCygwin && !forDarwin)
O << "\t.type\t" << CurrentFnName << ", @function\n";
O << CurrentFnName << ":\n";
@@ -312,7 +315,7 @@
case MachineOperand::MO_MachineBasicBlock: {
MachineBasicBlock *MBBOp = MO.getMachineBasicBlock();
O << ".LBB" << Mang->getValueName(MBBOp->getParent()->getFunction())
- << "_" << MBBOp->getNumber () << "\t# "
+ << "_" << MBBOp->getNumber () << '\t' << CommentString
<< MBBOp->getBasicBlock ()->getName ();
return;
}
@@ -488,7 +491,7 @@
O << "\t.text\n";
emitAlignment(4);
O << "\t.globl\t" << CurrentFnName << "\n";
- if (!forCygwin)
+ if (!forCygwin && !forDarwin)
O << "\t.type\t" << CurrentFnName << ", @function\n";
O << CurrentFnName << ":\n";
@@ -530,7 +533,7 @@
case MachineOperand::MO_MachineBasicBlock: {
MachineBasicBlock *MBBOp = MO.getMachineBasicBlock();
O << ".LBB" << Mang->getValueName(MBBOp->getParent()->getFunction())
- << "_" << MBBOp->getNumber () << "\t# "
+ << "_" << MBBOp->getNumber () << '\t' << CommentString
<< MBBOp->getBasicBlock ()->getName ();
return;
}
More information about the llvm-commits
mailing list