diff options
author | Chris Lattner <sabre@nondot.org> | 2009-10-19 20:59:55 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-10-19 20:59:55 +0000 |
commit | 8bc86cba60fbb35fbfb52cc32b9e451e6b903a27 (patch) | |
tree | 1440ffd7dfd7e16d4dfbbf6a7450dd85b2984ea1 /lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp | |
parent | 9cf0eb5e58fa42802af7e5776b39909516ca74e7 (diff) |
wire up some basic printOperand goodness, giving us stuff like this before
we abort:
_main:
stm ,
mov r7, sp
sub sp, sp,
mov r0,
str r0,
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84532 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp')
-rw-r--r-- | lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp b/lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp index 6a3759da6e..fc1e53f387 100644 --- a/lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp +++ b/lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp @@ -31,3 +31,19 @@ using namespace llvm; void ARMInstPrinter::printInst(const MCInst *MI) { printInstruction(MI); } +void ARMInstPrinter::printOperand(const MCInst *MI, unsigned OpNo, + const char *Modifier) { + assert((Modifier == 0 || Modifier[0] == 0) && "Cannot print modifiers"); + + const MCOperand &Op = MI->getOperand(OpNo); + if (Op.isReg()) { + O << getRegisterName(Op.getReg()); + } else if (Op.isImm()) { + O << '#' << Op.getImm(); + } else { + assert(Op.isExpr() && "unknown operand kind in printOperand"); + assert(0 && "UNIMP"); + //O << '$'; + //Op.getExpr()->print(O, &MAI); + } +} |