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) 20HANDLE_NODETYPE(LOCAL_GET) 21HANDLE_NODETYPE(LOCAL_SET) 22// A wrapper node for TargetExternalSymbol, TargetGlobalAddress, and MCSymbol 23HANDLE_NODETYPE(Wrapper) 24// A special node for TargetGlobalAddress used in PIC code for 25// __memory_base/__table_base relative access. 26HANDLE_NODETYPE(WrapperREL) 27HANDLE_NODETYPE(BR_IF) 28HANDLE_NODETYPE(BR_TABLE) 29HANDLE_NODETYPE(SHUFFLE) 30HANDLE_NODETYPE(SWIZZLE) 31HANDLE_NODETYPE(VEC_SHL) 32HANDLE_NODETYPE(VEC_SHR_S) 33HANDLE_NODETYPE(VEC_SHR_U) 34HANDLE_NODETYPE(NARROW_U) 35HANDLE_NODETYPE(EXTEND_LOW_S) 36HANDLE_NODETYPE(EXTEND_LOW_U) 37HANDLE_NODETYPE(EXTEND_HIGH_S) 38HANDLE_NODETYPE(EXTEND_HIGH_U) 39HANDLE_NODETYPE(CONVERT_LOW_S) 40HANDLE_NODETYPE(CONVERT_LOW_U) 41HANDLE_NODETYPE(PROMOTE_LOW) 42HANDLE_NODETYPE(TRUNC_SAT_ZERO_S) 43HANDLE_NODETYPE(TRUNC_SAT_ZERO_U) 44HANDLE_NODETYPE(DEMOTE_ZERO) 45HANDLE_NODETYPE(MEMORY_COPY) 46HANDLE_NODETYPE(MEMORY_FILL) 47 48// Memory intrinsics 49HANDLE_MEM_NODETYPE(LOAD_SPLAT) 50HANDLE_MEM_NODETYPE(GLOBAL_GET) 51HANDLE_MEM_NODETYPE(GLOBAL_SET) 52HANDLE_MEM_NODETYPE(TABLE_GET) 53HANDLE_MEM_NODETYPE(TABLE_SET) 54