]> CyberLeo.Net >> Repos - FreeBSD/stable/9.git/blob - contrib/llvm/tools/llvm-mc/Disassembler.h
MFC r234353:
[FreeBSD/stable/9.git] / contrib / llvm / tools / llvm-mc / Disassembler.h
1 //===- Disassembler.h - Text File Disassembler ----------------------------===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 //
10 // This class implements the disassembler of strings of bytes written in
11 // hexadecimal, from standard input or from a file.
12 //
13 //===----------------------------------------------------------------------===//
14
15 #ifndef DISASSEMBLER_H
16 #define DISASSEMBLER_H
17
18 #include <string>
19
20 namespace llvm {
21
22 class MemoryBuffer;
23 class Target;
24 class raw_ostream;
25 class SourceMgr;
26 class MCSubtargetInfo;
27 class MCStreamer;
28
29 class Disassembler {
30 public:
31   static int disassemble(const Target &T,
32                          const std::string &Triple,
33                          MCSubtargetInfo &STI,
34                          MCStreamer &Streamer,
35                          MemoryBuffer &Buffer,
36                          SourceMgr &SM,
37                          raw_ostream &Out);
38
39   static int disassembleEnhanced(const std::string &tripleString,
40                                  MemoryBuffer &buffer,
41                                  SourceMgr &SM,
42                                  raw_ostream &Out);
43 };
44
45 } // namespace llvm
46
47 #endif