diff options
author | Thomas Lively <tlively@google.com> | 2023-08-28 12:41:14 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-28 10:41:14 -0700 |
commit | 0e5ee1cb368548f6890efcc05c980d5bb56f27d6 (patch) | |
tree | f3e82d514a5967a8bc7bac5470a4be6f2c7cb07b /test | |
parent | 91114e6a9b69969e673ffb40e7dc54029d15a0f8 (diff) | |
download | binaryen-0e5ee1cb368548f6890efcc05c980d5bb56f27d6.tar.gz binaryen-0e5ee1cb368548f6890efcc05c980d5bb56f27d6.tar.bz2 binaryen-0e5ee1cb368548f6890efcc05c980d5bb56f27d6.zip |
Refactor IRBuilder to build blocks internally (#5901)
The initial PR introducing IRBuilder kept the interface the same as the previous
internal interface in the new wat parser. This PR updates that interface to
avoid exposing implementation details of the IRBuilder and to provide an API
that matches the binary format. For example, after calling `makeBlock` or
`visitBlock` at the beginning of a block, users now call `visitEnd()` at the end
of the block without having to manually install the block's contents.
Providing this improved interface requires refactoring some of the IRBuilder
internals. While we are refactoring things anyway, put in extra effort to avoid
unnecessarily splitting up and recombining tuples that could simply be returned
from a multivalue block.
Diffstat (limited to 'test')
-rw-r--r-- | test/lit/wat-kitchen-sink.wast | 223 |
1 files changed, 126 insertions, 97 deletions
diff --git a/test/lit/wat-kitchen-sink.wast b/test/lit/wat-kitchen-sink.wast index ff48024f7..ddf35edcf 100644 --- a/test/lit/wat-kitchen-sink.wast +++ b/test/lit/wat-kitchen-sink.wast @@ -5,27 +5,29 @@ (module $parse ;; types - ;; CHECK: (type $void (func)) - - ;; CHECK: (type $pair (struct (field (mut i32)) (field (mut i64)))) - ;; CHECK: (type $ret2 (func (result i32 i32))) (type $ret2 (func (result i32 i32))) (rec - ;; CHECK: (type $3 (func (result i32))) + ;; CHECK: (type $void (func)) - ;; CHECK: (type $4 (func (param i32 i64))) + ;; CHECK: (type $pair (struct (field (mut i32)) (field (mut i64)))) ;; CHECK: (type $a1 (array i64)) + ;; CHECK: (type $4 (func (result i32))) + + ;; CHECK: (type $5 (func (param i32 i64))) + ;; CHECK: (type $a2 (array (mut f32))) - ;; CHECK: (type $7 (func (param i32))) + ;; CHECK: (type $7 (func (result i32 i64))) - ;; CHECK: (type $8 (func (param i32 i32 i32))) + ;; CHECK: (type $8 (func (param i32))) - ;; CHECK: (type $9 (func (param v128 i32) (result v128))) + ;; CHECK: (type $9 (func (param i32 i32 i32))) + + ;; CHECK: (type $10 (func (param v128 i32) (result v128))) ;; CHECK: (type $packed-i8 (array (mut i8))) @@ -33,31 +35,29 @@ ;; CHECK: (type $many (func (param i32 i64 f32 f64) (result anyref (ref func)))) - ;; CHECK: (type $13 (func (param i32 i32))) - - ;; CHECK: (type $14 (func (param i32 i32 f64 f64))) + ;; CHECK: (type $14 (func (param i32 i32))) - ;; CHECK: (type $15 (func (param i64))) + ;; CHECK: (type $15 (func (param i32 i32 f64 f64))) - ;; CHECK: (type $16 (func (param v128) (result i32))) + ;; CHECK: (type $16 (func (param i64))) - ;; CHECK: (type $17 (func (param v128 v128) (result v128))) + ;; CHECK: (type $17 (func (param v128) (result i32))) - ;; CHECK: (type $18 (func (param v128 v128 v128) (result v128))) + ;; CHECK: (type $18 (func (param v128 v128) (result v128))) - ;; CHECK: (type $19 (func (param i32 i64 v128))) + ;; CHECK: (type $19 (func (param v128 v128 v128) (result v128))) - ;; CHECK: (type $20 (func (param i32 i32 i64 i64))) + ;; CHECK: (type $20 (func (param i32 i64 v128))) - ;; CHECK: (type $21 (func (param i32) (result i32))) + ;; CHECK: (type $21 (func (param i32 i32 i64 i64))) - ;; CHECK: (type $22 (func (param i32 i64) (result i32 i64))) + ;; CHECK: (type $22 (func (param i32) (result i32))) - ;; CHECK: (type $23 (func (param i64) (result i32 i64))) + ;; CHECK: (type $23 (func (param i32 i64) (result i32 i64))) - ;; CHECK: (type $24 (func (param i32) (result i32 i64))) + ;; CHECK: (type $24 (func (param i64) (result i32 i64))) - ;; CHECK: (type $25 (func (result i32 i64))) + ;; CHECK: (type $25 (func (param i32) (result i32 i64))) ;; CHECK: (type $26 (func (param anyref) (result i32))) @@ -225,18 +225,15 @@ ;; CHECK: (export "f5.1" (func $fimport$1)) ;; CHECK: (func $0 (type $void) - ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) - ;; CHECK: (func $f1 (type $7) (param $0 i32) - ;; CHECK-NEXT: (nop) + ;; CHECK: (func $f1 (type $8) (param $0 i32) ;; CHECK-NEXT: ) (func $f1 (param i32)) - ;; CHECK: (func $f2 (type $7) (param $x i32) - ;; CHECK-NEXT: (nop) + ;; CHECK: (func $f2 (type $8) (param $x i32) ;; CHECK-NEXT: ) (func $f2 (param $x i32)) - ;; CHECK: (func $f3 (type $3) (result i32) + ;; CHECK: (func $f3 (type $4) (result i32) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) (func $f3 (result i32) @@ -246,7 +243,6 @@ ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (local $1 i64) ;; CHECK-NEXT: (local $l f32) - ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $f4 (type 17) (local i32 i64) (local $l f32)) (func (export "f5.0") (export "f5.1") (import "mod" "f5")) @@ -311,7 +307,7 @@ nop ) - ;; CHECK: (func $add (type $3) (result i32) + ;; CHECK: (func $add (type $4) (result i32) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: (i32.const 2) @@ -323,7 +319,7 @@ i32.add ) - ;; CHECK: (func $add-folded (type $3) (result i32) + ;; CHECK: (func $add-folded (type $4) (result i32) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: (i32.const 2) @@ -336,7 +332,7 @@ ) ) - ;; CHECK: (func $add-stacky (type $3) (result i32) + ;; CHECK: (func $add-stacky (type $4) (result i32) ;; CHECK-NEXT: (local $scratch i32) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (block (result i32) @@ -356,7 +352,7 @@ i32.add ) - ;; CHECK: (func $add-stacky-2 (type $3) (result i32) + ;; CHECK: (func $add-stacky-2 (type $4) (result i32) ;; CHECK-NEXT: (local $scratch i32) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.const 1) @@ -376,7 +372,7 @@ i32.add ) - ;; CHECK: (func $add-stacky-3 (type $3) (result i32) + ;; CHECK: (func $add-stacky-3 (type $4) (result i32) ;; CHECK-NEXT: (local $scratch i32) ;; CHECK-NEXT: (local.set $scratch ;; CHECK-NEXT: (i32.add @@ -394,7 +390,7 @@ nop ) - ;; CHECK: (func $add-stacky-4 (type $3) (result i32) + ;; CHECK: (func $add-stacky-4 (type $4) (result i32) ;; CHECK-NEXT: (local $scratch i32) ;; CHECK-NEXT: (local $scratch_1 i32) ;; CHECK-NEXT: (local $scratch_2 i32) @@ -428,7 +424,7 @@ nop ) - ;; CHECK: (func $add-unreachable (type $3) (result i32) + ;; CHECK: (func $add-unreachable (type $4) (result i32) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (i32.const 1) @@ -440,7 +436,7 @@ i32.add ) - ;; CHECK: (func $add-unreachable-2 (type $3) (result i32) + ;; CHECK: (func $add-unreachable-2 (type $4) (result i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) @@ -455,7 +451,7 @@ i32.add ) - ;; CHECK: (func $add-unreachable-3 (type $3) (result i32) + ;; CHECK: (func $add-unreachable-3 (type $4) (result i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) @@ -554,6 +550,13 @@ ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (i32.add + ;; CHECK-NEXT: (i32.const 3) + ;; CHECK-NEXT: (i32.const 4) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) (func $add-twice-unreachable (type $ret2) unreachable @@ -572,6 +575,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (unreachable) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (i32.add + ;; CHECK-NEXT: (i32.const 3) + ;; CHECK-NEXT: (i32.const 4) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) (func $add-twice-unreachable-2 (type $ret2) i32.const 1 @@ -662,7 +672,7 @@ drop ) - ;; CHECK: (func $locals (type $13) (param $0 i32) (param $x i32) + ;; CHECK: (func $locals (type $14) (param $0 i32) (param $x i32) ;; CHECK-NEXT: (local $2 i32) ;; CHECK-NEXT: (local $y i32) ;; CHECK-NEXT: (drop @@ -722,25 +732,14 @@ ) ;; CHECK: (func $block-folded (type $void) - ;; CHECK-NEXT: (local $scratch (i32 i32)) ;; CHECK-NEXT: (nop) - ;; CHECK-NEXT: (local.set $scratch + ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block $l (result i32 i32) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (tuple.extract 0 - ;; CHECK-NEXT: (local.get $scratch) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (tuple.extract 1 - ;; CHECK-NEXT: (local.get $scratch) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) (func $block-folded @@ -758,29 +757,29 @@ ;; CHECK-NEXT: (local $scratch_1 (i32 i32)) ;; CHECK-NEXT: (local $scratch_2 i32) ;; CHECK-NEXT: (block $0 - ;; CHECK-NEXT: (local.set $scratch_1 - ;; CHECK-NEXT: (block $1 (result i32 i32) - ;; CHECK-NEXT: (tuple.make - ;; CHECK-NEXT: (block $2 (result i32) - ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (local.set $scratch - ;; CHECK-NEXT: (block $3 (result i32) - ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (nop) - ;; CHECK-NEXT: (local.get $scratch) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 1) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (local.set $scratch_2 - ;; CHECK-NEXT: (tuple.extract 0 - ;; CHECK-NEXT: (local.get $scratch_1) + ;; CHECK-NEXT: (block (result i32) + ;; CHECK-NEXT: (local.set $scratch_1 + ;; CHECK-NEXT: (block $1 (result i32 i32) + ;; CHECK-NEXT: (tuple.make + ;; CHECK-NEXT: (block $2 (result i32) + ;; CHECK-NEXT: (local.set $scratch + ;; CHECK-NEXT: (block $3 (result i32) + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (nop) + ;; CHECK-NEXT: (local.get $scratch) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.const 1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (tuple.extract 0 + ;; CHECK-NEXT: (local.get $scratch_1) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop @@ -811,7 +810,38 @@ nop ) - ;; CHECK: (func $binary (type $14) (param $0 i32) (param $1 i32) (param $2 f64) (param $3 f64) + ;; CHECK: (func $multivalue-nested (type $ret2) (result i32 i32) + ;; CHECK-NEXT: (local $scratch (i32 i32)) + ;; CHECK-NEXT: (block (result i32 i32) + ;; CHECK-NEXT: (nop) + ;; CHECK-NEXT: (local.set $scratch + ;; CHECK-NEXT: (block (result i32 i32) + ;; CHECK-NEXT: (block (result i32 i32) + ;; CHECK-NEXT: (tuple.make + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: (i32.const 1) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (nop) + ;; CHECK-NEXT: (local.get $scratch) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $multivalue-nested (type $ret2) + block (type $ret2) + nop + block (type $ret2) + block (type $ret2) + i32.const 0 + i32.const 1 + end + end + nop + end + ) + + ;; CHECK: (func $binary (type $15) (param $0 i32) (param $1 i32) (param $2 f64) (param $3 f64) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $0) @@ -836,7 +866,7 @@ drop ) - ;; CHECK: (func $unary (type $15) (param $0 i64) + ;; CHECK: (func $unary (type $16) (param $0 i64) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i64.eqz ;; CHECK-NEXT: (local.get $0) @@ -849,7 +879,7 @@ drop ) - ;; CHECK: (func $select (type $8) (param $0 i32) (param $1 i32) (param $2 i32) + ;; CHECK: (func $select (type $9) (param $0 i32) (param $1 i32) (param $2 i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (select ;; CHECK-NEXT: (local.get $0) @@ -922,7 +952,7 @@ drop ) - ;; CHECK: (func $memory-grow (type $4) (param $0 i32) (param $1 i64) + ;; CHECK: (func $memory-grow (type $5) (param $0 i32) (param $1 i64) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (memory.grow $mem ;; CHECK-NEXT: (local.get $0) @@ -961,7 +991,7 @@ global.set 4 ) - ;; CHECK: (func $load (type $4) (param $0 i32) (param $1 i64) + ;; CHECK: (func $load (type $5) (param $0 i32) (param $1 i64) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.load $mem offset=42 ;; CHECK-NEXT: (local.get $0) @@ -990,7 +1020,7 @@ drop ) - ;; CHECK: (func $store (type $4) (param $0 i32) (param $1 i64) + ;; CHECK: (func $store (type $5) (param $0 i32) (param $1 i64) ;; CHECK-NEXT: (i32.store $mem offset=42 align=1 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 0) @@ -1016,7 +1046,7 @@ f32.store $mem-i64 ) - ;; CHECK: (func $atomic-rmw (type $4) (param $0 i32) (param $1 i64) + ;; CHECK: (func $atomic-rmw (type $5) (param $0 i32) (param $1 i64) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.atomic.rmw16.add_u $mem ;; CHECK-NEXT: (local.get $0) @@ -1041,7 +1071,7 @@ drop ) - ;; CHECK: (func $atomic-cmpxchg (type $4) (param $0 i32) (param $1 i64) + ;; CHECK: (func $atomic-cmpxchg (type $5) (param $0 i32) (param $1 i64) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.atomic.rmw8.cmpxchg_u $mem ;; CHECK-NEXT: (local.get $0) @@ -1070,7 +1100,7 @@ drop ) - ;; CHECK: (func $atomic-wait (type $4) (param $0 i32) (param $1 i64) + ;; CHECK: (func $atomic-wait (type $5) (param $0 i32) (param $1 i64) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (memory.atomic.wait32 $mem ;; CHECK-NEXT: (local.get $0) @@ -1099,7 +1129,7 @@ drop ) - ;; CHECK: (func $atomic-notify (type $4) (param $0 i32) (param $1 i64) + ;; CHECK: (func $atomic-notify (type $5) (param $0 i32) (param $1 i64) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (memory.atomic.notify $mem offset=8 ;; CHECK-NEXT: (local.get $0) @@ -1131,7 +1161,7 @@ atomic.fence ) - ;; CHECK: (func $simd-extract (type $16) (param $0 v128) (result i32) + ;; CHECK: (func $simd-extract (type $17) (param $0 v128) (result i32) ;; CHECK-NEXT: (i32x4.extract_lane 3 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) @@ -1141,7 +1171,7 @@ i32x4.extract_lane 3 ) - ;; CHECK: (func $simd-replace (type $9) (param $0 v128) (param $1 i32) (result v128) + ;; CHECK: (func $simd-replace (type $10) (param $0 v128) (param $1 i32) (result v128) ;; CHECK-NEXT: (i32x4.replace_lane 2 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $1) @@ -1153,7 +1183,7 @@ i32x4.replace_lane 2 ) - ;; CHECK: (func $simd-shuffle (type $17) (param $0 v128) (param $1 v128) (result v128) + ;; CHECK: (func $simd-shuffle (type $18) (param $0 v128) (param $1 v128) (result v128) ;; CHECK-NEXT: (i8x16.shuffle 0 1 2 3 4 5 6 7 16 17 18 19 20 21 22 23 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $1) @@ -1165,7 +1195,7 @@ i8x16.shuffle 0 1 2 3 4 5 6 7 16 17 18 19 20 21 22 23 ) - ;; CHECK: (func $simd-ternary (type $18) (param $0 v128) (param $1 v128) (param $2 v128) (result v128) + ;; CHECK: (func $simd-ternary (type $19) (param $0 v128) (param $1 v128) (param $2 v128) (result v128) ;; CHECK-NEXT: (v128.bitselect ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $1) @@ -1179,7 +1209,7 @@ v128.bitselect ) - ;; CHECK: (func $simd-shift (type $9) (param $0 v128) (param $1 i32) (result v128) + ;; CHECK: (func $simd-shift (type $10) (param $0 v128) (param $1 i32) (result v128) ;; CHECK-NEXT: (i8x16.shl ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $1) @@ -1191,7 +1221,7 @@ i8x16.shl ) - ;; CHECK: (func $simd-load (type $4) (param $0 i32) (param $1 i64) + ;; CHECK: (func $simd-load (type $5) (param $0 i32) (param $1 i64) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (v128.load8x8_s $mem offset=8 ;; CHECK-NEXT: (local.get $0) @@ -1212,7 +1242,7 @@ drop ) - ;; CHECK: (func $simd-load-store-lane (type $19) (param $0 i32) (param $1 i64) (param $2 v128) + ;; CHECK: (func $simd-load-store-lane (type $20) (param $0 i32) (param $1 i64) (param $2 v128) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (v128.load16_lane $mem 7 ;; CHECK-NEXT: (local.get $0) @@ -1234,7 +1264,7 @@ v128.store64_lane 3 align=4 0 ) - ;; CHECK: (func $memory-init (type $8) (param $0 i32) (param $1 i32) (param $2 i32) + ;; CHECK: (func $memory-init (type $9) (param $0 i32) (param $1 i32) (param $2 i32) ;; CHECK-NEXT: (memory.init $mem-i32 $passive ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $1) @@ -1275,7 +1305,7 @@ data.drop $passive ) - ;; CHECK: (func $memory-copy (type $20) (param $0 i32) (param $1 i32) (param $2 i64) (param $3 i64) + ;; CHECK: (func $memory-copy (type $21) (param $0 i32) (param $1 i32) (param $2 i64) (param $3 i64) ;; CHECK-NEXT: (memory.copy $mem $mem ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $1) @@ -1307,7 +1337,7 @@ memory.copy $mem-i64 3 ) - ;; CHECK: (func $memory-fill (type $4) (param $0 i32) (param $1 i64) + ;; CHECK: (func $memory-fill (type $5) (param $0 i32) (param $1 i64) ;; CHECK-NEXT: (memory.fill $mem ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 1) @@ -1346,7 +1376,7 @@ return ) - ;; CHECK: (func $return-one (type $21) (param $0 i32) (result i32) + ;; CHECK: (func $return-one (type $22) (param $0 i32) (result i32) ;; CHECK-NEXT: (return ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) @@ -1356,7 +1386,7 @@ return ) - ;; CHECK: (func $return-two (type $22) (param $0 i32) (param $1 i64) (result i32 i64) + ;; CHECK: (func $return-two (type $23) (param $0 i32) (param $1 i64) (result i32 i64) ;; CHECK-NEXT: (return ;; CHECK-NEXT: (tuple.make ;; CHECK-NEXT: (local.get $0) @@ -1370,7 +1400,7 @@ return ) - ;; CHECK: (func $return-two-first-unreachable (type $23) (param $0 i64) (result i32 i64) + ;; CHECK: (func $return-two-first-unreachable (type $24) (param $0 i64) (result i32 i64) ;; CHECK-NEXT: (return ;; CHECK-NEXT: (tuple.make ;; CHECK-NEXT: (unreachable) @@ -1384,7 +1414,7 @@ return ) - ;; CHECK: (func $return-two-second-unreachable (type $24) (param $0 i32) (result i32 i64) + ;; CHECK: (func $return-two-second-unreachable (type $25) (param $0 i32) (result i32 i64) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) @@ -1646,7 +1676,6 @@ ) ;; CHECK: (func $use-types (type $59) (param $0 (ref $s0)) (param $1 (ref $s1)) (param $2 (ref $s2)) (param $3 (ref $s3)) (param $4 (ref $s4)) (param $5 (ref $s5)) (param $6 (ref $s6)) (param $7 (ref $s7)) (param $8 (ref $s8)) (param $9 (ref $a0)) (param $10 (ref $a1)) (param $11 (ref $a2)) (param $12 (ref $a3)) (param $13 (ref $subvoid)) (param $14 (ref $submany)) - ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $use-types (param (ref $s0)) |