1 //===- AArch64Disassembler.h - Disassembler for AArch64 ---------*- C++ -*-===//
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
10 //===----------------------------------------------------------------------===//
12 #ifndef LLVM_LIB_TARGET_AARCH64_DISASSEMBLER_AARCH64DISASSEMBLER_H
13 #define LLVM_LIB_TARGET_AARCH64_DISASSEMBLER_AARCH64DISASSEMBLER_H
15 #include "llvm/MC/MCDisassembler/MCDisassembler.h"
19 class AArch64Disassembler
: public MCDisassembler
{
21 AArch64Disassembler(const MCSubtargetInfo
&STI
, MCContext
&Ctx
)
22 : MCDisassembler(STI
, Ctx
) {}
24 ~AArch64Disassembler() override
= default;
26 MCDisassembler::DecodeStatus
27 getInstruction(MCInst
&Instr
, uint64_t &Size
, ArrayRef
<uint8_t> Bytes
,
28 uint64_t Address
, raw_ostream
&VStream
,
29 raw_ostream
&CStream
) const override
;
32 } // end namespace llvm
34 #endif // LLVM_LIB_TARGET_AARCH64_DISASSEMBLER_AARCH64DISASSEMBLER_H