18 #ifndef TENSORFLOW_COMPILER_XLA_SERVICE_CPU_DISASSEMBLER_H_ 19 #define TENSORFLOW_COMPILER_XLA_SERVICE_CPU_DISASSEMBLER_H_ 24 #include "llvm/MC/MCContext.h" 25 #include "llvm/MC/MCDisassembler/MCDisassembler.h" 26 #include "llvm/MC/MCInstPrinter.h" 27 #include "llvm/MC/MCInstrAnalysis.h" 28 #include "llvm/MC/MCObjectFileInfo.h" 29 #include "llvm/MC/MCSubtargetInfo.h" 30 #include "llvm/Object/ObjectFile.h" 31 #include "llvm/Target/TargetMachine.h" 32 #include "tensorflow/compiler/xla/statusor.h" 33 #include "tensorflow/compiler/xla/types.h" 38 struct DisassemblerResult {
39 DisassemblerResult(
const string& text,
size_t code_size_bytes)
40 : text(text), code_size_bytes(code_size_bytes) {}
45 uint64_t code_size_bytes;
57 explicit Disassembler(
const llvm::TargetMachine& target_machine);
64 StatusOr<DisassemblerResult> DisassembleObjectFile(
65 const llvm::object::ObjectFile& object_file)
const;
68 const llvm::MCSubtargetInfo& subtarget_info_;
69 std::unique_ptr<llvm::MCObjectFileInfo> objfile_info_;
70 std::unique_ptr<llvm::MCContext> mc_context_;
71 std::unique_ptr<llvm::MCDisassembler> disassembler_;
72 std::unique_ptr<llvm::MCInstPrinter> inst_printer_;
73 std::unique_ptr<llvm::MCInstrAnalysis> inst_analysis_;
79 #endif // TENSORFLOW_COMPILER_XLA_SERVICE_CPU_DISASSEMBLER_H_ Definition: disassembler.h:55
namespace for xla
Definition: client_library.cc:26