LLVM API Documentation
00001 //===- AArch64Disassembler.h - Disassembler for AArch64 ---------*- C++ -*-===// 00002 // 00003 // The LLVM Compiler Infrastructure 00004 // 00005 // This file is distributed under the University of Illinois Open Source 00006 // License. See LICENSE.TXT for details. 00007 // 00008 //===----------------------------------------------------------------------===// 00009 // 00010 // 00011 //===----------------------------------------------------------------------===// 00012 00013 #ifndef LLVM_LIB_TARGET_AARCH64_DISASSEMBLER_AARCH64DISASSEMBLER_H 00014 #define LLVM_LIB_TARGET_AARCH64_DISASSEMBLER_AARCH64DISASSEMBLER_H 00015 00016 #include "llvm/MC/MCDisassembler.h" 00017 00018 namespace llvm { 00019 00020 class MCInst; 00021 class MemoryObject; 00022 class raw_ostream; 00023 00024 class AArch64Disassembler : public MCDisassembler { 00025 public: 00026 AArch64Disassembler(const MCSubtargetInfo &STI, MCContext &Ctx) 00027 : MCDisassembler(STI, Ctx) {} 00028 00029 ~AArch64Disassembler() {} 00030 00031 /// getInstruction - See MCDisassembler. 00032 MCDisassembler::DecodeStatus 00033 getInstruction(MCInst &instr, uint64_t &size, const MemoryObject ®ion, 00034 uint64_t address, raw_ostream &vStream, 00035 raw_ostream &cStream) const override; 00036 }; 00037 00038 } // namespace llvm 00039 00040 #endif