diff options
author | Chris Lattner <sabre@nondot.org> | 2005-11-21 06:47:58 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2005-11-21 06:47:58 +0000 |
commit | f55366e3c269505b2ecb0173a2ece59acf1b5df8 (patch) | |
tree | fe9e1c1df585fd508768373e751171932a66f771 /lib/Target/PowerPC/PPCAsmPrinter.cpp | |
parent | c41cc83117bbc8fe3951a1b5f14a484fabb8ab63 (diff) |
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
Diffstat (limited to 'lib/Target/PowerPC/PPCAsmPrinter.cpp')
-rw-r--r-- | lib/Target/PowerPC/PPCAsmPrinter.cpp | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/lib/Target/PowerPC/PPCAsmPrinter.cpp b/lib/Target/PowerPC/PPCAsmPrinter.cpp index 8e3ed6a0ea..666f65515c 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]); } } |