summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Sparc/SparcAsmPrinter.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-02-10 07:35:42 +0000
committerChris Lattner <sabre@nondot.org>2006-02-10 07:35:42 +0000
commitfcb8a3aa76f8073193e69918e8bbd4a6c5a2f5fb (patch)
treec804f20edc3656a9023cdaa42288b0a00025c054 /llvm/lib/Target/Sparc/SparcAsmPrinter.cpp
parent0c4dea4cb2c109e17d21982821dea48a64635006 (diff)
downloadbcm5719-llvm-fcb8a3aa76f8073193e69918e8bbd4a6c5a2f5fb.tar.gz
bcm5719-llvm-fcb8a3aa76f8073193e69918e8bbd4a6c5a2f5fb.zip
Use the auto-generated call matcher. Remove a broken impl of the frameaddr/returnaddr
intrinsics. Autogen frameindex matcher llvm-svn: 26107
Diffstat (limited to 'llvm/lib/Target/Sparc/SparcAsmPrinter.cpp')
-rw-r--r--llvm/lib/Target/Sparc/SparcAsmPrinter.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/llvm/lib/Target/Sparc/SparcAsmPrinter.cpp b/llvm/lib/Target/Sparc/SparcAsmPrinter.cpp
index 2e88db63052..6d5c8506859 100644
--- a/llvm/lib/Target/Sparc/SparcAsmPrinter.cpp
+++ b/llvm/lib/Target/Sparc/SparcAsmPrinter.cpp
@@ -57,7 +57,8 @@ namespace {
}
void printOperand(const MachineInstr *MI, int opNum);
- void printMemOperand(const MachineInstr *MI, int opNum);
+ void printMemOperand(const MachineInstr *MI, int opNum,
+ const char *Modifier = 0);
void printCCOperand(const MachineInstr *MI, int opNum);
bool printInstruction(const MachineInstr *MI); // autogenerated.
@@ -189,8 +190,17 @@ void SparcAsmPrinter::printOperand(const MachineInstr *MI, int opNum) {
if (CloseParen) O << ")";
}
-void SparcAsmPrinter::printMemOperand(const MachineInstr *MI, int opNum) {
+void SparcAsmPrinter::printMemOperand(const MachineInstr *MI, int opNum,
+ const char *Modifier) {
printOperand(MI, opNum);
+
+ // If this is an ADD operand, emit it like normal operands.
+ if (Modifier && !strcmp(Modifier, "arith")) {
+ O << ", ";
+ printOperand(MI, opNum+1);
+ return;
+ }
+
MachineOperand::MachineOperandType OpTy = MI->getOperand(opNum+1).getType();
if ((OpTy == MachineOperand::MO_VirtualRegister ||
OpenPOWER on IntegriCloud