26#define DEBUG_TYPE "wasm-mc-target-desc"
28#define GET_INSTRINFO_MC_DESC
29#define ENABLE_INSTR_PREDICATE_VERIFIER
30#include "WebAssemblyGenInstrInfo.inc"
32#define GET_SUBTARGETINFO_MC_DESC
33#include "WebAssemblyGenSubtargetInfo.inc"
35#define GET_REGINFO_MC_DESC
36#include "WebAssemblyGenRegisterInfo.inc"
46 InitWebAssemblyMCInstrInfo(
X);
52 InitWebAssemblyMCRegisterInfo(
X, 0);
57 unsigned SyntaxVariant,
61 assert(SyntaxVariant == 0 &&
"WebAssembly only has one syntax variant");
79 return createWebAssemblyMCSubtargetInfoImpl(TT, CPU, CPU, FS);
unsigned const MachineRegisterInfo * MRI
#define LLVM_EXTERNAL_VISIBILITY
static GCMetadataPrinterRegistry::Add< ErlangGCPrinter > X("erlang", "erlang-compatible garbage collector")
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
This class prints an WebAssembly MCInst to wasm file syntax.
This file contains the declaration of the WebAssemblyMCAsmInfo class.
static MCAsmInfo * createMCAsmInfo(const MCRegisterInfo &, const Triple &TT, const MCTargetOptions &Options)
static MCRegisterInfo * createMCRegisterInfo(const Triple &)
static MCInstPrinter * createMCInstPrinter(const Triple &, unsigned SyntaxVariant, const MCAsmInfo &MAI, const MCInstrInfo &MII, const MCRegisterInfo &MRI)
LLVM_EXTERNAL_VISIBILITY void LLVMInitializeWebAssemblyTargetMC()
static MCInstrInfo * createMCInstrInfo()
static MCTargetStreamer * createNullTargetStreamer(MCStreamer &S)
static MCAsmBackend * createAsmBackend(const Target &, const MCSubtargetInfo &STI, const MCRegisterInfo &, const MCTargetOptions &)
static MCTargetStreamer * createAsmTargetStreamer(MCStreamer &S, formatted_raw_ostream &OS, MCInstPrinter *, bool)
static MCTargetStreamer * createObjectTargetStreamer(MCStreamer &S, const MCSubtargetInfo &STI)
static MCCodeEmitter * createCodeEmitter(const MCInstrInfo &MCII, MCContext &Ctx)
static MCSubtargetInfo * createMCSubtargetInfo(const Triple &TT, StringRef CPU, StringRef FS)
This file provides WebAssembly-specific target descriptions.
This file registers the WebAssembly target.
This file declares WebAssembly-specific target streamer classes.
Generic interface to target specific assembler backends.
This class is intended to be used as a base class for asm properties and features specific to the tar...
MCCodeEmitter - Generic instruction encoding interface.
Context object for machine code objects.
This is an instance of a target assembly language printer that converts an MCInst to valid target ass...
Interface to description of machine instruction set.
MCRegisterInfo base class - We assume that the target defines a static array of MCRegisterDesc object...
Streaming machine code generation interface.
Generic base class for all target subtargets.
const Triple & getTargetTriple() const
Target specific streamer interface.
StringRef - Represent a constant reference to a string, i.e.
Target - Wrapper for Target specific information.
Triple - Helper class for working with autoconf configuration names.
This part is for ascii assembly output.
This part is for null output.
This part is for Wasm object output.
This is an optimization pass for GlobalISel generic memory operations.
MCAsmBackend * createWebAssemblyAsmBackend(const Triple &TT)
MCCodeEmitter * createWebAssemblyMCCodeEmitter(const MCInstrInfo &MCII)
Target & getTheWebAssemblyTarget32()
Target & getTheWebAssemblyTarget64()
RegisterMCAsmInfoFn - Helper template for registering a target assembly info implementation.
static void RegisterMCRegInfo(Target &T, Target::MCRegInfoCtorFnTy Fn)
RegisterMCRegInfo - Register a MCRegisterInfo implementation for the given target.
static void RegisterMCAsmBackend(Target &T, Target::MCAsmBackendCtorTy Fn)
RegisterMCAsmBackend - Register a MCAsmBackend implementation for the given target.
static void RegisterMCCodeEmitter(Target &T, Target::MCCodeEmitterCtorTy Fn)
RegisterMCCodeEmitter - Register a MCCodeEmitter implementation for the given target.
static void RegisterMCSubtargetInfo(Target &T, Target::MCSubtargetInfoCtorFnTy Fn)
RegisterMCSubtargetInfo - Register a MCSubtargetInfo implementation for the given target.
static void RegisterObjectTargetStreamer(Target &T, Target::ObjectTargetStreamerCtorTy Fn)
static void RegisterNullTargetStreamer(Target &T, Target::NullTargetStreamerCtorTy Fn)
static void RegisterMCInstPrinter(Target &T, Target::MCInstPrinterCtorTy Fn)
RegisterMCInstPrinter - Register a MCInstPrinter implementation for the given target.
static void RegisterMCInstrInfo(Target &T, Target::MCInstrInfoCtorFnTy Fn)
RegisterMCInstrInfo - Register a MCInstrInfo implementation for the given target.
static void RegisterAsmTargetStreamer(Target &T, Target::AsmTargetStreamerCtorTy Fn)