From 27a850eb70785edd0b877dac99aace79eff15565 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Mon, 14 Sep 2009 01:43:38 +0000 Subject: [PATCH] add a new MCInstPrinter class, move the (trivial) MCDisassmbler ctor inline. llvm-svn: 81745 --- include/llvm/MC/MCDisassembler.h | 2 +- include/llvm/MC/MCInstPrinter.h | 33 ++++++++++++++++++++++++++++++++ lib/MC/MCDisassembler.cpp | 3 --- lib/MC/MCInstPrinter.cpp | 14 ++++++++++++++ 4 files changed, 48 insertions(+), 4 deletions(-) create mode 100644 include/llvm/MC/MCInstPrinter.h create mode 100644 lib/MC/MCInstPrinter.cpp diff --git a/include/llvm/MC/MCDisassembler.h b/include/llvm/MC/MCDisassembler.h index 96ceb58adbb..ef10b803593 100644 --- a/include/llvm/MC/MCDisassembler.h +++ b/include/llvm/MC/MCDisassembler.h @@ -22,7 +22,7 @@ class raw_ostream; class MCDisassembler { public: /// Constructor - Performs initial setup for the disassembler. - MCDisassembler(); + MCDisassembler() {} virtual ~MCDisassembler(); diff --git a/include/llvm/MC/MCInstPrinter.h b/include/llvm/MC/MCInstPrinter.h new file mode 100644 index 00000000000..1c04564ebc5 --- /dev/null +++ b/include/llvm/MC/MCInstPrinter.h @@ -0,0 +1,33 @@ +//===-- MCInstPrinter.h - Convert an MCInst to target assembly syntax -----===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_MC_MCINSTPRINTER_H +#define LLVM_MC_MCINSTPRINTER_H + +namespace llvm { +class MCInst; +class raw_ostream; + +/// MCInstPrinter - This is an instance of a target assembly language printer +/// that converts an MCInst to valid target assembly syntax. +class MCInstPrinter { + raw_ostream &O; +public: + MCInstPrinter(raw_ostream &o) : O(o) {} + + virtual ~MCInstPrinter(); + + /// printInst - Print the specified MCInst to the current raw_ostream. + /// + virtual void printInst(const MCInst *MI) = 0; +}; + +} // namespace llvm + +#endif diff --git a/lib/MC/MCDisassembler.cpp b/lib/MC/MCDisassembler.cpp index 5d0f4c50346..09856028103 100644 --- a/lib/MC/MCDisassembler.cpp +++ b/lib/MC/MCDisassembler.cpp @@ -10,8 +10,5 @@ #include "llvm/MC/MCDisassembler.h" using namespace llvm; -MCDisassembler::MCDisassembler() { -} - MCDisassembler::~MCDisassembler() { } \ No newline at end of file diff --git a/lib/MC/MCInstPrinter.cpp b/lib/MC/MCInstPrinter.cpp new file mode 100644 index 00000000000..6c33216d53e --- /dev/null +++ b/lib/MC/MCInstPrinter.cpp @@ -0,0 +1,14 @@ +//===-- MCInstPrinter.cpp - Convert an MCInst to target assembly syntax ---===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#include "llvm/MC/MCInstPrinter.h" +using namespace llvm; + +MCInstPrinter::~MCInstPrinter() { +} \ No newline at end of file