]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.h
Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
[FreeBSD/FreeBSD.git] / contrib / llvm / lib / Target / AArch64 / Disassembler / AArch64Disassembler.h
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 &VStream,
29                  raw_ostream &CStream) const override;
30 };
31
32 } // end namespace llvm
33
34 #endif // LLVM_LIB_TARGET_AARCH64_DISASSEMBLER_AARCH64DISASSEMBLER_H