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 | |
16 | HANDLE_NODETYPE(CALL) |
17 | HANDLE_NODETYPE(RET_CALL) |
18 | HANDLE_NODETYPE(RETURN) |
19 | HANDLE_NODETYPE(ARGUMENT) |
20 | HANDLE_NODETYPE(LOCAL_GET) |
21 | HANDLE_NODETYPE(LOCAL_SET) |
22 | // A wrapper node for TargetExternalSymbol, TargetGlobalAddress, and MCSymbol |
23 | HANDLE_NODETYPE(Wrapper) |
24 | // A special node for TargetGlobalAddress used in PIC code for |
25 | // __memory_base/__table_base relative access. |
26 | HANDLE_NODETYPE(WrapperREL) |
27 | HANDLE_NODETYPE(BR_IF) |
28 | HANDLE_NODETYPE(BR_TABLE) |
29 | HANDLE_NODETYPE(SHUFFLE) |
30 | HANDLE_NODETYPE(SWIZZLE) |
31 | HANDLE_NODETYPE(VEC_SHL) |
32 | HANDLE_NODETYPE(VEC_SHR_S) |
33 | HANDLE_NODETYPE(VEC_SHR_U) |
34 | HANDLE_NODETYPE(NARROW_U) |
35 | HANDLE_NODETYPE(EXTEND_LOW_S) |
36 | HANDLE_NODETYPE(EXTEND_LOW_U) |
37 | HANDLE_NODETYPE(EXTEND_HIGH_S) |
38 | HANDLE_NODETYPE(EXTEND_HIGH_U) |
39 | HANDLE_NODETYPE(CONVERT_LOW_S) |
40 | HANDLE_NODETYPE(CONVERT_LOW_U) |
41 | HANDLE_NODETYPE(PROMOTE_LOW) |
42 | HANDLE_NODETYPE(TRUNC_SAT_ZERO_S) |
43 | HANDLE_NODETYPE(TRUNC_SAT_ZERO_U) |
44 | HANDLE_NODETYPE(DEMOTE_ZERO) |
45 | HANDLE_NODETYPE(MEMORY_COPY) |
46 | HANDLE_NODETYPE(MEMORY_FILL) |
47 | |
48 | // Memory intrinsics |
49 | HANDLE_MEM_NODETYPE(GLOBAL_GET) |
50 | HANDLE_MEM_NODETYPE(GLOBAL_SET) |
51 | HANDLE_MEM_NODETYPE(TABLE_GET) |
52 | HANDLE_MEM_NODETYPE(TABLE_SET) |
53 |