LLVM  8.0.1
Namespaces | Macros | Enumerations | Functions | Variables
WebAssemblyMCTargetDesc.h File Reference

This file provides WebAssembly-specific target descriptions. More...

#include "llvm/BinaryFormat/Wasm.h"
#include "llvm/MC/MCInstrDesc.h"
#include "llvm/Support/DataTypes.h"
#include <memory>
#include "WebAssemblyGenRegisterInfo.inc"
#include "WebAssemblyGenInstrInfo.inc"
#include "WebAssemblyGenSubtargetInfo.inc"
Include dependency graph for WebAssemblyMCTargetDesc.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 llvm
 This class represents lattice values for constants.
 
 llvm::WebAssembly
 
 llvm::WebAssemblyII
 

Macros

#define GET_REGINFO_ENUM
 
#define GET_INSTRINFO_ENUM
 
#define GET_SUBTARGETINFO_ENUM
 

Enumerations

enum  llvm::WebAssembly::OperandType {
  llvm::WebAssembly::OPERAND_BASIC_BLOCK = MCOI::OPERAND_FIRST_TARGET, llvm::WebAssembly::OPERAND_LOCAL, llvm::WebAssembly::OPERAND_GLOBAL, llvm::WebAssembly::OPERAND_I32IMM,
  llvm::WebAssembly::OPERAND_I64IMM, llvm::WebAssembly::OPERAND_F32IMM, llvm::WebAssembly::OPERAND_F64IMM, llvm::WebAssembly::OPERAND_VEC_I8IMM,
  llvm::WebAssembly::OPERAND_VEC_I16IMM, llvm::WebAssembly::OPERAND_VEC_I32IMM, llvm::WebAssembly::OPERAND_VEC_I64IMM, llvm::WebAssembly::OPERAND_FUNCTION32,
  llvm::WebAssembly::OPERAND_OFFSET32, llvm::WebAssembly::OPERAND_P2ALIGN, llvm::WebAssembly::OPERAND_SIGNATURE, llvm::WebAssembly::OPERAND_TYPEINDEX,
  llvm::WebAssembly::OPERAND_EVENT, llvm::WebAssembly::OPERAND_BRLIST
}
 
enum  llvm::WebAssemblyII::TOF {
  llvm::WebAssemblyII::MO_NO_FLAG = 0, llvm::WebAssemblyII::MO_SYMBOL_FUNCTION = 0x1, llvm::WebAssemblyII::MO_SYMBOL_GLOBAL = 0x2, llvm::WebAssemblyII::MO_SYMBOL_EVENT = 0x4,
  llvm::WebAssemblyII::MO_SYMBOL_MASK = 0x7
}
 Target Operand Flag enum. More...
 
enum  llvm::WebAssembly::ExprType : unsigned {
  llvm::WebAssembly::ExprType::Void = 0x40, llvm::WebAssembly::ExprType::I32 = 0x7F, llvm::WebAssembly::ExprType::I64 = 0x7E, llvm::WebAssembly::ExprType::F32 = 0x7D,
  llvm::WebAssembly::ExprType::F64 = 0x7C, llvm::WebAssembly::ExprType::V128 = 0x7B, llvm::WebAssembly::ExprType::ExceptRef = 0x68, llvm::WebAssembly::ExprType::Invalid = 0x00
}
 This is used to indicate block signatures. More...
 

Functions

Targetllvm::getTheWebAssemblyTarget32 ()
 
Targetllvm::getTheWebAssemblyTarget64 ()
 
MCCodeEmitterllvm::createWebAssemblyMCCodeEmitter (const MCInstrInfo &MCII)
 
MCAsmBackendllvm::createWebAssemblyAsmBackend (const Triple &TT)
 
std::unique_ptr< MCObjectTargetWriterllvm::createWebAssemblyWasmObjectWriter (bool Is64Bit)
 
unsigned llvm::WebAssembly::GetDefaultP2Align (unsigned Opcode)
 Return the default p2align value for a load or store with the given opcode. More...
 
wasm::ValType llvm::WebAssembly::toValType (const MVT &Ty)
 

Variables

static const unsigned llvm::WebAssembly::LoadAddressOperandNo = 3
 The operand number of the load or store address in load/store instructions. More...
 
static const unsigned llvm::WebAssembly::StoreAddressOperandNo = 2
 
static const unsigned llvm::WebAssembly::LoadP2AlignOperandNo = 1
 The operand number of the load or store p2align in load/store instructions. More...
 
static const unsigned llvm::WebAssembly::StoreP2AlignOperandNo = 0
 
static const unsigned llvm::WebAssembly::Nop = 0x01
 Instruction opcodes emitted via means other than CodeGen. More...
 
static const unsigned llvm::WebAssembly::End = 0x0b
 

Detailed Description

This file provides WebAssembly-specific target descriptions.

Definition in file WebAssemblyMCTargetDesc.h.

Macro Definition Documentation

◆ GET_INSTRINFO_ENUM

#define GET_INSTRINFO_ENUM

Definition at line 111 of file WebAssemblyMCTargetDesc.h.

◆ GET_REGINFO_ENUM

#define GET_REGINFO_ENUM

Definition at line 106 of file WebAssemblyMCTargetDesc.h.

◆ GET_SUBTARGETINFO_ENUM

#define GET_SUBTARGETINFO_ENUM

Definition at line 114 of file WebAssemblyMCTargetDesc.h.