blob: 84942caac24f1dcee0ccf345a5cbf105d656ecc2 [file] [log] [blame]
Tim Northover3b0846e2014-05-24 12:50:23 +00001//===- 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
Benjamin Kramera7c40ef2014-08-13 16:26:38 +000013#ifndef LLVM_LIB_TARGET_AARCH64_DISASSEMBLER_AARCH64DISASSEMBLER_H
14#define LLVM_LIB_TARGET_AARCH64_DISASSEMBLER_AARCH64DISASSEMBLER_H
Tim Northover3b0846e2014-05-24 12:50:23 +000015
16#include "llvm/MC/MCDisassembler.h"
17
18namespace llvm {
19
20class MCInst;
21class MemoryObject;
22class raw_ostream;
23
24class AArch64Disassembler : public MCDisassembler {
25public:
26 AArch64Disassembler(const MCSubtargetInfo &STI, MCContext &Ctx)
27 : MCDisassembler(STI, Ctx) {}
28
29 ~AArch64Disassembler() {}
30
Tim Northover3b0846e2014-05-24 12:50:23 +000031 MCDisassembler::DecodeStatus
Rafael Espindola4aa6bea2014-11-10 18:11:10 +000032 getInstruction(MCInst &Instr, uint64_t &Size, const MemoryObject &Segion,
33 uint64_t Address, raw_ostream &VStream,
34 raw_ostream &CStream) const override;
Tim Northover3b0846e2014-05-24 12:50:23 +000035};
36
37} // namespace llvm
38
39#endif