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