blob: bcf9f6c54c46efd47b92f7db1e651b68e361f5cf (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
;; NOTE: Assertions have been generated by update_lit_checks.py --all-items and should not be edited.
;; RUN: wasm-opt %s -all -S -o - | filecheck %s
;; RUN: wasm-opt %s -all --roundtrip -S -o - | filecheck %s
(module
(rec
;; CHECK: (type $0 (func))
;; CHECK: (rec
;; CHECK-NEXT: (type $final (shared (struct)))
(type $final (shared (struct)))
;; CHECK: (type $top (sub (shared (struct))))
(type $top (sub (shared (struct))))
;; CHECK: (type $mid (sub $top (shared (struct (field i32)))))
(type $mid (sub $top (shared (struct i32))))
;; CHECK: (type $bot (sub final $mid (shared (struct (field i32) (field i32)))))
(type $bot (sub final $mid (shared (struct i32 i32))))
;; CHECK: (type $func (shared (func)))
(type $func (shared (func)))
;; CHECK: (type $array (shared (array i8)))
(type $array (shared (array i8)))
)
;; CHECK: (func $use-types (type $0)
;; CHECK-NEXT: (local $0 (ref $final))
;; CHECK-NEXT: (local $1 (ref $top))
;; CHECK-NEXT: (local $2 (ref $mid))
;; CHECK-NEXT: (local $3 (ref $bot))
;; CHECK-NEXT: (local $4 (ref $func))
;; CHECK-NEXT: (local $5 (ref $array))
;; CHECK-NEXT: )
(func $use-types
(local (ref $final))
(local (ref $top))
(local (ref $mid))
(local (ref $bot))
(local (ref $func))
(local (ref $array))
)
;; CHECK: (func $use-basic-types (type $0)
;; CHECK-NEXT: (local $0 (ref (shared extern)))
;; CHECK-NEXT: (local $1 (ref (shared func)))
;; CHECK-NEXT: (local $2 (ref (shared any)))
;; CHECK-NEXT: (local $3 (ref (shared eq)))
;; CHECK-NEXT: (local $4 (ref (shared i31)))
;; CHECK-NEXT: (local $5 (ref (shared struct)))
;; CHECK-NEXT: (local $6 (ref (shared array)))
;; CHECK-NEXT: (local $7 (ref (shared exn)))
;; CHECK-NEXT: (local $8 (ref (shared string)))
;; CHECK-NEXT: (local $9 (ref (shared none)))
;; CHECK-NEXT: (local $10 (ref (shared noextern)))
;; CHECK-NEXT: (local $11 (ref (shared nofunc)))
;; CHECK-NEXT: (local $12 (ref (shared noexn)))
;; CHECK-NEXT: )
(func $use-basic-types
(local (ref (shared extern)))
(local (ref (shared func)))
(local (ref (shared any)))
(local (ref (shared eq)))
(local (ref (shared i31)))
(local (ref (shared struct)))
(local (ref (shared array)))
(local (ref (shared exn)))
(local (ref (shared string)))
(local (ref (shared none)))
(local (ref (shared noextern)))
(local (ref (shared nofunc)))
(local (ref (shared noexn)))
)
)
|