1//===- llvm/MC/MCCodeEmitter.h - Instruction Encoding -----------*- C++ -*-===// 
  3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 
  4// See https://llvm.org/LICENSE.txt for license information. 
  5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 
  7//===----------------------------------------------------------------------===// 
  9#ifndef LLVM_MC_MCCODEEMITTER_H 
  10#define LLVM_MC_MCCODEEMITTER_H 
  21/// MCCodeEmitter - Generic instruction encoding interface. 
  23protected: 
// Can only create subclasses. 
  31 /// Lifetime management 
  34 /// Encode the given \p Inst to bytes and append to \p CB. 
  40 // Helper function used by CodeEmitterGen for error reporting. 
 
  46} 
// end namespace llvm 
  48#endif // LLVM_MC_MCCODEEMITTER_H 
virtual void encodeInstruction(const MCInst &Inst, SmallVectorImpl< char > &CB, SmallVectorImpl< MCFixup > &Fixups, const MCSubtargetInfo &STI) const =0
Encode the given Inst to bytes and append to CB.
 
virtual void reset()
Lifetime management.
 
MCCodeEmitter & operator=(const MCCodeEmitter &)=delete
 
static void reportUnsupportedOperand(const MCInst &Inst, unsigned OpNum)
 
static void reportUnsupportedInst(const MCInst &Inst)
 
MCCodeEmitter(const MCCodeEmitter &)=delete
 
Encode information on a single operation to perform on a byte sequence (e.g., an encoded instruction)...
 
Instances of this class represent a single low-level machine instruction.
 
Generic base class for all target subtargets.
 
This class consists of common code factored out of the SmallVector class to reduce code duplication b...
 
This is an optimization pass for GlobalISel generic memory operations.