diff options
Diffstat (limited to 'test/lit/passes/flatten_all-features.wast')
-rw-r--r-- | test/lit/passes/flatten_all-features.wast | 778 |
1 files changed, 474 insertions, 304 deletions
diff --git a/test/lit/passes/flatten_all-features.wast b/test/lit/passes/flatten_all-features.wast index 3ce849686..fd7332609 100644 --- a/test/lit/passes/flatten_all-features.wast +++ b/test/lit/passes/flatten_all-features.wast @@ -568,14 +568,18 @@ ;; CHECK: (func $a11 (type $1) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.const 1) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (i32.const 1) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) (func $a11 (if (i32.const 0) - (drop (i32.const 1)) + (then + (drop (i32.const 1)) + ) ) ) ;; CHECK: (func $a12 (type $2) (result i32) @@ -583,11 +587,15 @@ ;; CHECK-NEXT: (local $1 i32) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (i32.const 1) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (local.set $0 + ;; CHECK-NEXT: (i32.const 1) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (i32.const 2) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (local.set $0 + ;; CHECK-NEXT: (i32.const 2) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 @@ -599,8 +607,12 @@ ;; CHECK-NEXT: ) (func $a12 (result i32) (if (result i32) (i32.const 0) - (i32.const 1) - (i32.const 2) + (then + (i32.const 1) + ) + (else + (i32.const 2) + ) ) ) ;; CHECK: (func $a13 (type $2) (result i32) @@ -622,11 +634,15 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (unreachable) - ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (local.set $2 + ;; CHECK-NEXT: (i32.const 0) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (i32.const 1) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (local.set $2 + ;; CHECK-NEXT: (i32.const 1) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -648,8 +664,12 @@ (block $x i32 (if i32 (br_table $x (i32.const 2) (i32.const 0)) - (i32.const 0) - (i32.const 1) + (then + (i32.const 0) + ) + (else + (i32.const 1) + ) ) ) ) @@ -700,11 +720,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (block $label$3 ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (unreachable) @@ -725,10 +745,14 @@ (i32.load16_u (i32.const 53) ) - (unreachable) - (drop - (block $label$3 (result f32) - (unreachable) + (then + (unreachable) + ) + (else + (drop + (block $label$3 (result f32) + (unreachable) + ) ) ) ) @@ -955,8 +979,10 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 1) - ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (i32.const 2) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (i32.const 2) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br_table $out $out $out $out @@ -967,7 +993,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (block $out1 ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (unreachable) @@ -980,7 +1006,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (block $out3 ;; CHECK-NEXT: (return) ;; CHECK-NEXT: (unreachable) @@ -1010,11 +1036,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (block $block4 ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (block $out8 ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (unreachable) @@ -1024,7 +1050,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (block $out9 ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (unreachable) @@ -1045,7 +1071,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (block $out11 ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (unreachable) @@ -1066,7 +1092,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (block $out13 ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (unreachable) @@ -1087,7 +1113,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (block $out15 ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (unreachable) @@ -1118,7 +1144,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (block $block11 ;; CHECK-NEXT: (block $out18 ;; CHECK-NEXT: (block $in19 @@ -1159,7 +1185,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (block $block13 ;; CHECK-NEXT: (block $out25 ;; CHECK-NEXT: (block $in26 @@ -1181,7 +1207,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (block $block15 ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.const 10) @@ -1206,7 +1232,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (loop $loop-in18 ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (unreachable) @@ -1229,7 +1255,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (block $block20 ;; CHECK-NEXT: (loop $in32 ;; CHECK-NEXT: (block @@ -1251,7 +1277,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 1) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (call $call-me ;; CHECK-NEXT: (i32.const 123) @@ -1262,7 +1288,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 2) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (call $call-me ;; CHECK-NEXT: (unreachable) @@ -1273,7 +1299,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 3) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (call $call-me @@ -1285,7 +1311,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const -1) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (call_indirect $0 (type $ii) ;; CHECK-NEXT: (i32.const 123) @@ -1297,7 +1323,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const -2) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (call_indirect $0 (type $ii) ;; CHECK-NEXT: (i32.const 139) @@ -1309,7 +1335,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const -3) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (call_indirect $0 (type $ii) @@ -1322,7 +1348,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const -4) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (unreachable) @@ -1336,7 +1362,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 11) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (unreachable) @@ -1344,7 +1370,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 22) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (unreachable) @@ -1357,7 +1383,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 33) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 0) @@ -1368,7 +1394,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 44) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (unreachable) @@ -1379,7 +1405,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 55) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (i32.store @@ -1391,7 +1417,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 66) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (unreachable) @@ -1404,7 +1430,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 77) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (unreachable) @@ -1418,7 +1444,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 88) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.const 0) @@ -1432,7 +1458,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 99) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (i32.add @@ -1444,7 +1470,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 100) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (select ;; CHECK-NEXT: (i32.const 123) @@ -1459,7 +1485,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 101) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (select ;; CHECK-NEXT: (i32.const 123) @@ -1474,7 +1500,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 102) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (select ;; CHECK-NEXT: (unreachable) @@ -1500,8 +1526,10 @@ ) (if (i32.const 1) - (drop - (i32.const 2) + (then + (drop + (i32.const 2) + ) ) ) (br_table $out $out $out $out @@ -1511,19 +1539,23 @@ ) (if (i32.const 0) - (block $out1 - (unreachable) - (drop - (i32.const 0) + (then + (block $out1 + (unreachable) + (drop + (i32.const 0) + ) ) ) ) (if (i32.const 0) - (block $out3 - (return) - (drop - (i32.const 0) + (then + (block $out3 + (return) + (drop + (i32.const 0) + ) ) ) ) @@ -1545,68 +1577,80 @@ ) (if (i32.const 0) - (block $block4 - (if - (i32.const 0) - (block $out8 - (unreachable) - (drop - (i32.const 0) + (then + (block $block4 + (if + (i32.const 0) + (then + (block $out8 + (unreachable) + (drop + (i32.const 0) + ) + ) ) - ) - (block $out9 - (unreachable) - (drop - (i32.const 0) + (else + (block $out9 + (unreachable) + (drop + (i32.const 0) + ) + ) ) ) - ) - (drop - (i32.const 0) + (drop + (i32.const 0) + ) ) ) ) (if (i32.const 0) - (drop - (block $out11 (result i32) - (br $out11 + (then + (drop + (block $out11 (result i32) + (br $out11 + (unreachable) + ) + (drop + (i32.const 0) + ) (unreachable) ) - (drop - (i32.const 0) - ) - (unreachable) ) ) ) (if (i32.const 0) - (drop - (block $out13 (result i32) - (br_if $out13 + (then + (drop + (block $out13 (result i32) + (br_if $out13 + (unreachable) + (i32.const 0) + ) + (drop + (i32.const 0) + ) (unreachable) - (i32.const 0) - ) - (drop - (i32.const 0) ) - (unreachable) ) ) ) (if (i32.const 0) - (drop - (block $out15 (result i32) - (br_if $out15 - (unreachable) + (then + (drop + (block $out15 (result i32) + (br_if $out15 + (unreachable) + (unreachable) + ) + (drop + (i32.const 0) + ) (unreachable) ) - (drop - (i32.const 0) - ) - (unreachable) ) ) ) @@ -1620,17 +1664,19 @@ ) (if (i32.const 0) - (block $block11 - (block $out18 - (block $in19 - (br_if $in19 - (i32.const 1) + (then + (block $block11 + (block $out18 + (block $in19 + (br_if $in19 + (i32.const 1) + ) ) + (unreachable) + ) + (drop + (i32.const 10) ) - (unreachable) - ) - (drop - (i32.const 10) ) ) ) @@ -1652,41 +1698,47 @@ ) (if (i32.const 0) - (block $block13 - (block $out25 - (block $in26 - (br_table $in26 $in26 - (i32.const 1) + (then + (block $block13 + (block $out25 + (block $in26 + (br_table $in26 $in26 + (i32.const 1) + ) ) + (unreachable) + ) + (drop + (i32.const 10) ) - (unreachable) - ) - (drop - (i32.const 10) ) ) ) (if (i32.const 0) - (block $block15 - (drop - (i32.const 10) - ) - (drop - (i32.const 42) - ) - (unreachable) - (return + (then + (block $block15 + (drop + (i32.const 10) + ) + (drop + (i32.const 42) + ) (unreachable) + (return + (unreachable) + ) + (unreachable) + (return) ) - (unreachable) - (return) ) ) (if (i32.const 0) - (loop $loop-in18 - (unreachable) + (then + (loop $loop-in18 + (unreachable) + ) ) ) (block $out29 @@ -1699,166 +1751,206 @@ ) (if (i32.const 0) - (block $block20 - (loop $in32 - (br_if $in32 - (i32.const 1) + (then + (block $block20 + (loop $in32 + (br_if $in32 + (i32.const 1) + ) + (unreachable) + ) + (drop + (i32.const 10) ) - (unreachable) - ) - (drop - (i32.const 10) ) ) ) (if (i32.const 1) - (call $call-me - (i32.const 123) - (unreachable) + (then + (call $call-me + (i32.const 123) + (unreachable) + ) ) ) (if (i32.const 2) - (call $call-me - (unreachable) - (i32.const 0) + (then + (call $call-me + (unreachable) + (i32.const 0) + ) ) ) (if (i32.const 3) - (call $call-me - (unreachable) - (unreachable) + (then + (call $call-me + (unreachable) + (unreachable) + ) ) ) (if (i32.const -1) - (call_indirect (type $ii) - (i32.const 123) - (i32.const 456) - (unreachable) + (then + (call_indirect (type $ii) + (i32.const 123) + (i32.const 456) + (unreachable) + ) ) ) (if (i32.const -2) - (call_indirect (type $ii) - (i32.const 139) - (unreachable) - (i32.const 0) + (then + (call_indirect (type $ii) + (i32.const 139) + (unreachable) + (i32.const 0) + ) ) ) (if (i32.const -3) - (call_indirect (type $ii) - (i32.const 246) - (unreachable) - (unreachable) + (then + (call_indirect (type $ii) + (i32.const 246) + (unreachable) + (unreachable) + ) ) ) (if (i32.const -4) - (call_indirect (type $ii) - (unreachable) - (unreachable) - (unreachable) + (then + (call_indirect (type $ii) + (unreachable) + (unreachable) + (unreachable) + ) ) ) (if (i32.const 11) - (local.set $x - (unreachable) + (then + (local.set $x + (unreachable) + ) ) ) (if (i32.const 22) - (drop - (i32.load - (unreachable) + (then + (drop + (i32.load + (unreachable) + ) ) ) ) (if (i32.const 33) - (i32.store - (i32.const 0) - (unreachable) + (then + (i32.store + (i32.const 0) + (unreachable) + ) ) ) (if (i32.const 44) - (i32.store - (unreachable) - (i32.const 0) + (then + (i32.store + (unreachable) + (i32.const 0) + ) ) ) (if (i32.const 55) - (i32.store - (unreachable) - (unreachable) + (then + (i32.store + (unreachable) + (unreachable) + ) ) ) (if (i32.const 66) - (drop - (i32.eqz - (unreachable) + (then + (drop + (i32.eqz + (unreachable) + ) ) ) ) (if (i32.const 77) - (drop - (i32.add - (unreachable) - (i32.const 0) + (then + (drop + (i32.add + (unreachable) + (i32.const 0) + ) ) ) ) (if (i32.const 88) - (drop - (i32.add - (i32.const 0) - (unreachable) + (then + (drop + (i32.add + (i32.const 0) + (unreachable) + ) ) ) ) (if (i32.const 99) - (i32.add - (unreachable) - (unreachable) + (then + (i32.add + (unreachable) + (unreachable) + ) ) ) (if (i32.const 100) - (drop - (select - (i32.const 123) - (i32.const 456) - (unreachable) + (then + (drop + (select + (i32.const 123) + (i32.const 456) + (unreachable) + ) ) ) ) (if (i32.const 101) - (drop - (select - (i32.const 123) - (unreachable) - (i32.const 456) + (then + (drop + (select + (i32.const 123) + (unreachable) + (i32.const 456) + ) ) ) ) (if (i32.const 102) - (drop - (select - (unreachable) - (i32.const 123) - (i32.const 456) + (then + (drop + (select + (unreachable) + (i32.const 123) + (i32.const 456) + ) ) ) ) @@ -2296,7 +2388,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $4) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (block $label$0 ;; CHECK-NEXT: (local.set $5 ;; CHECK-NEXT: (local.get $var$1) @@ -2312,7 +2404,7 @@ ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (block $label$1 ;; CHECK-NEXT: (local.set $8 ;; CHECK-NEXT: (local.get $var$0) @@ -2374,24 +2466,28 @@ (i64.eqz (local.get $var$0) ) - (block $label$0 (result i64) - (local.get $var$1) + (then + (block $label$0 (result i64) + (local.get $var$1) + ) ) - (block $label$1 (result i64) - (call $call-unreach - (i64.sub - (local.get $var$0) - (i64.const 1) - ) - (i64.mul - (block $block (result i64) - (local.set $2 - (local.get $var$0) + (else + (block $label$1 (result i64) + (call $call-unreach + (i64.sub + (local.get $var$0) + (i64.const 1) + ) + (i64.mul + (block $block (result i64) + (local.set $2 + (local.get $var$0) + ) + (nop) + (local.get $2) ) - (nop) - (local.get $2) + (unreachable) ) - (unreachable) ) ) ) @@ -2564,11 +2660,15 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 6) - ;; CHECK-NEXT: (local.set $13 - ;; CHECK-NEXT: (i32.const 7) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (local.set $13 + ;; CHECK-NEXT: (i32.const 7) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $13 - ;; CHECK-NEXT: (i32.const 8) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (local.set $13 + ;; CHECK-NEXT: (i32.const 8) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $14 @@ -2625,11 +2725,15 @@ ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 11) - ;; CHECK-NEXT: (local.set $17 - ;; CHECK-NEXT: (i32.const 12) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (local.set $17 + ;; CHECK-NEXT: (i32.const 12) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $17 - ;; CHECK-NEXT: (i32.const 13) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (local.set $17 + ;; CHECK-NEXT: (i32.const 13) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $18 @@ -2647,11 +2751,15 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 11) - ;; CHECK-NEXT: (local.set $20 - ;; CHECK-NEXT: (i32.const 12) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (local.set $20 + ;; CHECK-NEXT: (i32.const 12) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $20 - ;; CHECK-NEXT: (i32.const 13) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (local.set $20 + ;; CHECK-NEXT: (i32.const 13) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $21 @@ -2669,11 +2777,15 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 11) - ;; CHECK-NEXT: (local.set $23 - ;; CHECK-NEXT: (i32.const 12) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (local.set $23 + ;; CHECK-NEXT: (i32.const 12) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $23 - ;; CHECK-NEXT: (i32.const 13) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (local.set $23 + ;; CHECK-NEXT: (i32.const 13) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $24 @@ -2691,11 +2803,15 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 11) - ;; CHECK-NEXT: (local.set $26 - ;; CHECK-NEXT: (i32.const 12) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (local.set $26 + ;; CHECK-NEXT: (i32.const 12) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $26 - ;; CHECK-NEXT: (i32.const 13) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (local.set $26 + ;; CHECK-NEXT: (i32.const 13) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $27 @@ -2703,11 +2819,15 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 15) - ;; CHECK-NEXT: (local.set $28 - ;; CHECK-NEXT: (i32.const 16) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (local.set $28 + ;; CHECK-NEXT: (i32.const 16) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $28 - ;; CHECK-NEXT: (i32.const 17) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (local.set $28 + ;; CHECK-NEXT: (i32.const 17) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $29 @@ -2744,11 +2864,15 @@ ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 5) - ;; CHECK-NEXT: (local.set $31 - ;; CHECK-NEXT: (i32.const 6) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (local.set $31 + ;; CHECK-NEXT: (i32.const 6) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $31 - ;; CHECK-NEXT: (i32.const 7) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (local.set $31 + ;; CHECK-NEXT: (i32.const 7) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $32 @@ -2756,17 +2880,23 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $32) - ;; CHECK-NEXT: (local.set $35 - ;; CHECK-NEXT: (i32.const 8) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (local.set $35 + ;; CHECK-NEXT: (i32.const 8) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 9) - ;; CHECK-NEXT: (local.set $33 - ;; CHECK-NEXT: (i32.const 10) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (local.set $33 + ;; CHECK-NEXT: (i32.const 10) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $33 - ;; CHECK-NEXT: (i32.const 11) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (local.set $33 + ;; CHECK-NEXT: (i32.const 11) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $34 @@ -2838,8 +2968,12 @@ (drop (i32.add (i32.const 1) (if (result i32) (i32.const 6) - (i32.const 7) - (i32.const 8) + (then + (i32.const 7) + ) + (else + (i32.const 8) + ) ) )) (drop @@ -2874,8 +3008,12 @@ (select (if (result i32) (i32.const 11) - (i32.const 12) - (i32.const 13) + (then + (i32.const 12) + ) + (else + (i32.const 13) + ) ) (i32.const 9) (i32.const 10) @@ -2886,8 +3024,12 @@ (i32.const 9) (if (result i32) (i32.const 11) - (i32.const 12) - (i32.const 13) + (then + (i32.const 12) + ) + (else + (i32.const 13) + ) ) (i32.const 10) ) @@ -2898,8 +3040,12 @@ (i32.const 10) (if (result i32) (i32.const 11) - (i32.const 12) - (i32.const 13) + (then + (i32.const 12) + ) + (else + (i32.const 13) + ) ) ) ) @@ -2907,14 +3053,22 @@ (select (if (result i32) (i32.const 11) - (i32.const 12) - (i32.const 13) + (then + (i32.const 12) + ) + (else + (i32.const 13) + ) ) (i32.const 14) (if (result i32) (i32.const 15) - (i32.const 16) - (i32.const 17) + (then + (i32.const 16) + ) + (else + (i32.const 17) + ) ) ) ) @@ -2924,14 +3078,26 @@ (if (result i32) (if (result i32) (i32.const 5) - (i32.const 6) - (i32.const 7) + (then + (i32.const 6) + ) + (else + (i32.const 7) + ) ) - (i32.const 8) - (if (result i32) - (i32.const 9) - (i32.const 10) - (i32.const 11) + (then + (i32.const 8) + ) + (else + (if (result i32) + (i32.const 9) + (then + (i32.const 10) + ) + (else + (i32.const 11) + ) + ) ) ) ) @@ -3012,7 +3178,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $8) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (then ;; CHECK-NEXT: (block $label$78 ;; CHECK-NEXT: (local.set $430 ;; CHECK-NEXT: (i32.const 0) @@ -3025,7 +3191,7 @@ ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block + ;; CHECK-NEXT: (else ;; CHECK-NEXT: (block $label$79 ;; CHECK-NEXT: (local.set $10 ;; CHECK-NEXT: (local.get $9) @@ -3113,35 +3279,39 @@ (local.get $12) (i32.const 65535) ) - (block - (block $label$78 - (local.set $430 - (i32.const 0) + (then + (block + (block $label$78 + (local.set $430 + (i32.const 0) + ) + ) + (local.set $432 + (local.get $430) ) - ) - (local.set $432 - (local.get $430) ) ) - (block - (block $label$79 - (local.set $431 - (i32.lt_u - (local.get $9) - (i32.load16_u offset=2 - (i32.add - (local.get $5) - (i32.mul - (local.get $12) - (i32.const 12) + (else + (block + (block $label$79 + (local.set $431 + (i32.lt_u + (local.get $9) + (i32.load16_u offset=2 + (i32.add + (local.get $5) + (i32.mul + (local.get $12) + (i32.const 12) + ) ) ) ) ) ) - ) - (local.set $432 - (local.get $431) + (local.set $432 + (local.get $431) + ) ) ) ) |