xref: /llvm-project/llvm/tools/llvm-ml/Disassembler.h (revision 5f6dfa800e0b9c337921e188bd171b9765bfbe89)
1*5f6dfa80SEric Astor //===- Disassembler.h - Text File Disassembler ----------------------------===//
2*5f6dfa80SEric Astor //
3*5f6dfa80SEric Astor // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*5f6dfa80SEric Astor // See https://llvm.org/LICENSE.txt for license information.
5*5f6dfa80SEric Astor // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*5f6dfa80SEric Astor //
7*5f6dfa80SEric Astor //===----------------------------------------------------------------------===//
8*5f6dfa80SEric Astor //
9*5f6dfa80SEric Astor // This class implements the disassembler of strings of bytes written in
10*5f6dfa80SEric Astor // hexadecimal, from standard input or from a file.
11*5f6dfa80SEric Astor //
12*5f6dfa80SEric Astor //===----------------------------------------------------------------------===//
13*5f6dfa80SEric Astor 
14*5f6dfa80SEric Astor #ifndef LLVM_TOOLS_LLVM_MC_DISASSEMBLER_H
15*5f6dfa80SEric Astor #define LLVM_TOOLS_LLVM_MC_DISASSEMBLER_H
16*5f6dfa80SEric Astor 
17*5f6dfa80SEric Astor #include <string>
18*5f6dfa80SEric Astor 
19*5f6dfa80SEric Astor namespace llvm {
20*5f6dfa80SEric Astor 
21*5f6dfa80SEric Astor class MemoryBuffer;
22*5f6dfa80SEric Astor class Target;
23*5f6dfa80SEric Astor class raw_ostream;
24*5f6dfa80SEric Astor class SourceMgr;
25*5f6dfa80SEric Astor class MCSubtargetInfo;
26*5f6dfa80SEric Astor class MCStreamer;
27*5f6dfa80SEric Astor 
28*5f6dfa80SEric Astor class Disassembler {
29*5f6dfa80SEric Astor public:
30*5f6dfa80SEric Astor   static int disassemble(const Target &T, const std::string &Triple,
31*5f6dfa80SEric Astor                          MCSubtargetInfo &STI, MCStreamer &Streamer,
32*5f6dfa80SEric Astor                          MemoryBuffer &Buffer, SourceMgr &SM, raw_ostream &Out);
33*5f6dfa80SEric Astor };
34*5f6dfa80SEric Astor 
35*5f6dfa80SEric Astor } // namespace llvm
36*5f6dfa80SEric Astor 
37*5f6dfa80SEric Astor #endif
38