diff options
author | Vikram S. Adve <vadve@cs.uiuc.edu> | 2001-10-20 21:33:50 +0000 |
---|---|---|
committer | Vikram S. Adve <vadve@cs.uiuc.edu> | 2001-10-20 21:33:50 +0000 |
commit | 2827d528684be221c0d6cf65d2e266e903cf61de (patch) | |
tree | a82589068a5ef2a17b85c2c3a76b72b65bdc6fa6 /lib | |
parent | ea21a6c82acb8ed58f60cc27dcc1584a618eacaa (diff) |
Fixed printing of offset operand for RETURN instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@928 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Target/SparcV9/SparcV9AsmPrinter.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/lib/Target/SparcV9/SparcV9AsmPrinter.cpp b/lib/Target/SparcV9/SparcV9AsmPrinter.cpp index 6c6d3a3de8..1280d5ac6d 100644 --- a/lib/Target/SparcV9/SparcV9AsmPrinter.cpp +++ b/lib/Target/SparcV9/SparcV9AsmPrinter.cpp @@ -110,7 +110,7 @@ private : case BRLEZ: case BRLZ: case BRNZ: case BRGZ: case BRGEZ: return 1 << 0; - case RETURN: return 1 << 1; // Remove Arg #2 which is zero + // case RETURN: return 1 << 1; // Remove Arg #2 which is zero default: return 0; // By default, don't hack operands... } @@ -140,6 +140,8 @@ void SparcAsmPrinter::printOperand(const MachineOperand &Op) { Out << "\t<*NULL Value*>"; } else if (const BasicBlock *BB = dyn_cast<const BasicBlock>(Val)) { Out << getID(BB); + } else if (const Method *M = dyn_cast<const Method>(Val)) { + Out << getID(M); } else { Out << "<unknown value=" << Val << ">"; } @@ -171,6 +173,15 @@ void SparcAsmPrinter::emitMachineInst(const MachineInstr *MI) { printOperand(MI->getOperand(2)); Out << endl; return; + + case RETURN: + assert(MI->getNumOperands() == 2 && "Unexpected RETURN instr!"); + printOperand(MI->getOperand(0)); + Out << "+"; + printOperand(MI->getOperand(1)); + Out << endl; + return; + default: break; } |