X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=lib%2FMC%2FMCInst.cpp;h=d7b80f589057e6d34e18df4e5cdf007bcf2707b9;hb=12af22e8cc217827cf4f118b0f5e4ebbda9925ae;hp=7c7a6447736c507e80c08f1a04bd8f0db69261d1;hpb=593b6e4cb9386818da1a185fed4a8cc1d5af43ef;p=oota-llvm.git diff --git a/lib/MC/MCInst.cpp b/lib/MC/MCInst.cpp index 7c7a6447736..d7b80f58905 100644 --- a/lib/MC/MCInst.cpp +++ b/lib/MC/MCInst.cpp @@ -9,6 +9,7 @@ #include "llvm/MC/MCInst.h" #include "llvm/MC/MCExpr.h" +#include "llvm/MC/MCInstPrinter.h" #include "llvm/Support/Debug.h" #include "llvm/Support/raw_ostream.h" @@ -23,18 +24,20 @@ void MCOperand::print(raw_ostream &OS, const MCAsmInfo *MAI) const { else if (isImm()) OS << "Imm:" << getImm(); else if (isExpr()) { - OS << "Expr:("; - getExpr()->print(OS, MAI); - OS << ")"; + OS << "Expr:(" << *getExpr() << ")"; + } else if (isInst()) { + OS << "Inst:(" << *getInst() << ")"; } else OS << "UNDEFINED"; OS << ">"; } +#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP) void MCOperand::dump() const { - print(dbgs(), 0); + print(dbgs(), nullptr); dbgs() << "\n"; } +#endif void MCInst::print(raw_ostream &OS, const MCAsmInfo *MAI) const { OS << ""; } +void MCInst::dump_pretty(raw_ostream &OS, const MCAsmInfo *MAI, + const MCInstPrinter *Printer, + StringRef Separator) const { + OS << "getOpcodeName(getOpcode()); + + for (unsigned i = 0, e = getNumOperands(); i != e; ++i) { + OS << Separator; + getOperand(i).print(OS, MAI); + } + OS << ">"; +} + +#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP) void MCInst::dump() const { - print(dbgs(), 0); + print(dbgs(), nullptr); dbgs() << "\n"; } +#endif