xref: /wasmtime-44.0.1/tests/disas/dead-code.wat (revision 6c518480)
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) fast {
25;;     gv0 = vmctx
26;;     gv1 = load.i64 notrap aligned readonly gv0+8
27;;     gv2 = load.i64 notrap aligned gv1
28;;     stack_limit = gv2
29;;
30;;                                 block0(v0: i64, v1: i64, v2: i32):
31;;                                     v3 -> v2
32;; @0023                               jump block2
33;;
34;;                                 block2:
35;; @0029                               brif.i32 v2, block4, block5
36;;
37;;                                 block5:
38;; @002b                               jump block2
39;;
40;;                                 block4:
41;; @002e                               jump block3
42;;
43;;                                 block3:
44;; @002f                               jump block1
45;;
46;;                                 block1:
47;; @002f                               return
48;; }
49;;
50;; function u0:1(i64 vmctx, i64, i32) fast {
51;;     gv0 = vmctx
52;;     gv1 = load.i64 notrap aligned readonly gv0+8
53;;     gv2 = load.i64 notrap aligned gv1
54;;     stack_limit = gv2
55;;
56;;                                 block0(v0: i64, v1: i64, v2: i32):
57;; @0032                               jump block2
58;;
59;;                                 block2:
60;; @0036                               jump block2
61;; }
62;;
63;; function u0:2(i64 vmctx, i64) fast {
64;;     gv0 = vmctx
65;;     gv1 = load.i64 notrap aligned readonly gv0+8
66;;     gv2 = load.i64 notrap aligned gv1
67;;     stack_limit = gv2
68;;
69;;                                 block0(v0: i64, v1: i64):
70;; @003f                               jump block1
71;;
72;;                                 block1:
73;; @003f                               return
74;; }
75;;
76;; function u0:3(i64 vmctx, i64, i32) -> i32 fast {
77;;     gv0 = vmctx
78;;     gv1 = load.i64 notrap aligned readonly gv0+8
79;;     gv2 = load.i64 notrap aligned gv1
80;;     stack_limit = gv2
81;;
82;;                                 block0(v0: i64, v1: i64, v2: i32):
83;; @0042                               v4 = iconst.i32 1
84;; @0044                               return v4  ; v4 = 1
85;; }
86