1 //===- AArch64Disassembler.h - Disassembler for AArch64 ---------*- 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 // 11 //===----------------------------------------------------------------------===// 12 13 #ifndef LLVM_LIB_TARGET_AARCH64_DISASSEMBLER_AARCH64DISASSEMBLER_H 14 #define LLVM_LIB_TARGET_AARCH64_DISASSEMBLER_AARCH64DISASSEMBLER_H 15 16 #include "llvm/MC/MCDisassembler/MCDisassembler.h" 17 18 namespace llvm { 19 20 class AArch64Disassembler : public MCDisassembler { 21 public: 22 AArch64Disassembler(const MCSubtargetInfo &STI, MCContext &Ctx) 23 : MCDisassembler(STI, Ctx) {} 24 25 ~AArch64Disassembler() override = default; 26 27 MCDisassembler::DecodeStatus 28 getInstruction(MCInst &Instr, uint64_t &Size, ArrayRef<uint8_t> Bytes, 29 uint64_t Address, raw_ostream &VStream, 30 raw_ostream &CStream) const override; 31 }; 32 33 } // end namespace llvm 34 35 #endif // LLVM_LIB_TARGET_AARCH64_DISASSEMBLER_AARCH64DISASSEMBLER_H 36