WebAssemblyISD.def 1.6 KB

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