1 //- WebAssemblyISD.def
- WebAssembly ISD
---------------------------*- C
++ -*-//
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
7 //===----------------------------------------------------------------------===//
10 /// This file describes the various WebAssembly ISD node types.
12 //===----------------------------------------------------------------------===//
14 // NOTE
: NO INCLUDE GUARD DESIRED
!
16 HANDLE_NODETYPE(CALL1
)
17 HANDLE_NODETYPE(CALL0
)
18 HANDLE_NODETYPE(RET_CALL
)
19 HANDLE_NODETYPE(RETURN)
20 HANDLE_NODETYPE(ARGUMENT
)
21 // A wrapper node for TargetExternalSymbol
, TargetGlobalAddress
, and MCSymbol
22 HANDLE_NODETYPE(Wrapper
)
23 // A special wapper used in PIC code for __memory_base
/__table_base relcative
25 HANDLE_NODETYPE(WrapperPIC
)
26 HANDLE_NODETYPE(BR_IF
)
27 HANDLE_NODETYPE(BR_TABLE
)
28 HANDLE_NODETYPE(SHUFFLE
)
29 HANDLE_NODETYPE(SWIZZLE
)
30 HANDLE_NODETYPE(VEC_SHL
)
31 HANDLE_NODETYPE(VEC_SHR_S
)
32 HANDLE_NODETYPE(VEC_SHR_U
)
33 HANDLE_NODETYPE(LOAD_SPLAT
)
34 HANDLE_NODETYPE(THROW
)
35 HANDLE_NODETYPE(MEMORY_COPY
)
36 HANDLE_NODETYPE(MEMORY_FILL
)
38 // add memory opcodes starting at ISD
::FIRST_TARGET_MEMORY_OPCODE here...