forked from OSchip/llvm-project
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
This commit is contained in:
parent
42c01c8d39
commit
36a2ee299e
|
@ -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// ";
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue