llvm-project/llvm/tools/llvm-mc/Disassembler.h
Rahul Joshi 4f39139df3
[llvm-mc] Add --runs option for benchmarking (#151149)
Add support for measuring decode times in llvm-mc tool. Add command line
options to enable time-trace profiling (similar to llc or opt) and add
option `runs` to run the decoder several times on each instruction.
2025-07-30 09:05:46 -07:00

42 lines
1.2 KiB
C++

//===- Disassembler.h - Text File Disassembler ----------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
//
// This class implements the disassembler of strings of bytes written in
// hexadecimal, from standard input or from a file.
//
//===----------------------------------------------------------------------===//
#ifndef LLVM_TOOLS_LLVM_MC_DISASSEMBLER_H
#define LLVM_TOOLS_LLVM_MC_DISASSEMBLER_H
#include <string>
namespace llvm {
class MemoryBuffer;
class Target;
class raw_ostream;
class SourceMgr;
class MCContext;
class MCSubtargetInfo;
class MCStreamer;
class MCTargetOptions;
class Disassembler {
public:
static int disassemble(const Target &T, const std::string &Triple,
MCSubtargetInfo &STI, MCStreamer &Streamer,
MemoryBuffer &Buffer, SourceMgr &SM, MCContext &Ctx,
const MCTargetOptions &MCOptions, bool HexBytes,
unsigned NumBenchmarkRuns);
};
} // namespace llvm
#endif