xref: /freebsd/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyISD.def (revision 8bcb0991864975618c09697b1aca10683346d9f0)
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
160b57cec5SDimitry AndricHANDLE_NODETYPE(CALL1)
170b57cec5SDimitry AndricHANDLE_NODETYPE(CALL0)
180b57cec5SDimitry AndricHANDLE_NODETYPE(RET_CALL)
190b57cec5SDimitry AndricHANDLE_NODETYPE(RETURN)
200b57cec5SDimitry AndricHANDLE_NODETYPE(ARGUMENT)
210b57cec5SDimitry Andric// A wrapper node for TargetExternalSymbol, TargetGlobalAddress, and MCSymbol
220b57cec5SDimitry AndricHANDLE_NODETYPE(Wrapper)
230b57cec5SDimitry Andric// A special wapper used in PIC code for __memory_base/__table_base relcative
240b57cec5SDimitry Andric// access.
250b57cec5SDimitry AndricHANDLE_NODETYPE(WrapperPIC)
260b57cec5SDimitry AndricHANDLE_NODETYPE(BR_IF)
270b57cec5SDimitry AndricHANDLE_NODETYPE(BR_TABLE)
280b57cec5SDimitry AndricHANDLE_NODETYPE(SHUFFLE)
29*8bcb0991SDimitry AndricHANDLE_NODETYPE(SWIZZLE)
300b57cec5SDimitry AndricHANDLE_NODETYPE(VEC_SHL)
310b57cec5SDimitry AndricHANDLE_NODETYPE(VEC_SHR_S)
320b57cec5SDimitry AndricHANDLE_NODETYPE(VEC_SHR_U)
33*8bcb0991SDimitry AndricHANDLE_NODETYPE(LOAD_SPLAT)
340b57cec5SDimitry AndricHANDLE_NODETYPE(THROW)
350b57cec5SDimitry AndricHANDLE_NODETYPE(MEMORY_COPY)
360b57cec5SDimitry AndricHANDLE_NODETYPE(MEMORY_FILL)
370b57cec5SDimitry Andric
380b57cec5SDimitry Andric// add memory opcodes starting at ISD::FIRST_TARGET_MEMORY_OPCODE here...
39