summaryrefslogtreecommitdiff
path: root/lib/Target/MSP430/AsmPrinter
diff options
context:
space:
mode:
authorAnton Korobeynikov <asl@math.spbu.ru>2009-10-21 00:10:30 +0000
committerAnton Korobeynikov <asl@math.spbu.ru>2009-10-21 00:10:30 +0000
commit680dec703c8882e375e509d6cec6ecd6023868fc (patch)
treee7bec70449467216a16a4488222012f7322f7379 /lib/Target/MSP430/AsmPrinter
parent51f3f9a8a7147b4f54ce9424f6e12e41e94780e2 (diff)
downloadllvm-680dec703c8882e375e509d6cec6ecd6023868fc.tar.gz
llvm-680dec703c8882e375e509d6cec6ecd6023868fc.tar.bz2
llvm-680dec703c8882e375e509d6cec6ecd6023868fc.tar.xz
Add MSP430 InstPrinter stub
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84701 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/MSP430/AsmPrinter')
-rw-r--r--lib/Target/MSP430/AsmPrinter/CMakeLists.txt1
-rw-r--r--lib/Target/MSP430/AsmPrinter/MSP430InstPrinter.cpp35
-rw-r--r--lib/Target/MSP430/AsmPrinter/MSP430InstPrinter.h48
3 files changed, 84 insertions, 0 deletions
diff --git a/lib/Target/MSP430/AsmPrinter/CMakeLists.txt b/lib/Target/MSP430/AsmPrinter/CMakeLists.txt
index 6e66887464..f9b8d0fa99 100644
--- a/lib/Target/MSP430/AsmPrinter/CMakeLists.txt
+++ b/lib/Target/MSP430/AsmPrinter/CMakeLists.txt
@@ -1,6 +1,7 @@
include_directories( ${CMAKE_CURRENT_BINARY_DIR}/.. ${CMAKE_CURRENT_SOURCE_DIR}/.. )
add_llvm_library(LLVMMSP430AsmPrinter
+ MSP430InstPrinter.cpp
MSP430AsmPrinter.cpp
)
add_dependencies(LLVMMSP430AsmPrinter MSP430CodeGenTable_gen)
diff --git a/lib/Target/MSP430/AsmPrinter/MSP430InstPrinter.cpp b/lib/Target/MSP430/AsmPrinter/MSP430InstPrinter.cpp
new file mode 100644
index 0000000000..4612a089c1
--- /dev/null
+++ b/lib/Target/MSP430/AsmPrinter/MSP430InstPrinter.cpp
@@ -0,0 +1,35 @@
+//===-- MSP430InstPrinter.cpp - Convert MSP430 MCInst to assembly syntax --===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This class prints an MSP430 MCInst to a .s file.
+//
+//===----------------------------------------------------------------------===//
+
+#define DEBUG_TYPE "asm-printer"
+#include "MSP430InstPrinter.h"
+#include "llvm/MC/MCInst.h"
+#include "llvm/MC/MCAsmInfo.h"
+#include "llvm/MC/MCExpr.h"
+#include "llvm/Support/ErrorHandling.h"
+#include "llvm/Support/FormattedStream.h"
+#include "MSP430GenInstrNames.inc"
+using namespace llvm;
+
+
+// Include the auto-generated portion of the assembly writer.
+#define MachineInstr MCInst
+#define MSP430AsmPrinter MSP430InstPrinter // FIXME: REMOVE.
+#define NO_ASM_WRITER_BOILERPLATE
+#include "MSP430GenAsmWriter.inc"
+#undef MachineInstr
+#undef MSP430AsmPrinter
+
+void MSP430InstPrinter::printInst(const MCInst *MI) {
+ printInstruction(MI);
+}
diff --git a/lib/Target/MSP430/AsmPrinter/MSP430InstPrinter.h b/lib/Target/MSP430/AsmPrinter/MSP430InstPrinter.h
new file mode 100644
index 0000000000..93a9f750e0
--- /dev/null
+++ b/lib/Target/MSP430/AsmPrinter/MSP430InstPrinter.h
@@ -0,0 +1,48 @@
+//===-- MSP430InstPrinter.h - Convert MSP430 MCInst to assembly syntax ----===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This class prints a MSP430 MCInst to a .s file.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef MSP430INSTPRINTER_H
+#define MSP430INSTPRINTER_H
+
+#include "llvm/MC/MCInstPrinter.h"
+
+namespace llvm
+{
+
+ class MCOperand;
+
+ class MSP430InstPrinter : public MCInstPrinter {
+ public:
+ MSP430InstPrinter(raw_ostream &O, const MCAsmInfo &MAI) :
+ MCInstPrinter(O, MAI){
+ }
+
+ virtual void printInst(const MCInst *MI);
+
+ // Autogenerated by tblgen.
+ void printInstruction(const MCInst *MI);
+ static const char *getRegisterName(unsigned RegNo);
+
+ void printOperand(const MCInst *MI, unsigned OpNo,
+ const char *Modifier = 0) {
+ }
+ void printSrcMemOperand(const MCInst *MI, unsigned OpNo,
+ const char *Modifier = 0) {
+ }
+ void printCCOperand(const MCInst *MI, unsigned OpNo) {
+ }
+
+ };
+}
+
+#endif