LLVM API Documentation
00001 //= MBlazeInstPrinter.h - Convert MBlaze 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 MBlaze MCInst to a .s file. 00011 // 00012 //===----------------------------------------------------------------------===// 00013 00014 #ifndef MBLAZEINSTPRINTER_H 00015 #define MBLAZEINSTPRINTER_H 00016 00017 #include "llvm/MC/MCInstPrinter.h" 00018 00019 namespace llvm { 00020 class MCOperand; 00021 00022 class MBlazeInstPrinter : public MCInstPrinter { 00023 public: 00024 MBlazeInstPrinter(const MCAsmInfo &MAI, const MCInstrInfo &MII, 00025 const MCRegisterInfo &MRI) 00026 : MCInstPrinter(MAI, MII, MRI) {} 00027 00028 virtual void printInst(const MCInst *MI, raw_ostream &O, StringRef Annot); 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 = 0); 00036 void printFSLImm(const MCInst *MI, int OpNo, raw_ostream &O); 00037 void printUnsignedImm(const MCInst *MI, int OpNo, raw_ostream &O); 00038 void printMemOperand(const MCInst *MI, int OpNo,raw_ostream &O, 00039 const char *Modifier = 0); 00040 }; 00041 } 00042 00043 #endif