LLVM  6.0.0svn
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
 Compute iterated dominance frontiers using a linear time algorithm.
 
 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_FUNCTION32,
  llvm::WebAssembly::OPERAND_OFFSET32, llvm::WebAssembly::OPERAND_P2ALIGN, llvm::WebAssembly::OPERAND_SIGNATURE, llvm::WebAssembly::OPERAND_TYPEINDEX
}
 
enum  { llvm::WebAssemblyII::VariableOpIsImmediate = (1 << 0), llvm::WebAssemblyII::VariableOpImmediateIsLabel = (1 << 1) }
 
enum  llvm::WebAssembly::ExprType {
  llvm::WebAssembly::ExprType::Void = -0x40, llvm::WebAssembly::ExprType::I32 = -0x01, llvm::WebAssembly::ExprType::I64 = -0x02, llvm::WebAssembly::ExprType::F32 = -0x03,
  llvm::WebAssembly::ExprType::F64 = -0x04, llvm::WebAssembly::ExprType::I8x16 = -0x05, llvm::WebAssembly::ExprType::I16x8 = -0x06, llvm::WebAssembly::ExprType::I32x4 = -0x07,
  llvm::WebAssembly::ExprType::F32x4 = -0x08, llvm::WebAssembly::ExprType::B8x16 = -0x09, llvm::WebAssembly::ExprType::B16x8 = -0x0a, llvm::WebAssembly::ExprType::B32x4 = -0x0b
}
 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< MCObjectWriterllvm::createWebAssemblyELFObjectWriter (raw_pwrite_stream &OS, bool Is64Bit, uint8_t OSABI)
 
std::unique_ptr< MCObjectWriterllvm::createWebAssemblyWasmObjectWriter (raw_pwrite_stream &OS, 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 101 of file WebAssemblyMCTargetDesc.h.

◆ GET_REGINFO_ENUM

#define GET_REGINFO_ENUM

Definition at line 96 of file WebAssemblyMCTargetDesc.h.

◆ GET_SUBTARGETINFO_ENUM

#define GET_SUBTARGETINFO_ENUM

Definition at line 104 of file WebAssemblyMCTargetDesc.h.