1 //===-- MBlazeDisassembler.h - Disassembler for MicroBlaze -----*- C++ -*-===// 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 file is part of the MBlaze Disassembler. It it the header for 11 // MBlazeDisassembler, a subclass of MCDisassembler. 12 // 13 //===----------------------------------------------------------------------===// 14 15 #ifndef MBLAZEDISASSEMBLER_H 16 #define MBLAZEDISASSEMBLER_H 17 18 #include "llvm/MC/MCDisassembler.h" 19 20 namespace llvm { 21 22 class MCInst; 23 class MemoryObject; 24 class raw_ostream; 25 26 /// MBlazeDisassembler - Disassembler for all MBlaze platforms. 27 class MBlazeDisassembler : public MCDisassembler { 28 public: 29 /// Constructor - Initializes the disassembler. 30 /// 31 MBlazeDisassembler(const MCSubtargetInfo &STI) : 32 MCDisassembler(STI) { 33 } 34 35 ~MBlazeDisassembler() { 36 } 37 38 /// getInstruction - See MCDisassembler. 39 MCDisassembler::DecodeStatus getInstruction(MCInst &instr, 40 uint64_t &size, 41 const MemoryObject ®ion, 42 uint64_t address, 43 raw_ostream &vStream, 44 raw_ostream &cStream) const; 45 }; 46 47 } // namespace llvm 48 49 #endif 50