Skip to content

Commit 08be7c2

Browse files
committed
LogExecution: add a test as suggested by @kripken
1 parent d44f291 commit 08be7c2

File tree

1 file changed

+146
-0
lines changed

1 file changed

+146
-0
lines changed
Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,146 @@
1+
;; NOTE: Assertions have been generated by update_lit_checks.py --all-items and should not be edited.
2+
;; Test the option to provide the module name as an argument.
3+
;; RUN: foreach %s %t wasm-opt --log-execution=foo -S -o - | filecheck %s
4+
5+
(module
6+
;; CHECK: (type $0 (func))
7+
8+
;; CHECK: (type $1 (func (result i32)))
9+
10+
;; CHECK: (type $2 (func (param i32)))
11+
12+
;; CHECK: (import "env" "func" (func $import))
13+
(import "env" "func" (func $import))
14+
;; CHECK: (import "foo" "log_execution" (func $log_execution (param i32)))
15+
16+
;; CHECK: (func $nopp
17+
;; CHECK-NEXT: (call $log_execution
18+
;; CHECK-NEXT: (i32.const 0)
19+
;; CHECK-NEXT: )
20+
;; CHECK-NEXT: (nop)
21+
;; CHECK-NEXT: )
22+
(func $nopp
23+
(nop)
24+
)
25+
;; CHECK: (func $intt (result i32)
26+
;; CHECK-NEXT: (call $log_execution
27+
;; CHECK-NEXT: (i32.const 1)
28+
;; CHECK-NEXT: )
29+
;; CHECK-NEXT: (i32.const 10)
30+
;; CHECK-NEXT: )
31+
(func $intt (result i32)
32+
(i32.const 10)
33+
)
34+
;; CHECK: (func $workk
35+
;; CHECK-NEXT: (call $log_execution
36+
;; CHECK-NEXT: (i32.const 3)
37+
;; CHECK-NEXT: )
38+
;; CHECK-NEXT: (block
39+
;; CHECK-NEXT: (if
40+
;; CHECK-NEXT: (i32.const 0)
41+
;; CHECK-NEXT: (then
42+
;; CHECK-NEXT: (nop)
43+
;; CHECK-NEXT: )
44+
;; CHECK-NEXT: )
45+
;; CHECK-NEXT: (block
46+
;; CHECK-NEXT: (call $log_execution
47+
;; CHECK-NEXT: (i32.const 2)
48+
;; CHECK-NEXT: )
49+
;; CHECK-NEXT: (drop
50+
;; CHECK-NEXT: (i32.const 1)
51+
;; CHECK-NEXT: )
52+
;; CHECK-NEXT: )
53+
;; CHECK-NEXT: )
54+
;; CHECK-NEXT: )
55+
(func $workk
56+
(if (i32.const 0) (then (nop)))
57+
(drop (i32.const 1))
58+
)
59+
;; CHECK: (func $loops
60+
;; CHECK-NEXT: (call $log_execution
61+
;; CHECK-NEXT: (i32.const 8)
62+
;; CHECK-NEXT: )
63+
;; CHECK-NEXT: (block
64+
;; CHECK-NEXT: (loop $x
65+
;; CHECK-NEXT: (call $log_execution
66+
;; CHECK-NEXT: (i32.const 4)
67+
;; CHECK-NEXT: )
68+
;; CHECK-NEXT: (block
69+
;; CHECK-NEXT: (call $loops)
70+
;; CHECK-NEXT: (br $x)
71+
;; CHECK-NEXT: )
72+
;; CHECK-NEXT: )
73+
;; CHECK-NEXT: (if
74+
;; CHECK-NEXT: (call $intt)
75+
;; CHECK-NEXT: (then
76+
;; CHECK-NEXT: (loop $y
77+
;; CHECK-NEXT: (call $log_execution
78+
;; CHECK-NEXT: (i32.const 5)
79+
;; CHECK-NEXT: )
80+
;; CHECK-NEXT: (call $loops)
81+
;; CHECK-NEXT: )
82+
;; CHECK-NEXT: )
83+
;; CHECK-NEXT: )
84+
;; CHECK-NEXT: (block
85+
;; CHECK-NEXT: (call $log_execution
86+
;; CHECK-NEXT: (i32.const 7)
87+
;; CHECK-NEXT: )
88+
;; CHECK-NEXT: (loop
89+
;; CHECK-NEXT: (call $log_execution
90+
;; CHECK-NEXT: (i32.const 6)
91+
;; CHECK-NEXT: )
92+
;; CHECK-NEXT: (block
93+
;; CHECK-NEXT: (drop
94+
;; CHECK-NEXT: (i32.const 10)
95+
;; CHECK-NEXT: )
96+
;; CHECK-NEXT: (drop
97+
;; CHECK-NEXT: (i32.const 20)
98+
;; CHECK-NEXT: )
99+
;; CHECK-NEXT: (drop
100+
;; CHECK-NEXT: (i32.const 30)
101+
;; CHECK-NEXT: )
102+
;; CHECK-NEXT: )
103+
;; CHECK-NEXT: )
104+
;; CHECK-NEXT: )
105+
;; CHECK-NEXT: )
106+
;; CHECK-NEXT: )
107+
(func $loops
108+
(loop $x
109+
(call $loops)
110+
(br $x)
111+
)
112+
(if (call $intt)
113+
(then
114+
(loop $y
115+
(call $loops)
116+
)
117+
)
118+
)
119+
(loop
120+
(drop (i32.const 10))
121+
(drop (i32.const 20))
122+
(drop (i32.const 30))
123+
)
124+
)
125+
;; CHECK: (func $loops-similar
126+
;; CHECK-NEXT: (call $log_execution
127+
;; CHECK-NEXT: (i32.const 10)
128+
;; CHECK-NEXT: )
129+
;; CHECK-NEXT: (loop $x
130+
;; CHECK-NEXT: (call $log_execution
131+
;; CHECK-NEXT: (i32.const 9)
132+
;; CHECK-NEXT: )
133+
;; CHECK-NEXT: (block
134+
;; CHECK-NEXT: (call $loops)
135+
;; CHECK-NEXT: (br $x)
136+
;; CHECK-NEXT: )
137+
;; CHECK-NEXT: )
138+
;; CHECK-NEXT: )
139+
(func $loops-similar
140+
(loop $x
141+
(call $loops)
142+
(br $x)
143+
)
144+
)
145+
)
146+

0 commit comments

Comments
 (0)