MBlazeDisassembler.h revision a06038369b830bb83742b6b39775f39dd9e69ae2
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 20struct InternalInstruction; 21 22namespace llvm { 23 24class MCInst; 25class MemoryObject; 26class raw_ostream; 27 28struct EDInstInfo; 29 30/// MBlazeDisassembler - Disassembler for all MBlaze platforms. 31class MBlazeDisassembler : public MCDisassembler { 32public: 33 /// Constructor - Initializes the disassembler. 34 /// 35 MBlazeDisassembler() : 36 MCDisassembler() { 37 } 38 39 ~MBlazeDisassembler() { 40 } 41 42 /// getInstruction - See MCDisassembler. 43 bool getInstruction(MCInst &instr, 44 uint64_t &size, 45 const MemoryObject ®ion, 46 uint64_t address, 47 raw_ostream &vStream) const; 48 49 /// getEDInfo - See MCDisassembler. 50 EDInstInfo *getEDInfo() const; 51}; 52 53} // namespace llvm 54 55#endif 56