LLVM  15.0.0git
AArch64Disassembler.h
Go to the documentation of this file.
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 
16 #include "llvm/MC/MCInstrInfo.h"
17 
18 namespace llvm {
19 
21  std::unique_ptr<const MCInstrInfo> const MCII;
22 
23 public:
25  MCInstrInfo const *MCII)
26  : MCDisassembler(STI, Ctx), MCII(MCII) {}
27 
28  ~AArch64Disassembler() override = default;
29 
31  getInstruction(MCInst &Instr, uint64_t &Size, ArrayRef<uint8_t> Bytes,
32  uint64_t Address, raw_ostream &CStream) const override;
33 };
34 
35 } // end namespace llvm
36 
37 #endif // LLVM_LIB_TARGET_AARCH64_DISASSEMBLER_AARCH64DISASSEMBLER_H
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:17
MCDisassembler.h
llvm::MCContext
Context object for machine code objects.
Definition: MCContext.h:76
llvm::MCInst
Instances of this class represent a single low-level machine instruction.
Definition: MCInst.h:184
MCInstrInfo.h
llvm::raw_ostream
This class implements an extremely fast bulk output stream that can only output to a stream.
Definition: raw_ostream.h:54
llvm::MCDisassembler::DecodeStatus
DecodeStatus
Ternary decode status.
Definition: MCDisassembler.h:109
llvm::MCDisassembler::STI
const MCSubtargetInfo & STI
Definition: MCDisassembler.h:179
uint64_t
llvm::MCDisassembler
Superclass for all disassemblers.
Definition: MCDisassembler.h:85
llvm::ArrayRef< uint8_t >
llvm::MCInstrInfo
Interface to description of machine instruction set.
Definition: MCInstrInfo.h:26
llvm::AArch64Disassembler::AArch64Disassembler
AArch64Disassembler(const MCSubtargetInfo &STI, MCContext &Ctx, MCInstrInfo const *MCII)
Definition: AArch64Disassembler.h:24
llvm::AArch64Disassembler::getInstruction
MCDisassembler::DecodeStatus getInstruction(MCInst &Instr, uint64_t &Size, ArrayRef< uint8_t > Bytes, uint64_t Address, raw_ostream &CStream) const override
Returns the disassembly of a single instruction.
Definition: AArch64Disassembler.cpp:291
llvm::AArch64Disassembler::~AArch64Disassembler
~AArch64Disassembler() override=default
llvm::AArch64Disassembler
Definition: AArch64Disassembler.h:20
llvm::MCSubtargetInfo
Generic base class for all target subtargets.
Definition: MCSubtargetInfo.h:76