10b57cec5SDimitry Andric//- WebAssemblyISD.def - WebAssembly ISD ---------------------------*- C++ -*-// 20b57cec5SDimitry Andric// 30b57cec5SDimitry Andric// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 40b57cec5SDimitry Andric// See https://llvm.org/LICENSE.txt for license information. 50b57cec5SDimitry Andric// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 60b57cec5SDimitry Andric// 70b57cec5SDimitry Andric//===----------------------------------------------------------------------===// 80b57cec5SDimitry Andric/// 90b57cec5SDimitry Andric/// \file 100b57cec5SDimitry Andric/// This file describes the various WebAssembly ISD node types. 110b57cec5SDimitry Andric/// 120b57cec5SDimitry Andric//===----------------------------------------------------------------------===// 130b57cec5SDimitry Andric 140b57cec5SDimitry Andric// NOTE: NO INCLUDE GUARD DESIRED! 150b57cec5SDimitry Andric 165ffd83dbSDimitry AndricHANDLE_NODETYPE(CALL) 170b57cec5SDimitry AndricHANDLE_NODETYPE(RET_CALL) 180b57cec5SDimitry AndricHANDLE_NODETYPE(RETURN) 190b57cec5SDimitry AndricHANDLE_NODETYPE(ARGUMENT) 20*fe6060f1SDimitry AndricHANDLE_NODETYPE(LOCAL_GET) 21*fe6060f1SDimitry AndricHANDLE_NODETYPE(LOCAL_SET) 220b57cec5SDimitry Andric// A wrapper node for TargetExternalSymbol, TargetGlobalAddress, and MCSymbol 230b57cec5SDimitry AndricHANDLE_NODETYPE(Wrapper) 24*fe6060f1SDimitry Andric// A special wapper used in PIC code for __memory_base/__table_base relative 250b57cec5SDimitry Andric// access. 260b57cec5SDimitry AndricHANDLE_NODETYPE(WrapperPIC) 270b57cec5SDimitry AndricHANDLE_NODETYPE(BR_IF) 280b57cec5SDimitry AndricHANDLE_NODETYPE(BR_TABLE) 290b57cec5SDimitry AndricHANDLE_NODETYPE(SHUFFLE) 308bcb0991SDimitry AndricHANDLE_NODETYPE(SWIZZLE) 310b57cec5SDimitry AndricHANDLE_NODETYPE(VEC_SHL) 320b57cec5SDimitry AndricHANDLE_NODETYPE(VEC_SHR_S) 330b57cec5SDimitry AndricHANDLE_NODETYPE(VEC_SHR_U) 34*fe6060f1SDimitry AndricHANDLE_NODETYPE(EXTEND_LOW_S) 35*fe6060f1SDimitry AndricHANDLE_NODETYPE(EXTEND_LOW_U) 36*fe6060f1SDimitry AndricHANDLE_NODETYPE(EXTEND_HIGH_S) 37*fe6060f1SDimitry AndricHANDLE_NODETYPE(EXTEND_HIGH_U) 38*fe6060f1SDimitry AndricHANDLE_NODETYPE(CONVERT_LOW_S) 39*fe6060f1SDimitry AndricHANDLE_NODETYPE(CONVERT_LOW_U) 40*fe6060f1SDimitry AndricHANDLE_NODETYPE(PROMOTE_LOW) 41*fe6060f1SDimitry AndricHANDLE_NODETYPE(TRUNC_SAT_ZERO_S) 42*fe6060f1SDimitry AndricHANDLE_NODETYPE(TRUNC_SAT_ZERO_U) 43*fe6060f1SDimitry AndricHANDLE_NODETYPE(DEMOTE_ZERO) 440b57cec5SDimitry AndricHANDLE_NODETYPE(THROW) 45e8d8bef9SDimitry AndricHANDLE_NODETYPE(CATCH) 460b57cec5SDimitry AndricHANDLE_NODETYPE(MEMORY_COPY) 470b57cec5SDimitry AndricHANDLE_NODETYPE(MEMORY_FILL) 480b57cec5SDimitry Andric 49480093f4SDimitry Andric// Memory intrinsics 50480093f4SDimitry AndricHANDLE_MEM_NODETYPE(LOAD_SPLAT) 51*fe6060f1SDimitry AndricHANDLE_MEM_NODETYPE(GLOBAL_GET) 52*fe6060f1SDimitry AndricHANDLE_MEM_NODETYPE(GLOBAL_SET) 53*fe6060f1SDimitry AndricHANDLE_MEM_NODETYPE(TABLE_SET) 54