1;;! target = "x86_64"
2;;! flags = "-W function-references,gc -C collector=null"
3;;! test = "optimize"
4
5(module
6  (global $x (mut externref) (ref.null extern))
7  (func (export "get") (result externref)
8    (global.get $x)
9  )
10  (func (export "set") (param externref)
11    (global.set $x (local.get 0))
12  )
13)
14
15;; function u0:0(i64 vmctx, i64) -> i32 tail {
16;;     gv0 = vmctx
17;;     gv1 = load.i64 notrap aligned readonly gv0+8
18;;     gv2 = load.i64 notrap aligned gv1+24
19;;     gv3 = vmctx
20;;     stack_limit = gv2
21;;
22;;                                 block0(v0: i64, v1: i64):
23;;                                     v6 = iconst.i64 48
24;; @0034                               v4 = iadd v0, v6  ; v6 = 48
25;; @0034                               v5 = load.i32 notrap aligned v4
26;; @0036                               jump block1
27;;
28;;                                 block1:
29;; @0036                               return v5
30;; }
31;;
32;; function u0:1(i64 vmctx, i64, i32) tail {
33;;     gv0 = vmctx
34;;     gv1 = load.i64 notrap aligned readonly gv0+8
35;;     gv2 = load.i64 notrap aligned gv1+24
36;;     gv3 = vmctx
37;;     stack_limit = gv2
38;;
39;;                                 block0(v0: i64, v1: i64, v2: i32):
40;;                                     v5 = iconst.i64 48
41;; @003b                               v4 = iadd v0, v5  ; v5 = 48
42;; @003b                               store notrap aligned v2, v4
43;; @003d                               jump block1
44;;
45;;                                 block1:
46;; @003d                               return
47;; }
48