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) 20fe6060f1SDimitry AndricHANDLE_NODETYPE(LOCAL_GET) 21fe6060f1SDimitry AndricHANDLE_NODETYPE(LOCAL_SET) 220b57cec5SDimitry Andric// A wrapper node for TargetExternalSymbol, TargetGlobalAddress, and MCSymbol 230b57cec5SDimitry AndricHANDLE_NODETYPE(Wrapper) 24349cc55cSDimitry Andric// A special node for TargetGlobalAddress used in PIC code for 25349cc55cSDimitry Andric// __memory_base/__table_base relative access. 26349cc55cSDimitry AndricHANDLE_NODETYPE(WrapperREL) 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*0eae32dcSDimitry AndricHANDLE_NODETYPE(NARROW_U) 35fe6060f1SDimitry AndricHANDLE_NODETYPE(EXTEND_LOW_S) 36fe6060f1SDimitry AndricHANDLE_NODETYPE(EXTEND_LOW_U) 37fe6060f1SDimitry AndricHANDLE_NODETYPE(EXTEND_HIGH_S) 38fe6060f1SDimitry AndricHANDLE_NODETYPE(EXTEND_HIGH_U) 39fe6060f1SDimitry AndricHANDLE_NODETYPE(CONVERT_LOW_S) 40fe6060f1SDimitry AndricHANDLE_NODETYPE(CONVERT_LOW_U) 41fe6060f1SDimitry AndricHANDLE_NODETYPE(PROMOTE_LOW) 42fe6060f1SDimitry AndricHANDLE_NODETYPE(TRUNC_SAT_ZERO_S) 43fe6060f1SDimitry AndricHANDLE_NODETYPE(TRUNC_SAT_ZERO_U) 44fe6060f1SDimitry AndricHANDLE_NODETYPE(DEMOTE_ZERO) 450b57cec5SDimitry AndricHANDLE_NODETYPE(MEMORY_COPY) 460b57cec5SDimitry AndricHANDLE_NODETYPE(MEMORY_FILL) 470b57cec5SDimitry Andric 48480093f4SDimitry Andric// Memory intrinsics 49480093f4SDimitry AndricHANDLE_MEM_NODETYPE(LOAD_SPLAT) 50fe6060f1SDimitry AndricHANDLE_MEM_NODETYPE(GLOBAL_GET) 51fe6060f1SDimitry AndricHANDLE_MEM_NODETYPE(GLOBAL_SET) 52349cc55cSDimitry AndricHANDLE_MEM_NODETYPE(TABLE_GET) 53fe6060f1SDimitry AndricHANDLE_MEM_NODETYPE(TABLE_SET) 54