diff options
author | Owen Anderson <resistor@mac.com> | 2011-09-15 23:38:46 +0000 |
---|---|---|
committer | Owen Anderson <resistor@mac.com> | 2011-09-15 23:38:46 +0000 |
commit | 98c5ddabca1debf935a07d14d0cbc9732374bdb8 (patch) | |
tree | 74e944d1e23e4ead852d53c54a5946ae6f1e56f8 /lib/Target/PowerPC/InstPrinter/PPCInstPrinter.cpp | |
parent | 71280b55a3406c7dd4215449bf4a3ab216e78ffd (diff) |
Don't attach annotations to MCInst's. Instead, have the disassembler return, and the printer accept, an annotation string which can be passed through if the client cares about annotations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139876 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/PowerPC/InstPrinter/PPCInstPrinter.cpp')
-rw-r--r-- | lib/Target/PowerPC/InstPrinter/PPCInstPrinter.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/Target/PowerPC/InstPrinter/PPCInstPrinter.cpp b/lib/Target/PowerPC/InstPrinter/PPCInstPrinter.cpp index 8f34b19925..c22b13a447 100644 --- a/lib/Target/PowerPC/InstPrinter/PPCInstPrinter.cpp +++ b/lib/Target/PowerPC/InstPrinter/PPCInstPrinter.cpp @@ -31,7 +31,8 @@ void PPCInstPrinter::printRegName(raw_ostream &OS, unsigned RegNo) const { OS << getRegisterName(RegNo); } -void PPCInstPrinter::printInst(const MCInst *MI, raw_ostream &O) { +void PPCInstPrinter::printInst(const MCInst *MI, raw_ostream &O, + StringRef Annot) { // Check for slwi/srwi mnemonics. if (MI->getOpcode() == PPC::RLWINM) { unsigned char SH = MI->getOperand(2).getImm(); @@ -50,6 +51,8 @@ void PPCInstPrinter::printInst(const MCInst *MI, raw_ostream &O) { O << ", "; printOperand(MI, 1, O); O << ", " << (unsigned int)SH; + + if (CommentStream) printAnnotation(*CommentStream, Annot); return; } } @@ -60,6 +63,7 @@ void PPCInstPrinter::printInst(const MCInst *MI, raw_ostream &O) { printOperand(MI, 0, O); O << ", "; printOperand(MI, 1, O); + if (CommentStream) printAnnotation(*CommentStream, Annot); return; } @@ -73,11 +77,13 @@ void PPCInstPrinter::printInst(const MCInst *MI, raw_ostream &O) { O << ", "; printOperand(MI, 1, O); O << ", " << (unsigned int)SH; + if (CommentStream) printAnnotation(*CommentStream, Annot); return; } } printInstruction(MI, O); + if (CommentStream) printAnnotation(*CommentStream, Annot); } |