|
1 | 1 | ;; NOTE: Assertions have been generated by update_lit_checks.py --all-items and should not be edited.
|
2 | 2 | ;; NOTE: This test was ported using port_passes_tests_to_lit.py and could be cleaned up.
|
3 | 3 |
|
4 |
| -;; RUN: foreach %s %t wasm-opt --code-folding --enable-threads -S -o - | filecheck %s |
| 4 | +;; RUN: foreach %s %t wasm-opt -all --code-folding -S -o - | filecheck %s |
5 | 5 |
|
6 | 6 | (module
|
7 | 7 | ;; CHECK: (type $0 (func))
|
|
15 | 15 | (memory $0 1 1)
|
16 | 16 | ;; CHECK: (table $0 282 282 funcref)
|
17 | 17 |
|
18 |
| - ;; CHECK: (func $0 |
| 18 | + ;; CHECK: (func $0 (type $0) |
19 | 19 | ;; CHECK-NEXT: (block $label$1
|
20 | 20 | ;; CHECK-NEXT: (if
|
21 | 21 | ;; CHECK-NEXT: (i32.const 1)
|
22 | 22 | ;; CHECK-NEXT: (then
|
23 | 23 | ;; CHECK-NEXT: (block $label$3
|
24 |
| - ;; CHECK-NEXT: (call_indirect (type $13) |
| 24 | + ;; CHECK-NEXT: (call_indirect $0 (type $13) |
25 | 25 | ;; CHECK-NEXT: (block $label$4
|
26 | 26 | ;; CHECK-NEXT: (br $label$3)
|
27 | 27 | ;; CHECK-NEXT: )
|
|
52 | 52 | )
|
53 | 53 | )
|
54 | 54 | )
|
55 |
| - ;; CHECK: (func $negative-zero (result f32) |
| 55 | + ;; CHECK: (func $negative-zero (type $1) (result f32) |
56 | 56 | ;; CHECK-NEXT: (if (result f32)
|
57 | 57 | ;; CHECK-NEXT: (i32.const 0)
|
58 | 58 | ;; CHECK-NEXT: (then
|
|
82 | 82 | )
|
83 | 83 | )
|
84 | 84 | )
|
85 |
| - ;; CHECK: (func $negative-zero-b (result f32) |
| 85 | + ;; CHECK: (func $negative-zero-b (type $1) (result f32) |
86 | 86 | ;; CHECK-NEXT: (drop
|
87 | 87 | ;; CHECK-NEXT: (i32.const 0)
|
88 | 88 | ;; CHECK-NEXT: )
|
|
105 | 105 | )
|
106 | 106 | )
|
107 | 107 | )
|
108 |
| - ;; CHECK: (func $negative-zero-c (result f32) |
| 108 | + ;; CHECK: (func $negative-zero-c (type $1) (result f32) |
109 | 109 | ;; CHECK-NEXT: (drop
|
110 | 110 | ;; CHECK-NEXT: (i32.const 0)
|
111 | 111 | ;; CHECK-NEXT: )
|
|
128 | 128 | )
|
129 | 129 | )
|
130 | 130 | )
|
131 |
| - ;; CHECK: (func $break-target-outside-of-return-merged-code |
| 131 | + ;; CHECK: (func $break-target-outside-of-return-merged-code (type $0) |
132 | 132 | ;; CHECK-NEXT: (block $label$A
|
133 | 133 | ;; CHECK-NEXT: (if
|
134 | 134 | ;; CHECK-NEXT: (unreachable)
|
|
202 | 202 | )
|
203 | 203 | )
|
204 | 204 | )
|
205 |
| - ;; CHECK: (func $break-target-inside-all-good |
| 205 | + ;; CHECK: (func $break-target-inside-all-good (type $0) |
206 | 206 | ;; CHECK-NEXT: (block $folding-inner0
|
207 | 207 | ;; CHECK-NEXT: (block $label$A
|
208 | 208 | ;; CHECK-NEXT: (if
|
|
269 | 269 | )
|
270 | 270 | )
|
271 | 271 | )
|
272 |
| - ;; CHECK: (func $leave-inner-block-type |
| 272 | + ;; CHECK: (func $leave-inner-block-type (type $0) |
273 | 273 | ;; CHECK-NEXT: (block $label$1
|
274 | 274 | ;; CHECK-NEXT: (drop
|
275 | 275 | ;; CHECK-NEXT: (block $label$2
|
|
312 | 312 | (memory $0 1 1 shared)
|
313 | 313 | ;; CHECK: (export "func_2224" (func $0))
|
314 | 314 | (export "func_2224" (func $0))
|
315 |
| - ;; CHECK: (func $0 (result i32) |
| 315 | + ;; CHECK: (func $0 (type $0) (result i32) |
316 | 316 | ;; CHECK-NEXT: (local $var$0 i32)
|
317 | 317 | ;; CHECK-NEXT: (if (result i32)
|
318 | 318 | ;; CHECK-NEXT: (i32.const 0)
|
|
352 | 352 |
|
353 | 353 | ;; CHECK: (global $global$0 (mut i32) (i32.const 10))
|
354 | 354 | (global $global$0 (mut i32) (i32.const 10))
|
355 |
| - ;; CHECK: (func $determinism |
| 355 | + ;; CHECK: (func $determinism (type $0) |
356 | 356 | ;; CHECK-NEXT: (block $folding-inner0
|
357 | 357 | ;; CHECK-NEXT: (block
|
358 | 358 | ;; CHECK-NEXT: (block $label$1
|
|
439 | 439 | )
|
440 | 440 | (unreachable)
|
441 | 441 | )
|
442 |
| - ;; CHECK: (func $careful-of-the-switch (param $0 i32) |
| 442 | + ;; CHECK: (func $careful-of-the-switch (type $1) (param $0 i32) |
443 | 443 | ;; CHECK-NEXT: (block $label$1
|
444 | 444 | ;; CHECK-NEXT: (block $label$3
|
445 | 445 | ;; CHECK-NEXT: (block $label$5
|
|
482 | 482 | )
|
483 | 483 | )
|
484 | 484 | )
|
| 485 | + |
| 486 | +(module |
| 487 | + ;; CHECK: (type $0 (func)) |
| 488 | + |
| 489 | + ;; CHECK: (func $br-on-null (type $0) |
| 490 | + ;; CHECK-NEXT: (block $block |
| 491 | + ;; CHECK-NEXT: (drop |
| 492 | + ;; CHECK-NEXT: (br_on_null $block |
| 493 | + ;; CHECK-NEXT: (ref.null none) |
| 494 | + ;; CHECK-NEXT: ) |
| 495 | + ;; CHECK-NEXT: ) |
| 496 | + ;; CHECK-NEXT: (drop |
| 497 | + ;; CHECK-NEXT: (block (result i32) |
| 498 | + ;; CHECK-NEXT: (call $br-on-null) |
| 499 | + ;; CHECK-NEXT: (br $block) |
| 500 | + ;; CHECK-NEXT: ) |
| 501 | + ;; CHECK-NEXT: ) |
| 502 | + ;; CHECK-NEXT: (call $br-on-null) |
| 503 | + ;; CHECK-NEXT: ) |
| 504 | + ;; CHECK-NEXT: ) |
| 505 | + (func $br-on-null |
| 506 | + (block $block |
| 507 | + (drop |
| 508 | + ;; The other two tails are the same, but this br_on_null should inhibit code |
| 509 | + ;; folding. |
| 510 | + (br_on_null $block |
| 511 | + (ref.null none) |
| 512 | + ) |
| 513 | + ) |
| 514 | + (drop |
| 515 | + (block (result i32) |
| 516 | + (call $br-on-null) |
| 517 | + (br $block) |
| 518 | + ) |
| 519 | + ) |
| 520 | + (call $br-on-null) |
| 521 | + ) |
| 522 | + ) |
| 523 | +) |
0 commit comments