xref: /freebsd/contrib/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyISD.def (revision a7dea1671b87c07d2d266f836bfa8b58efc7c134)
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(CALL1)
17HANDLE_NODETYPE(CALL0)
18HANDLE_NODETYPE(RET_CALL)
19HANDLE_NODETYPE(RETURN)
20HANDLE_NODETYPE(ARGUMENT)
21// A wrapper node for TargetExternalSymbol, TargetGlobalAddress, and MCSymbol
22HANDLE_NODETYPE(Wrapper)
23// A special wapper used in PIC code for __memory_base/__table_base relcative
24// access.
25HANDLE_NODETYPE(WrapperPIC)
26HANDLE_NODETYPE(BR_IF)
27HANDLE_NODETYPE(BR_TABLE)
28HANDLE_NODETYPE(SHUFFLE)
29HANDLE_NODETYPE(SWIZZLE)
30HANDLE_NODETYPE(VEC_SHL)
31HANDLE_NODETYPE(VEC_SHR_S)
32HANDLE_NODETYPE(VEC_SHR_U)
33HANDLE_NODETYPE(LOAD_SPLAT)
34HANDLE_NODETYPE(THROW)
35HANDLE_NODETYPE(MEMORY_COPY)
36HANDLE_NODETYPE(MEMORY_FILL)
37
38// add memory opcodes starting at ISD::FIRST_TARGET_MEMORY_OPCODE here...
39