LLVM  15.0.0git
Namespaces | Enumerations | Functions
WebAssemblyTypeUtilities.h File Reference
#include "llvm/ADT/Optional.h"
#include "llvm/BinaryFormat/Wasm.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/MC/MCSymbolWasm.h"
#include "llvm/Support/MachineValueType.h"
Include dependency graph for WebAssemblyTypeUtilities.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 llvm
 This is an optimization pass for GlobalISel generic memory operations.
 
 llvm::WebAssembly
 

Enumerations

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::Externref = unsigned(wasm::ValType::EXTERNREF),
  llvm::WebAssembly::BlockType::Funcref = unsigned(wasm::ValType::FUNCREF), llvm::WebAssembly::BlockType::Multivalue = 0xffff
}
 Used as immediate MachineOperands for block signatures. More...
 
enum  llvm::WebAssembly::WasmAddressSpace : unsigned { llvm::WebAssembly::WASM_ADDRESS_SPACE_DEFAULT = 0, llvm::WebAssembly::WASM_ADDRESS_SPACE_VAR = 1, llvm::WebAssembly::WASM_ADDRESS_SPACE_EXTERNREF = 10, llvm::WebAssembly::WASM_ADDRESS_SPACE_FUNCREF = 20 }
 

Functions

bool llvm::WebAssembly::isDefaultAddressSpace (unsigned AS)
 
bool llvm::WebAssembly::isWasmVarAddressSpace (unsigned AS)
 
bool llvm::WebAssembly::isValidAddressSpace (unsigned AS)
 
bool llvm::WebAssembly::isFuncrefType (const Type *Ty)
 
bool llvm::WebAssembly::isExternrefType (const Type *Ty)
 
bool llvm::WebAssembly::isRefType (const Type *Ty)
 
bool llvm::WebAssembly::isRefType (wasm::ValType Type)
 
Optional< wasm::ValTypellvm::WebAssembly::parseType (StringRef Type)
 
BlockType llvm::WebAssembly::parseBlockType (StringRef Type)
 
MVT llvm::WebAssembly::parseMVT (StringRef Type)
 
const char * llvm::WebAssembly::anyTypeToString (unsigned Type)
 
const char * llvm::WebAssembly::typeToString (wasm::ValType Type)
 
std::string llvm::WebAssembly::typeListToString (ArrayRef< wasm::ValType > List)
 
std::string llvm::WebAssembly::signatureToString (const wasm::WasmSignature *Sig)
 
wasm::ValType llvm::WebAssembly::toValType (MVT Type)
 
wasm::ValType llvm::WebAssembly::regClassToValType (unsigned RC)
 
void llvm::WebAssembly::wasmSymbolSetType (MCSymbolWasm *Sym, const Type *GlobalVT, const SmallVector< MVT, 1 > &VTs)
 Sets a Wasm Symbol Type. More...
 

Detailed Description

This file contains the declaration of the WebAssembly-specific type parsing utility functions.

Definition in file WebAssemblyTypeUtilities.h.