@@ -31,12 +31,17 @@ def int_wasm_ref_null_extern :
31
31
DefaultAttrsIntrinsic<[llvm_externref_ty], [], [IntrNoMem]>;
32
32
def int_wasm_ref_null_func :
33
33
DefaultAttrsIntrinsic<[llvm_funcref_ty], [], [IntrNoMem]>;
34
+ def int_wasm_ref_null_exn:
35
+ DefaultAttrsIntrinsic<[llvm_exnref_ty], [], [IntrNoMem]>;
34
36
def int_wasm_ref_is_null_extern :
35
37
DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_externref_ty], [IntrNoMem],
36
38
"llvm.wasm.ref.is_null.extern">;
37
39
def int_wasm_ref_is_null_func :
38
40
DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_funcref_ty],
39
41
[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">;
40
45
41
46
//===----------------------------------------------------------------------===//
42
47
// Table intrinsics
@@ -47,13 +52,19 @@ def int_wasm_table_set_externref :
47
52
def int_wasm_table_set_funcref :
48
53
DefaultAttrsIntrinsic<[], [llvm_table_ty, llvm_i32_ty, llvm_funcref_ty],
49
54
[IntrWriteMem]>;
55
+ def int_wasm_table_set_exnref :
56
+ DefaultAttrsIntrinsic<[], [llvm_table_ty, llvm_i32_ty, llvm_exnref_ty],
57
+ [IntrWriteMem]>;
50
58
51
59
def int_wasm_table_get_externref :
52
60
DefaultAttrsIntrinsic<[llvm_externref_ty], [llvm_table_ty, llvm_i32_ty],
53
61
[IntrReadMem]>;
54
62
def int_wasm_table_get_funcref :
55
63
DefaultAttrsIntrinsic<[llvm_funcref_ty], [llvm_table_ty, llvm_i32_ty],
56
64
[IntrReadMem]>;
65
+ def int_wasm_table_get_exnref :
66
+ DefaultAttrsIntrinsic<[llvm_exnref_ty], [llvm_table_ty, llvm_i32_ty],
67
+ [IntrReadMem]>;
57
68
58
69
// Query the current table size, and increase the current table size.
59
70
def int_wasm_table_size :
@@ -68,6 +79,9 @@ def int_wasm_table_grow_externref :
68
79
def int_wasm_table_grow_funcref :
69
80
DefaultAttrsIntrinsic<[llvm_i32_ty],
70
81
[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], []>;
71
85
def int_wasm_table_fill_externref :
72
86
DefaultAttrsIntrinsic<[],
73
87
[llvm_table_ty, llvm_i32_ty, llvm_externref_ty,
@@ -76,6 +90,10 @@ def int_wasm_table_fill_funcref :
76
90
DefaultAttrsIntrinsic<[],
77
91
[llvm_table_ty, llvm_i32_ty, llvm_funcref_ty,
78
92
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], []>;
79
97
80
98
//===----------------------------------------------------------------------===//
81
99
// Trapping float-to-int conversions
0 commit comments