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)
|
if (Needfptr)
|
||||||
O << "@fptr(";
|
O << "@fptr(";
|
||||||
O << Mang->getValueName(MO.getGlobal());
|
O << Mang->getValueName(MO.getGlobal());
|
||||||
if (Needfptr)
|
|
||||||
O << ")"; // close fptr(
|
if (Needfptr && !isBRCALLinsn)
|
||||||
if (!isBRCALLinsn)
|
O << "#))"; // close both fptr( and ltoff(
|
||||||
O << ")"; // close ltoff(
|
else {
|
||||||
|
if (Needfptr)
|
||||||
|
O << "#)"; // close only fptr(
|
||||||
|
if (!isBRCALLinsn)
|
||||||
|
O << "#)"; // close only ltoff(
|
||||||
|
}
|
||||||
|
|
||||||
int Offset = MO.getOffset();
|
int Offset = MO.getOffset();
|
||||||
if (Offset > 0)
|
if (Offset > 0)
|
||||||
O << " + " << Offset;
|
O << " + " << Offset;
|
||||||
|
@ -293,11 +299,11 @@ bool IA64AsmPrinter::doFinalization(Module &M) {
|
||||||
I->hasWeakLinkage() /* FIXME: Verify correct */)) {
|
I->hasWeakLinkage() /* FIXME: Verify correct */)) {
|
||||||
SwitchSection(".data", I);
|
SwitchSection(".data", I);
|
||||||
if (I->hasInternalLinkage()) {
|
if (I->hasInternalLinkage()) {
|
||||||
O << "\t.lcomm " << name << "," << TD.getTypeSize(C->getType())
|
O << "\t.lcomm " << name << "#," << TD.getTypeSize(C->getType())
|
||||||
<< "," << (1 << Align);
|
<< "," << (1 << Align);
|
||||||
O << "\t\t// ";
|
O << "\t\t// ";
|
||||||
} else {
|
} else {
|
||||||
O << "\t.common " << name << "," << TD.getTypeSize(C->getType())
|
O << "\t.common " << name << "#," << TD.getTypeSize(C->getType())
|
||||||
<< "," << (1 << Align);
|
<< "," << (1 << Align);
|
||||||
O << "\t\t// ";
|
O << "\t\t// ";
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue