1*9880d681SAndroid Build Coastguard Worker //===- LanaiDisassembler.cpp - Disassembler for Lanai -----------*- C++ -*-===// 2*9880d681SAndroid Build Coastguard Worker // 3*9880d681SAndroid Build Coastguard Worker // The LLVM Compiler Infrastructure 4*9880d681SAndroid Build Coastguard Worker // 5*9880d681SAndroid Build Coastguard Worker // This file is distributed under the University of Illinois Open Source 6*9880d681SAndroid Build Coastguard Worker // License. See LICENSE.TXT for details. 7*9880d681SAndroid Build Coastguard Worker // 8*9880d681SAndroid Build Coastguard Worker //===----------------------------------------------------------------------===// 9*9880d681SAndroid Build Coastguard Worker // 10*9880d681SAndroid Build Coastguard Worker // This file is part of the Lanai Disassembler. 11*9880d681SAndroid Build Coastguard Worker // 12*9880d681SAndroid Build Coastguard Worker //===----------------------------------------------------------------------===// 13*9880d681SAndroid Build Coastguard Worker 14*9880d681SAndroid Build Coastguard Worker #ifndef LLVM_LIB_TARGET_LANAI_DISASSEMBLER_LANAIDISASSEMBLER_H 15*9880d681SAndroid Build Coastguard Worker #define LLVM_LIB_TARGET_LANAI_DISASSEMBLER_LANAIDISASSEMBLER_H 16*9880d681SAndroid Build Coastguard Worker 17*9880d681SAndroid Build Coastguard Worker #define DEBUG_TYPE "lanai-disassembler" 18*9880d681SAndroid Build Coastguard Worker 19*9880d681SAndroid Build Coastguard Worker #include "llvm/MC/MCDisassembler/MCDisassembler.h" 20*9880d681SAndroid Build Coastguard Worker 21*9880d681SAndroid Build Coastguard Worker namespace llvm { 22*9880d681SAndroid Build Coastguard Worker 23*9880d681SAndroid Build Coastguard Worker class MCInst; 24*9880d681SAndroid Build Coastguard Worker class raw_ostream; 25*9880d681SAndroid Build Coastguard Worker 26*9880d681SAndroid Build Coastguard Worker class LanaiDisassembler : public MCDisassembler { 27*9880d681SAndroid Build Coastguard Worker public: 28*9880d681SAndroid Build Coastguard Worker LanaiDisassembler(const MCSubtargetInfo &STI, MCContext &Ctx); 29*9880d681SAndroid Build Coastguard Worker ~LanaiDisassembler()30*9880d681SAndroid Build Coastguard Worker ~LanaiDisassembler() override {} 31*9880d681SAndroid Build Coastguard Worker 32*9880d681SAndroid Build Coastguard Worker // getInstruction - See MCDisassembler. 33*9880d681SAndroid Build Coastguard Worker MCDisassembler::DecodeStatus 34*9880d681SAndroid Build Coastguard Worker getInstruction(MCInst &Instr, uint64_t &Size, ArrayRef<uint8_t> Bytes, 35*9880d681SAndroid Build Coastguard Worker uint64_t Address, raw_ostream &VStream, 36*9880d681SAndroid Build Coastguard Worker raw_ostream &CStream) const override; 37*9880d681SAndroid Build Coastguard Worker }; 38*9880d681SAndroid Build Coastguard Worker 39*9880d681SAndroid Build Coastguard Worker } // namespace llvm 40*9880d681SAndroid Build Coastguard Worker 41*9880d681SAndroid Build Coastguard Worker #endif // LLVM_LIB_TARGET_LANAI_DISASSEMBLER_LANAIDISASSEMBLER_H 42