//===- MBlazeDisassembler.h - Disassembler for MicroBlaze ------*- C++ -*-===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // // This file is part of the MBlaze Disassembler. It it the header for // MBlazeDisassembler, a subclass of MCDisassembler. // //===----------------------------------------------------------------------===// #ifndef MBLAZEDISASSEMBLER_H #define MBLAZEDISASSEMBLER_H #include "llvm/MC/MCDisassembler.h" struct InternalInstruction; namespace llvm { class MCInst; class MemoryObject; class raw_ostream; struct EDInstInfo; /// MBlazeDisassembler - Disassembler for all MBlaze platforms. class MBlazeDisassembler : public MCDisassembler { public: /// Constructor - Initializes the disassembler. /// MBlazeDisassembler() : MCDisassembler() { } ~MBlazeDisassembler() { } /// getInstruction - See MCDisassembler. bool getInstruction(MCInst &instr, uint64_t &size, const MemoryObject ®ion, uint64_t address, raw_ostream &vStream) const; /// getEDInfo - See MCDisassembler. EDInstInfo *getEDInfo() const; }; } // namespace llvm #endif