Replace the BUILTIN_EXPECT macro with a less horrible LLVM_LIKELY/LLVM_UNLIKELY inter...
[oota-llvm.git] / include / llvm / Support / Disassembler.h
index 3d0d798de83b840483a5ac260b69762b3c70740a..6d1cc0fdcb50c3eb6608958466a7f023fe05c2f7 100644 (file)
@@ -2,8 +2,8 @@
 //
 //                     The LLVM Compiler Infrastructure
 //
-// This file was developed by Anton Korobeynikov and is distributed under the
-// University of Illinois Open Source License. See LICENSE.TXT for details.
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
 //
 //===----------------------------------------------------------------------===//
 //
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_SUPPORT_DISASSEMBLER_H
-#define LLVM_SUPPORT_DISASSEMBLER_H
+#ifndef LLVM_SYSTEM_DISASSEMBLER_H
+#define LLVM_SYSTEM_DISASSEMBLER_H
 
 #include "llvm/Support/DataTypes.h"
 #include <string>
 
 namespace llvm {
+namespace sys {
 
-namespace Disassembler {
-  enum Type {
-    X86_32,
-    X86_64,
-    Undefined
-  };
-}
-  
+/// This function returns true, if there is possible to use some external
+/// disassembler library. False otherwise.
+bool hasDisassembler();
+
+/// This function provides some "glue" code to call external disassembler
+/// libraries.
+std::string disassembleBuffer(uint8_t* start, size_t length, uint64_t pc = 0);
 
-std::string disassembleBuffer(uint8_t* start, size_t length,
-                              Disassembler::Type type, uint64_t pc);
+}
 }
 
-#endif // LLVM_SUPPORT_DISASSEMBLER_H
+#endif // LLVM_SYSTEM_DISASSEMBLER_H