LLVM: lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.cpp Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

25using namespace llvm;

26

27#define DEBUG_TYPE "wasm-mc-target-desc"

28

29#define GET_INSTRINFO_MC_DESC

30#define ENABLE_INSTR_PREDICATE_VERIFIER

31#include "WebAssemblyGenInstrInfo.inc"

32

33#define GET_SUBTARGETINFO_MC_DESC

34#include "WebAssemblyGenSubtargetInfo.inc"

35

36#define GET_REGINFO_MC_DESC

37#include "WebAssemblyGenRegisterInfo.inc"

38

44

47 InitWebAssemblyMCInstrInfo(X);

48 return X;

49}

50

53 InitWebAssemblyMCRegisterInfo(X, 0);

54 return X;

55}

56

58 unsigned SyntaxVariant,

62 assert(SyntaxVariant == 0 && "WebAssembly only has one syntax variant");

64}

65

70

77

80 return createWebAssemblyMCSubtargetInfoImpl(TT, CPU, CPU, FS);

81}

82

87

93

97

98

103

105

106

108

109

111

112

114

115

117

118

120

121

123

124

127

129

131 }

132}

unsigned const MachineRegisterInfo * MRI

assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")

#define LLVM_EXTERNAL_VISIBILITY

static MCTargetStreamer * createNullTargetStreamer(MCStreamer &S)

static MCTargetStreamer * createAsmTargetStreamer(MCStreamer &S, formatted_raw_ostream &OS, MCInstPrinter *InstPrint)

static MCTargetStreamer * createObjectTargetStreamer(MCStreamer &S, const MCSubtargetInfo &STI)

static TableGen::Emitter::OptClass< SkeletonEmitter > X("gen-skeleton-class", "Generate example skeleton class")

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)

Definition WebAssemblyMCTargetDesc.cpp:39

static MCRegisterInfo * createMCRegisterInfo(const Triple &)

Definition WebAssemblyMCTargetDesc.cpp:51

static MCInstPrinter * createMCInstPrinter(const Triple &, unsigned SyntaxVariant, const MCAsmInfo &MAI, const MCInstrInfo &MII, const MCRegisterInfo &MRI)

Definition WebAssemblyMCTargetDesc.cpp:57

static MCInstrInfo * createMCInstrInfo()

Definition WebAssemblyMCTargetDesc.cpp:45

static MCTargetStreamer * createNullTargetStreamer(MCStreamer &S)

Definition WebAssemblyMCTargetDesc.cpp:94

static MCAsmBackend * createAsmBackend(const Target &, const MCSubtargetInfo &STI, const MCRegisterInfo &, const MCTargetOptions &)

Definition WebAssemblyMCTargetDesc.cpp:71

LLVM_ABI LLVM_EXTERNAL_VISIBILITY void LLVMInitializeWebAssemblyTargetMC()

Definition WebAssemblyMCTargetDesc.cpp:100

static MCTargetStreamer * createObjectTargetStreamer(MCStreamer &S, const MCSubtargetInfo &STI)

Definition WebAssemblyMCTargetDesc.cpp:84

static MCTargetStreamer * createAsmTargetStreamer(MCStreamer &S, formatted_raw_ostream &OS, MCInstPrinter *)

Definition WebAssemblyMCTargetDesc.cpp:89

static MCCodeEmitter * createCodeEmitter(const MCInstrInfo &MCII, MCContext &Ctx)

Definition WebAssemblyMCTargetDesc.cpp:66

static MCSubtargetInfo * createMCSubtargetInfo(const Triple &TT, StringRef CPU, StringRef FS)

Definition WebAssemblyMCTargetDesc.cpp:78

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.

formatted_raw_ostream - A raw_ostream that wraps another one and keeps track of line and column posit...

This is an optimization pass for GlobalISel generic memory operations.

MCCodeEmitter * createWebAssemblyMCCodeEmitter(const MCInstrInfo &MCII, MCContext &Ctx)

MCAsmBackend * createWebAssemblyAsmBackend(const Triple &TT)

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)