xref: /aosp_15_r20/external/llvm/lib/Target/Lanai/Disassembler/LanaiDisassembler.h (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker //===- LanaiDisassembler.cpp - Disassembler for Lanai -----------*- C++ -*-===//
2*9880d681SAndroid Build Coastguard Worker //
3*9880d681SAndroid Build Coastguard Worker //                     The LLVM Compiler Infrastructure
4*9880d681SAndroid Build Coastguard Worker //
5*9880d681SAndroid Build Coastguard Worker // This file is distributed under the University of Illinois Open Source
6*9880d681SAndroid Build Coastguard Worker // License. See LICENSE.TXT for details.
7*9880d681SAndroid Build Coastguard Worker //
8*9880d681SAndroid Build Coastguard Worker //===----------------------------------------------------------------------===//
9*9880d681SAndroid Build Coastguard Worker //
10*9880d681SAndroid Build Coastguard Worker // This file is part of the Lanai Disassembler.
11*9880d681SAndroid Build Coastguard Worker //
12*9880d681SAndroid Build Coastguard Worker //===----------------------------------------------------------------------===//
13*9880d681SAndroid Build Coastguard Worker 
14*9880d681SAndroid Build Coastguard Worker #ifndef LLVM_LIB_TARGET_LANAI_DISASSEMBLER_LANAIDISASSEMBLER_H
15*9880d681SAndroid Build Coastguard Worker #define LLVM_LIB_TARGET_LANAI_DISASSEMBLER_LANAIDISASSEMBLER_H
16*9880d681SAndroid Build Coastguard Worker 
17*9880d681SAndroid Build Coastguard Worker #define DEBUG_TYPE "lanai-disassembler"
18*9880d681SAndroid Build Coastguard Worker 
19*9880d681SAndroid Build Coastguard Worker #include "llvm/MC/MCDisassembler/MCDisassembler.h"
20*9880d681SAndroid Build Coastguard Worker 
21*9880d681SAndroid Build Coastguard Worker namespace llvm {
22*9880d681SAndroid Build Coastguard Worker 
23*9880d681SAndroid Build Coastguard Worker class MCInst;
24*9880d681SAndroid Build Coastguard Worker class raw_ostream;
25*9880d681SAndroid Build Coastguard Worker 
26*9880d681SAndroid Build Coastguard Worker class LanaiDisassembler : public MCDisassembler {
27*9880d681SAndroid Build Coastguard Worker public:
28*9880d681SAndroid Build Coastguard Worker   LanaiDisassembler(const MCSubtargetInfo &STI, MCContext &Ctx);
29*9880d681SAndroid Build Coastguard Worker 
~LanaiDisassembler()30*9880d681SAndroid Build Coastguard Worker   ~LanaiDisassembler() override {}
31*9880d681SAndroid Build Coastguard Worker 
32*9880d681SAndroid Build Coastguard Worker   // getInstruction - See MCDisassembler.
33*9880d681SAndroid Build Coastguard Worker   MCDisassembler::DecodeStatus
34*9880d681SAndroid Build Coastguard Worker   getInstruction(MCInst &Instr, uint64_t &Size, ArrayRef<uint8_t> Bytes,
35*9880d681SAndroid Build Coastguard Worker                  uint64_t Address, raw_ostream &VStream,
36*9880d681SAndroid Build Coastguard Worker                  raw_ostream &CStream) const override;
37*9880d681SAndroid Build Coastguard Worker };
38*9880d681SAndroid Build Coastguard Worker 
39*9880d681SAndroid Build Coastguard Worker } // namespace llvm
40*9880d681SAndroid Build Coastguard Worker 
41*9880d681SAndroid Build Coastguard Worker #endif // LLVM_LIB_TARGET_LANAI_DISASSEMBLER_LANAIDISASSEMBLER_H
42