X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=lib%2FMC%2FMCInst.cpp;h=d7b80f589057e6d34e18df4e5cdf007bcf2707b9;hb=12af22e8cc217827cf4f118b0f5e4ebbda9925ae;hp=d05031870add8487c8101a2f407505146d857648;hpb=b6a2fc080f47eabdcaabf0101e9ca7c95e9d8bdc;p=oota-llvm.git diff --git a/lib/MC/MCInst.cpp b/lib/MC/MCInst.cpp index d05031870ad..d7b80f58905 100644 --- a/lib/MC/MCInst.cpp +++ b/lib/MC/MCInst.cpp @@ -9,6 +9,8 @@ #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" using namespace llvm; @@ -22,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(errs(), 0); - errs() << "\n"; + 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(errs(), 0); - errs() << "\n"; + print(dbgs(), nullptr); + dbgs() << "\n"; } +#endif