blob: 433e71bf2783e3fd63119d1d42443d9bab66e231 [file] [log] [blame]
Chris Lattnera3dcfb12009-12-22 22:50:29 +00001//===- Disassembler.h - Text File Disassembler ----------------------------===//
Sean Callananba847da2009-12-17 01:49:59 +00002//
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
Chris Lattnera3dcfb12009-12-22 22:50:29 +000015#ifndef DISASSEMBLER_H
16#define DISASSEMBLER_H
Sean Callananba847da2009-12-17 01:49:59 +000017
18#include <string>
19
20namespace llvm {
21
Sean Callananba847da2009-12-17 01:49:59 +000022class MemoryBuffer;
Bill Wendlinga5c177e2011-03-21 04:13:46 +000023class Target;
Dan Gohmand5826a32010-08-20 01:07:01 +000024class raw_ostream;
Sean Callananba847da2009-12-17 01:49:59 +000025
Chris Lattnera3dcfb12009-12-22 22:50:29 +000026class Disassembler {
Sean Callananba847da2009-12-17 01:49:59 +000027public:
Bill Wendlinga5c177e2011-03-21 04:13:46 +000028 static int disassemble(const Target &target,
Sean Callananba847da2009-12-17 01:49:59 +000029 const std::string &tripleString,
Dan Gohmand5826a32010-08-20 01:07:01 +000030 MemoryBuffer &buffer,
31 raw_ostream &Out);
Jim Grosbachf5bf3cf2011-05-09 20:05:25 +000032
Sean Callanan668b1542010-04-12 19:43:00 +000033 static int disassembleEnhanced(const std::string &tripleString,
Dan Gohmand5826a32010-08-20 01:07:01 +000034 MemoryBuffer &buffer,
35 raw_ostream &Out);
Sean Callananba847da2009-12-17 01:49:59 +000036};
Jim Grosbachf5bf3cf2011-05-09 20:05:25 +000037
Sean Callananba847da2009-12-17 01:49:59 +000038} // namespace llvm
39
40#endif