1//- WebAssemblyISD.def - WebAssembly ISD ---------------------------*- C++ -*-// 2// 3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4// See https://llvm.org/LICENSE.txt for license information. 5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6// 7//===----------------------------------------------------------------------===// 8/// 9/// \file 10/// This file describes the various WebAssembly ISD node types. 11/// 12//===----------------------------------------------------------------------===// 13 14// NOTE: NO INCLUDE GUARD DESIRED! 15 16HANDLE_NODETYPE(CALL) 17HANDLE_NODETYPE(RET_CALL) 18HANDLE_NODETYPE(RETURN) 19HANDLE_NODETYPE(ARGUMENT) 20// A wrapper node for TargetExternalSymbol, TargetGlobalAddress, and MCSymbol 21HANDLE_NODETYPE(Wrapper) 22// A special wapper used in PIC code for __memory_base/__table_base relative 23// access. 24HANDLE_NODETYPE(WrapperPIC) 25HANDLE_NODETYPE(BR_IF) 26HANDLE_NODETYPE(BR_TABLE) 27HANDLE_NODETYPE(SHUFFLE) 28HANDLE_NODETYPE(SWIZZLE) 29HANDLE_NODETYPE(VEC_SHL) 30HANDLE_NODETYPE(VEC_SHR_S) 31HANDLE_NODETYPE(VEC_SHR_U) 32HANDLE_NODETYPE(EXTEND_LOW_S) 33HANDLE_NODETYPE(EXTEND_LOW_U) 34HANDLE_NODETYPE(EXTEND_HIGH_S) 35HANDLE_NODETYPE(EXTEND_HIGH_U) 36HANDLE_NODETYPE(CONVERT_LOW_S) 37HANDLE_NODETYPE(CONVERT_LOW_U) 38HANDLE_NODETYPE(TRUNC_SAT_ZERO_S) 39HANDLE_NODETYPE(TRUNC_SAT_ZERO_U) 40HANDLE_NODETYPE(THROW) 41HANDLE_NODETYPE(CATCH) 42HANDLE_NODETYPE(MEMORY_COPY) 43HANDLE_NODETYPE(MEMORY_FILL) 44 45// Memory intrinsics 46HANDLE_MEM_NODETYPE(LOAD_SPLAT) 47HANDLE_MEM_NODETYPE(GLOBAL_GET) 48HANDLE_MEM_NODETYPE(GLOBAL_SET) 49