1;;! target = "x86_64"
2;;! flags = "-W function-references,gc -C collector=null"
3;;! test = "optimize"
4
5(module
6  (func (param anyref) (result i32)
7    (ref.is_null (local.get 0))
8  )
9  (func (param (ref any)) (result i32)
10    (ref.is_null (local.get 0))
11  )
12)
13;; function u0:0(i64 vmctx, i64, i32) -> i32 tail {
14;;     gv0 = vmctx
15;;     gv1 = load.i64 notrap aligned readonly gv0+8
16;;     gv2 = load.i64 notrap aligned gv1+24
17;;     stack_limit = gv2
18;;
19;;                                 block0(v0: i64, v1: i64, v2: i32):
20;; @0023                               jump block1
21;;
22;;                                 block1:
23;;                                     v6 = iconst.i32 0
24;;                                     v4 = icmp.i32 eq v2, v6  ; v6 = 0
25;;                                     v5 = uextend.i32 v4
26;; @0023                               return v5
27;; }
28;;
29;; function u0:1(i64 vmctx, i64, i32) -> i32 tail {
30;;     gv0 = vmctx
31;;     gv1 = load.i64 notrap aligned readonly gv0+8
32;;     gv2 = load.i64 notrap aligned gv1+24
33;;     stack_limit = gv2
34;;
35;;                                 block0(v0: i64, v1: i64, v2: i32):
36;; @0029                               jump block1
37;;
38;;                                 block1:
39;;                                     v4 = iconst.i32 0
40;; @0029                               return v4  ; v4 = 0
41;; }
42