Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / lib / Target / WebAssembly / WebAssemblyISD.def
blobb8954f4693f0a0e2669f5bdfdf9844f2f3cfb2f3
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 //===----------------------------------------------------------------------===//
14 // NOTE: NO INCLUDE GUARD DESIRED!
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)
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)