xref: /wasmtime-44.0.1/tests/disas/dead-code.wat (revision 7e0331c2)
1;;! target = "x86_64"
2
3(module
4  (func (param i32)
5    (loop
6      (block
7        local.get 0
8        br_if 0
9        br 1)))
10
11  (func (param i32)
12    (loop
13      (block
14        br 1
15        call $empty)))
16
17  (func $empty)
18
19  (func (param i32) (result i32)
20    i32.const 1
21    return
22    i32.const 42)
23)
24;; function u0:0(i64 vmctx, i64, i32) tail {
25;;     gv0 = vmctx
26;;     gv1 = load.i64 notrap aligned readonly gv0+8
27;;     gv2 = load.i64 notrap aligned gv1+24
28;;     stack_limit = gv2
29;;
30;;                                 block0(v0: i64, v1: i64, v2: i32):
31;; @0023                               jump block2
32;;
33;;                                 block2:
34;; @0029                               brif.i32 v2, block4, block5
35;;
36;;                                 block5:
37;; @002b                               jump block2
38;;
39;;                                 block4:
40;; @002e                               jump block3
41;;
42;;                                 block3:
43;; @002f                               jump block1
44;;
45;;                                 block1:
46;; @002f                               return
47;; }
48;;
49;; function u0:1(i64 vmctx, i64, i32) tail {
50;;     gv0 = vmctx
51;;     gv1 = load.i64 notrap aligned readonly gv0+8
52;;     gv2 = load.i64 notrap aligned gv1+24
53;;     stack_limit = gv2
54;;
55;;                                 block0(v0: i64, v1: i64, v2: i32):
56;; @0032                               jump block2
57;;
58;;                                 block2:
59;; @0036                               jump block2
60;; }
61;;
62;; function u0:2(i64 vmctx, i64) tail {
63;;     gv0 = vmctx
64;;     gv1 = load.i64 notrap aligned readonly gv0+8
65;;     gv2 = load.i64 notrap aligned gv1+24
66;;     stack_limit = gv2
67;;
68;;                                 block0(v0: i64, v1: i64):
69;; @003f                               jump block1
70;;
71;;                                 block1:
72;; @003f                               return
73;; }
74;;
75;; function u0:3(i64 vmctx, i64, i32) -> i32 tail {
76;;     gv0 = vmctx
77;;     gv1 = load.i64 notrap aligned readonly gv0+8
78;;     gv2 = load.i64 notrap aligned gv1+24
79;;     stack_limit = gv2
80;;
81;;                                 block0(v0: i64, v1: i64, v2: i32):
82;; @0042                               v4 = iconst.i32 1
83;; @0044                               return v4  ; v4 = 1
84;; }
85