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

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

#include "../WebAssemblySubtarget.h"
#include "llvm/BinaryFormat/Wasm.h"
#include "llvm/MC/MCInstrDesc.h"
#include "llvm/Support/DataTypes.h"
#include <memory>
#include "WebAssemblyGenRegisterInfo.inc"
#include "WebAssemblyGenInstrInfo.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
 

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_GOT, llvm::WebAssemblyII::MO_MEMORY_BASE_REL, llvm::WebAssemblyII::MO_TABLE_BASE_REL }
 Target Operand Flag enum. More...
 
enum  llvm::WebAssembly::BlockType : unsigned {
  llvm::WebAssembly::BlockType::Invalid = 0x00, llvm::WebAssembly::BlockType::Void = 0x40, llvm::WebAssembly::BlockType::I32 = unsigned(wasm::ValType::I32), llvm::WebAssembly::BlockType::I64 = unsigned(wasm::ValType::I64),
  llvm::WebAssembly::BlockType::F32 = unsigned(wasm::ValType::F32), llvm::WebAssembly::BlockType::F64 = unsigned(wasm::ValType::F64), llvm::WebAssembly::BlockType::V128 = unsigned(wasm::ValType::V128), llvm::WebAssembly::BlockType::Exnref = unsigned(wasm::ValType::EXNREF),
  llvm::WebAssembly::BlockType::Multivalue = 0xffff
}
 Used as immediate MachineOperands for block signatures. More...
 

Functions

MCCodeEmitterllvm::createWebAssemblyMCCodeEmitter (const MCInstrInfo &MCII)
 
MCAsmBackendllvm::createWebAssemblyAsmBackend (const Triple &TT)
 
std::unique_ptr< MCObjectTargetWriterllvm::createWebAssemblyWasmObjectWriter (bool Is64Bit, bool IsEmscripten)
 
wasm::ValType llvm::WebAssembly::toValType (const MVT &Ty)
 
unsigned llvm::WebAssembly::GetDefaultP2AlignAny (unsigned Opc)
 Return the default p2align value for a load or store with the given opcode. More...
 
unsigned llvm::WebAssembly::GetDefaultP2Align (unsigned Opc)
 
bool llvm::WebAssembly::isArgument (unsigned Opc)
 
bool llvm::WebAssembly::isCopy (unsigned Opc)
 
bool llvm::WebAssembly::isTee (unsigned Opc)
 
bool llvm::WebAssembly::isCallDirect (unsigned Opc)
 
bool llvm::WebAssembly::isCallIndirect (unsigned Opc)
 
unsigned llvm::WebAssembly::getCalleeOpNo (unsigned Opc)
 Returns the operand number of a callee, assuming the argument is a call instruction. More...
 
bool llvm::WebAssembly::isMarker (unsigned Opc)
 

Variables

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 119 of file WebAssemblyMCTargetDesc.h.

◆ GET_REGINFO_ENUM

#define GET_REGINFO_ENUM

Definition at line 114 of file WebAssemblyMCTargetDesc.h.