@@ -31,12 +31,17 @@ def int_wasm_ref_null_extern :
3131 DefaultAttrsIntrinsic<[llvm_externref_ty], [], [IntrNoMem]>;
3232def int_wasm_ref_null_func :
3333 DefaultAttrsIntrinsic<[llvm_funcref_ty], [], [IntrNoMem]>;
34+ def int_wasm_ref_null_exn:
35+ DefaultAttrsIntrinsic<[llvm_exnref_ty], [], [IntrNoMem]>;
3436def int_wasm_ref_is_null_extern :
3537 DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_externref_ty], [IntrNoMem],
3638 "llvm.wasm.ref.is_null.extern">;
3739def int_wasm_ref_is_null_func :
3840 DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_funcref_ty],
3941 [IntrNoMem], "llvm.wasm.ref.is_null.func">;
42+ def int_wasm_ref_is_null_exn :
43+ DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_exnref_ty], [IntrNoMem],
44+ "llvm.wasm.ref.is_null.exn">;
4045
4146//===----------------------------------------------------------------------===//
4247// Table intrinsics
@@ -47,13 +52,19 @@ def int_wasm_table_set_externref :
4752def int_wasm_table_set_funcref :
4853 DefaultAttrsIntrinsic<[], [llvm_table_ty, llvm_i32_ty, llvm_funcref_ty],
4954 [IntrWriteMem]>;
55+ def int_wasm_table_set_exnref :
56+ DefaultAttrsIntrinsic<[], [llvm_table_ty, llvm_i32_ty, llvm_exnref_ty],
57+ [IntrWriteMem]>;
5058
5159def int_wasm_table_get_externref :
5260 DefaultAttrsIntrinsic<[llvm_externref_ty], [llvm_table_ty, llvm_i32_ty],
5361 [IntrReadMem]>;
5462def int_wasm_table_get_funcref :
5563 DefaultAttrsIntrinsic<[llvm_funcref_ty], [llvm_table_ty, llvm_i32_ty],
5664 [IntrReadMem]>;
65+ def int_wasm_table_get_exnref :
66+ DefaultAttrsIntrinsic<[llvm_exnref_ty], [llvm_table_ty, llvm_i32_ty],
67+ [IntrReadMem]>;
5768
5869// Query the current table size, and increase the current table size.
5970def int_wasm_table_size :
@@ -68,6 +79,9 @@ def int_wasm_table_grow_externref :
6879def int_wasm_table_grow_funcref :
6980 DefaultAttrsIntrinsic<[llvm_i32_ty],
7081 [llvm_table_ty, llvm_funcref_ty, llvm_i32_ty], []>;
82+ def int_wasm_table_grow_exnref :
83+ DefaultAttrsIntrinsic<[llvm_i32_ty],
84+ [llvm_table_ty, llvm_exnref_ty, llvm_i32_ty], []>;
7185def int_wasm_table_fill_externref :
7286 DefaultAttrsIntrinsic<[],
7387 [llvm_table_ty, llvm_i32_ty, llvm_externref_ty,
@@ -76,6 +90,10 @@ def int_wasm_table_fill_funcref :
7690 DefaultAttrsIntrinsic<[],
7791 [llvm_table_ty, llvm_i32_ty, llvm_funcref_ty,
7892 llvm_i32_ty], []>;
93+ def int_wasm_table_fill_exnref :
94+ DefaultAttrsIntrinsic<[],
95+ [llvm_table_ty, llvm_i32_ty, llvm_exnref_ty,
96+ llvm_i32_ty], []>;
7997
8098//===----------------------------------------------------------------------===//
8199// Trapping float-to-int conversions
0 commit comments