File indexing completed on 2026-05-10 08:44:12
0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef LLVM_MC_MCCODEEMITTER_H
0010 #define LLVM_MC_MCCODEEMITTER_H
0011
0012 namespace llvm {
0013
0014 class MCFixup;
0015 class MCInst;
0016 class MCSubtargetInfo;
0017 class raw_ostream;
0018 template<typename T> class SmallVectorImpl;
0019
0020
0021 class MCCodeEmitter {
0022 protected:
0023 MCCodeEmitter();
0024
0025 public:
0026 MCCodeEmitter(const MCCodeEmitter &) = delete;
0027 MCCodeEmitter &operator=(const MCCodeEmitter &) = delete;
0028 virtual ~MCCodeEmitter();
0029
0030
0031 virtual void reset() {}
0032
0033
0034 virtual void encodeInstruction(const MCInst &Inst, SmallVectorImpl<char> &CB,
0035 SmallVectorImpl<MCFixup> &Fixups,
0036 const MCSubtargetInfo &STI) const = 0;
0037 };
0038
0039 }
0040
0041 #endif