blob: 63860dcc7e3ade0ce2a8f1637080db17ef69df80 [file] [log] [blame]
Nick Lewycky306084e2010-10-02 01:16:59 +00001//===-- MSP430InstPrinter.h - Convert MSP430 MCInst to assembly syntax ----===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9//
10// This class prints a MSP430 MCInst to a .s file.
11//
12//===----------------------------------------------------------------------===//
13
14#ifndef MSP430INSTPRINTER_H
15#define MSP430INSTPRINTER_H
16
17#include "llvm/MC/MCInstPrinter.h"
18
19namespace llvm {
20 class MCOperand;
Bill Wendling00f0cdd2011-03-21 04:13:46 +000021 class TargetMachine;
Nick Lewycky306084e2010-10-02 01:16:59 +000022
23 class MSP430InstPrinter : public MCInstPrinter {
24 public:
Bill Wendling00f0cdd2011-03-21 04:13:46 +000025 MSP430InstPrinter(TargetMachine &TM, const MCAsmInfo &MAI)
26 : MCInstPrinter(MAI) {}
Nick Lewycky306084e2010-10-02 01:16:59 +000027
28 virtual void printInst(const MCInst *MI, raw_ostream &O);
29
30 // Autogenerated by tblgen.
31 void printInstruction(const MCInst *MI, raw_ostream &O);
32 static const char *getRegisterName(unsigned RegNo);
33
34 void printOperand(const MCInst *MI, unsigned OpNo, raw_ostream &O,
35 const char *Modifier = 0);
36 void printPCRelImmOperand(const MCInst *MI, unsigned OpNo, raw_ostream &O);
37 void printSrcMemOperand(const MCInst *MI, unsigned OpNo, raw_ostream &O,
38 const char *Modifier = 0);
39 void printCCOperand(const MCInst *MI, unsigned OpNo, raw_ostream &O);
40
41 };
42}
43
44#endif