LLVM API Documentation
00001 //= MSP430InstPrinter.h - Convert MSP430 MCInst to assembly syntax -*- C++ -*-// 00002 // 00003 // The LLVM Compiler Infrastructure 00004 // 00005 // This file is distributed under the University of Illinois Open Source 00006 // License. See LICENSE.TXT for details. 00007 // 00008 //===----------------------------------------------------------------------===// 00009 // 00010 // This class prints a MSP430 MCInst to a .s file. 00011 // 00012 //===----------------------------------------------------------------------===// 00013 00014 #ifndef LLVM_LIB_TARGET_MSP430_INSTPRINTER_MSP430INSTPRINTER_H 00015 #define LLVM_LIB_TARGET_MSP430_INSTPRINTER_MSP430INSTPRINTER_H 00016 00017 #include "llvm/MC/MCInstPrinter.h" 00018 00019 namespace llvm { 00020 class MCOperand; 00021 00022 class MSP430InstPrinter : public MCInstPrinter { 00023 public: 00024 MSP430InstPrinter(const MCAsmInfo &MAI, const MCInstrInfo &MII, 00025 const MCRegisterInfo &MRI) 00026 : MCInstPrinter(MAI, MII, MRI) {} 00027 00028 void printInst(const MCInst *MI, raw_ostream &O, StringRef Annot) override; 00029 00030 // Autogenerated by tblgen. 00031 void printInstruction(const MCInst *MI, raw_ostream &O); 00032 static const char *getRegisterName(unsigned RegNo); 00033 00034 void printOperand(const MCInst *MI, unsigned OpNo, raw_ostream &O, 00035 const char *Modifier = nullptr); 00036 void printPCRelImmOperand(const MCInst *MI, unsigned OpNo, raw_ostream &O); 00037 void printSrcMemOperand(const MCInst *MI, unsigned OpNo, raw_ostream &O, 00038 const char *Modifier = nullptr); 00039 void printCCOperand(const MCInst *MI, unsigned OpNo, raw_ostream &O); 00040 00041 }; 00042 } 00043 00044 #endif