From f55366e3c269505b2ecb0173a2ece59acf1b5df8 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Mon, 21 Nov 2005 06:47:58 +0000 Subject: [PATCH] set PrivateGlobalPrefix on darwin, use it when printing out CP references git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24441 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/PowerPC/PPCAsmPrinter.cpp | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/lib/Target/PowerPC/PPCAsmPrinter.cpp b/lib/Target/PowerPC/PPCAsmPrinter.cpp index 8e3ed6a0ea3..666f65515c1 100644 --- a/lib/Target/PowerPC/PPCAsmPrinter.cpp +++ b/lib/Target/PowerPC/PPCAsmPrinter.cpp @@ -230,6 +230,7 @@ namespace { : PPCAsmPrinter(O, TM) { CommentString = ";"; GlobalPrefix = "_"; + PrivateGlobalPrefix = "L"; // Marker for constant pool idxs ZeroDirective = "\t.space\t"; // ".space N" emits N zeros. Data64bitsDirective = 0; // we can't emit a 64-bit unit AlignmentIsInBytes = false; // Alignment is by power of 2. @@ -326,7 +327,8 @@ void PPCAsmPrinter::printOp(const MachineOperand &MO) { } case MachineOperand::MO_ConstantPoolIndex: - O << "LCPI" << FunctionNumber << '_' << MO.getConstantPoolIndex(); + O << PrivateGlobalPrefix << "CPI" << FunctionNumber + << '_' << MO.getConstantPoolIndex(); return; case MachineOperand::MO_ExternalSymbol: @@ -447,16 +449,16 @@ void DarwinAsmPrinter::printConstantPool(MachineConstantPool *MCP) { if (CP.empty()) return; + SwitchSection(".const", 0); for (unsigned i = 0, e = CP.size(); i != e; ++i) { - SwitchSection(".const", 0); // FIXME: force doubles to be naturally aligned. We should handle this // more correctly in the future. - if (Type::DoubleTy == CP[i]->getType()) + if (CP[i]->getType() == Type::DoubleTy) emitAlignment(3); else emitAlignment(TD.getTypeAlignmentShift(CP[i]->getType())); - O << "LCPI" << FunctionNumber << '_' << i << ":\t\t\t\t\t" << CommentString - << *CP[i] << '\n'; + O << PrivateGlobalPrefix << "CPI" << FunctionNumber << '_' << i + << ":\t\t\t\t\t" << CommentString << *CP[i] << '\n'; emitGlobalConstant(CP[i]); } } @@ -664,8 +666,8 @@ void AIXAsmPrinter::printConstantPool(MachineConstantPool *MCP) { SwitchSection(".const", 0); O << "\t.align " << (unsigned)TD.getTypeAlignment(CP[i]->getType()) << "\n"; - O << "LCPI" << FunctionNumber << '_' << i << ":\t\t\t\t\t;" - << *CP[i] << '\n'; + O << PrivateGlobalPrefix << "CPI" << FunctionNumber << '_' << i + << ":\t\t\t\t\t;" << *CP[i] << '\n'; emitGlobalConstant(CP[i]); } }