xref: /freebsd/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyISD.def (revision fe6060f10f634930ff71b7c50291ddc610da2475)
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