From 36a2ee299e35db340f5677512d0811ea693acd48 Mon Sep 17 00:00:00 2001 From: Duraid Madina Date: Thu, 16 Feb 2006 13:12:57 +0000 Subject: [PATCH] distinguish between objects and register names, now we can have stuff with names like "f84", "in6" etc etc. this should fix one or two tests llvm-svn: 26232 --- llvm/lib/Target/IA64/IA64AsmPrinter.cpp | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/llvm/lib/Target/IA64/IA64AsmPrinter.cpp b/llvm/lib/Target/IA64/IA64AsmPrinter.cpp index 2c2a6d6c9b2d..d779104701c9 100644 --- a/llvm/lib/Target/IA64/IA64AsmPrinter.cpp +++ b/llvm/lib/Target/IA64/IA64AsmPrinter.cpp @@ -235,10 +235,16 @@ void IA64AsmPrinter::printOp(const MachineOperand &MO, if (Needfptr) O << "@fptr("; O << Mang->getValueName(MO.getGlobal()); - if (Needfptr) - O << ")"; // close fptr( - if (!isBRCALLinsn) - O << ")"; // close ltoff( + + if (Needfptr && !isBRCALLinsn) + O << "#))"; // close both fptr( and ltoff( + else { + if (Needfptr) + O << "#)"; // close only fptr( + if (!isBRCALLinsn) + O << "#)"; // close only ltoff( + } + int Offset = MO.getOffset(); if (Offset > 0) O << " + " << Offset; @@ -293,11 +299,11 @@ bool IA64AsmPrinter::doFinalization(Module &M) { I->hasWeakLinkage() /* FIXME: Verify correct */)) { SwitchSection(".data", I); if (I->hasInternalLinkage()) { - O << "\t.lcomm " << name << "," << TD.getTypeSize(C->getType()) + O << "\t.lcomm " << name << "#," << TD.getTypeSize(C->getType()) << "," << (1 << Align); O << "\t\t// "; } else { - O << "\t.common " << name << "," << TD.getTypeSize(C->getType()) + O << "\t.common " << name << "#," << TD.getTypeSize(C->getType()) << "," << (1 << Align); O << "\t\t// "; }