diff options
Diffstat (limited to 'test/passes/flatten.txt')
-rw-r--r-- | test/passes/flatten.txt | 997 |
1 files changed, 399 insertions, 598 deletions
diff --git a/test/passes/flatten.txt b/test/passes/flatten.txt index b4cb5289a..7d7eb80dd 100644 --- a/test/passes/flatten.txt +++ b/test/passes/flatten.txt @@ -20,7 +20,6 @@ (drop (local.get $0) ) - (nop) ) (func $a2 (; 1 ;) (result i32) (local $0 i32) @@ -77,7 +76,6 @@ (drop (local.get $2) ) - (nop) ) (func $a5 (; 4 ;) (result i32) (local $0 i32) @@ -304,7 +302,6 @@ (br_if $outer (i32.const -1) ) - (nop) (local.set $0 (i32.add (i32.const 0) @@ -361,7 +358,6 @@ (drop (local.get $2) ) - (nop) (local.set $x (i32.const 2) ) @@ -380,7 +376,6 @@ (drop (local.get $4) ) - (nop) (local.set $x (i32.const 5) ) @@ -399,7 +394,6 @@ (drop (local.get $6) ) - (nop) (local.set $x (i32.const 6) ) @@ -424,7 +418,6 @@ (drop (local.get $9) ) - (nop) (local.set $1 (i32.const 8) ) @@ -441,14 +434,10 @@ (func $a11 (; 10 ;) (if (i32.const 0) - (block - (drop - (i32.const 1) - ) - (nop) + (drop + (i32.const 1) ) ) - (nop) ) (func $a12 (; 11 ;) (result i32) (local $0 i32) @@ -550,14 +539,10 @@ ) (if (local.get $0) - (block - (unreachable) - (unreachable) - ) + (unreachable) (block (block $label$3 (unreachable) - (unreachable) ) (local.set $2 (local.get $1) @@ -565,7 +550,6 @@ (drop (local.get $2) ) - (nop) ) ) ) @@ -591,7 +575,6 @@ (local.set $x (i32.const 0) ) - (nop) (local.set $2 (i32.const 0) ) @@ -616,7 +599,6 @@ (drop (local.get $6) ) - (nop) (local.set $5 (i32.const 0) ) @@ -668,7 +650,6 @@ (local $0 i32) (local $1 i32) (block $label$1 - (unreachable) (local.set $0 (i32.const 1) ) @@ -694,7 +675,6 @@ (func $a19 (; 18 ;) (result f32) (block $label$0 (block $label$1 - (unreachable) (return (f32.const 4289944320) ) @@ -723,633 +703,510 @@ (local $4 i32) (local $5 i32) (local $6 i32) - (block - (block $out - (br $out) - (unreachable) + (block $out + (br $out) + (unreachable) + (drop + (i32.const 0) + ) + (if + (i32.const 1) (drop - (i32.const 0) + (i32.const 2) ) - (nop) - (if - (i32.const 1) - (block - (drop - (i32.const 2) - ) - (nop) + ) + (br_table $out $out $out $out + (i32.const 3) + ) + (unreachable) + (call $code-to-kill) + ) + (if + (i32.const 0) + (block + (block $out1 + (unreachable) + (drop + (i32.const 0) ) ) - (nop) - (br_table $out $out $out $out - (i32.const 3) - ) (unreachable) - (call $code-to-kill) - (nop) ) - (nop) - (if - (i32.const 0) - (block - (block $out1 - (unreachable) - (unreachable) - (drop - (i32.const 0) - ) - (nop) - ) + ) + (if + (i32.const 0) + (block + (block $out3 + (return) (unreachable) - ) - ) - (nop) - (if - (i32.const 0) - (block - (block $out3 - (return) - (unreachable) - (drop - (i32.const 0) - ) - (nop) + (drop + (i32.const 0) ) - (unreachable) - ) - ) - (nop) - (block $out4 - (br_table $out4 $out4 $out4 $out4 - (i32.const 4) ) (unreachable) - (drop - (i32.const 0) - ) - (nop) ) - (nop) - (block $out5 - (br_if $out5 - (i32.const 3) - ) - (nop) - (drop - (i32.const 0) - ) - (nop) + ) + (block $out4 + (br_table $out4 $out4 $out4 $out4 + (i32.const 4) ) - (nop) - (if + (unreachable) + (drop (i32.const 0) - (block - (block $block4 - (if - (i32.const 0) - (block - (block $out8 - (unreachable) - (unreachable) - (drop - (i32.const 0) - ) - (nop) - ) + ) + ) + (block $out5 + (br_if $out5 + (i32.const 3) + ) + (drop + (i32.const 0) + ) + ) + (if + (i32.const 0) + (block + (block $block4 + (if + (i32.const 0) + (block + (block $out8 (unreachable) - ) - (block - (block $out9 - (unreachable) - (unreachable) - (drop - (i32.const 0) - ) - (nop) + (drop + (i32.const 0) ) - (unreachable) ) + (unreachable) ) - (unreachable) - (drop - (i32.const 0) + (block + (block $out9 + (unreachable) + (drop + (i32.const 0) + ) + ) + (unreachable) ) - (nop) ) (unreachable) + (drop + (i32.const 0) + ) ) + (unreachable) ) - (nop) - (if - (i32.const 0) - (block - (block $out11 - (unreachable) - (unreachable) - (unreachable) - (drop - (i32.const 0) - ) - (nop) - (unreachable) - (unreachable) - ) - (local.set $2 - (local.get $1) - ) + ) + (if + (i32.const 0) + (block + (block $out11 + (unreachable) + (unreachable) (drop - (local.get $2) + (i32.const 0) ) - (nop) + (unreachable) + ) + (local.set $2 + (local.get $1) + ) + (drop + (local.get $2) ) ) - (nop) - (if - (i32.const 0) - (block - (block $out13 - (unreachable) - (unreachable) - (unreachable) - (drop - (i32.const 0) - ) - (nop) - (unreachable) - (unreachable) - ) - (local.set $4 - (local.get $3) - ) + ) + (if + (i32.const 0) + (block + (block $out13 + (unreachable) + (unreachable) (drop - (local.get $4) + (i32.const 0) ) - (nop) + (unreachable) + ) + (local.set $4 + (local.get $3) + ) + (drop + (local.get $4) ) ) - (nop) - (if - (i32.const 0) - (block - (block $out15 - (unreachable) - (unreachable) - (unreachable) - (unreachable) - (drop - (i32.const 0) - ) - (nop) - (unreachable) - (unreachable) - ) - (local.set $6 - (local.get $5) - ) + ) + (if + (i32.const 0) + (block + (block $out15 + (unreachable) + (unreachable) (drop - (local.get $6) + (i32.const 0) ) - (nop) + (unreachable) + ) + (local.set $6 + (local.get $5) + ) + (drop + (local.get $6) ) ) - (nop) - (block $out16 - (block $in - (br_if $out16 - (i32.const 1) - ) - (nop) + ) + (block $out16 + (block $in + (br_if $out16 + (i32.const 1) ) - (nop) - (unreachable) - (unreachable) ) - (nop) - (if - (i32.const 0) - (block - (block $block11 - (block $out18 - (block $in19 - (br_if $in19 - (i32.const 1) - ) - (nop) + (unreachable) + ) + (if + (i32.const 0) + (block + (block $block11 + (block $out18 + (block $in19 + (br_if $in19 + (i32.const 1) ) - (nop) - (unreachable) - (unreachable) ) (unreachable) - (drop - (i32.const 10) - ) - (nop) ) (unreachable) - ) - ) - (nop) - (block $out20 - (block $in21 - (br_table $out20 $in21 - (i32.const 1) + (drop + (i32.const 10) ) - (unreachable) ) - (nop) - (unreachable) (unreachable) ) - (nop) - (block $out22 - (block $in23 - (br_table $in23 $out22 - (i32.const 1) - ) - (unreachable) + ) + (block $out20 + (block $in21 + (br_table $out20 $in21 + (i32.const 1) ) - (nop) (unreachable) + ) + (unreachable) + ) + (block $out22 + (block $in23 + (br_table $in23 $out22 + (i32.const 1) + ) (unreachable) ) - (nop) - (if - (i32.const 0) - (block - (block $block13 - (block $out25 - (block $in26 - (br_table $in26 $in26 - (i32.const 1) - ) - (unreachable) + (unreachable) + ) + (if + (i32.const 0) + (block + (block $block13 + (block $out25 + (block $in26 + (br_table $in26 $in26 + (i32.const 1) ) - (nop) - (unreachable) (unreachable) ) (unreachable) - (drop - (i32.const 10) - ) - (nop) ) (unreachable) + (drop + (i32.const 10) + ) ) + (unreachable) ) - (nop) - (if - (i32.const 0) - (block - (block $block15 - (drop - (i32.const 10) - ) - (nop) - (drop - (i32.const 42) - ) - (nop) - (unreachable) - (unreachable) - (unreachable) - (return - (unreachable) - ) - (unreachable) - (unreachable) - (unreachable) - (return) + ) + (if + (i32.const 0) + (block + (block $block15 + (drop + (i32.const 10) + ) + (drop + (i32.const 42) + ) + (unreachable) + (return (unreachable) ) (unreachable) + (unreachable) + (return) + (unreachable) ) + (unreachable) ) - (nop) - (if - (i32.const 0) - (block - (loop $loop-in18 - (unreachable) - (unreachable) - ) + ) + (if + (i32.const 0) + (block + (loop $loop-in18 (unreachable) ) + (unreachable) ) - (nop) - (block $out29 - (loop $in30 - (block - (br_if $out29 - (i32.const 1) - ) - (nop) - (unreachable) - (unreachable) + ) + (block $out29 + (loop $in30 + (block + (br_if $out29 + (i32.const 1) ) (unreachable) ) (unreachable) ) - (nop) - (if - (i32.const 0) - (block - (block $block20 - (loop $in32 - (block - (br_if $in32 - (i32.const 1) - ) - (nop) - (unreachable) - (unreachable) + (unreachable) + ) + (if + (i32.const 0) + (block + (block $block20 + (loop $in32 + (block + (br_if $in32 + (i32.const 1) ) (unreachable) ) (unreachable) - (drop - (i32.const 10) - ) - (nop) ) (unreachable) - ) - ) - (nop) - (if - (i32.const 1) - (block - (unreachable) - (call $call-me - (i32.const 123) - (unreachable) + (drop + (i32.const 10) ) - (unreachable) ) + (unreachable) ) - (nop) - (if - (i32.const 2) - (block - (unreachable) - (call $call-me - (unreachable) - (i32.const 0) - ) + ) + (if + (i32.const 1) + (block + (call $call-me + (i32.const 123) (unreachable) ) + (unreachable) ) - (nop) - (if - (i32.const 3) - (block - (unreachable) - (unreachable) - (call $call-me - (unreachable) - (unreachable) - ) + ) + (if + (i32.const 2) + (block + (call $call-me (unreachable) + (i32.const 0) ) + (unreachable) ) - (nop) - (if - (i32.const -1) - (block + ) + (if + (i32.const 3) + (block + (call $call-me (unreachable) - (call_indirect (type $i32_i32_=>_none) - (i32.const 123) - (i32.const 456) - (unreachable) - ) (unreachable) ) + (unreachable) ) - (nop) - (if - (i32.const -2) - (block - (unreachable) - (call_indirect (type $i32_i32_=>_none) - (i32.const 139) - (unreachable) - (i32.const 0) - ) + ) + (if + (i32.const -1) + (block + (call_indirect (type $i32_i32_=>_none) + (i32.const 123) + (i32.const 456) (unreachable) ) + (unreachable) ) - (nop) - (if - (i32.const -3) - (block - (unreachable) - (unreachable) - (call_indirect (type $i32_i32_=>_none) - (i32.const 246) - (unreachable) - (unreachable) - ) + ) + (if + (i32.const -2) + (block + (call_indirect (type $i32_i32_=>_none) + (i32.const 139) (unreachable) + (i32.const 0) ) + (unreachable) ) - (nop) - (if - (i32.const -4) - (block - (unreachable) - (unreachable) + ) + (if + (i32.const -3) + (block + (call_indirect (type $i32_i32_=>_none) + (i32.const 246) (unreachable) - (call_indirect (type $i32_i32_=>_none) - (unreachable) - (unreachable) - (unreachable) - ) (unreachable) ) + (unreachable) ) - (nop) - (if - (i32.const 11) - (block + ) + (if + (i32.const -4) + (block + (call_indirect (type $i32_i32_=>_none) (unreachable) (unreachable) (unreachable) ) + (unreachable) ) - (nop) - (if - (i32.const 22) - (block + ) + (if + (i32.const 11) + (block + (unreachable) + (unreachable) + ) + ) + (if + (i32.const 22) + (block + (i32.load (unreachable) - (i32.load - (unreachable) - ) - (drop - (unreachable) - ) + ) + (drop (unreachable) ) + (unreachable) ) - (nop) - (if - (i32.const 33) - (block - (unreachable) - (i32.store - (i32.const 0) - (unreachable) - ) + ) + (if + (i32.const 33) + (block + (i32.store + (i32.const 0) (unreachable) ) + (unreachable) ) - (nop) - (if - (i32.const 44) - (block - (unreachable) - (i32.store - (unreachable) - (i32.const 0) - ) + ) + (if + (i32.const 44) + (block + (i32.store (unreachable) + (i32.const 0) ) + (unreachable) ) - (nop) - (if - (i32.const 55) - (block - (unreachable) + ) + (if + (i32.const 55) + (block + (i32.store (unreachable) - (i32.store - (unreachable) - (unreachable) - ) (unreachable) ) + (unreachable) ) - (nop) - (if - (i32.const 66) - (block + ) + (if + (i32.const 66) + (block + (i32.eqz (unreachable) - (i32.eqz - (unreachable) - ) - (drop - (unreachable) - ) + ) + (drop (unreachable) ) + (unreachable) ) - (nop) - (if - (i32.const 77) - (block + ) + (if + (i32.const 77) + (block + (i32.add (unreachable) - (i32.add - (unreachable) - (i32.const 0) - ) - (drop - (unreachable) - ) + (i32.const 0) + ) + (drop (unreachable) ) + (unreachable) ) - (nop) - (if - (i32.const 88) - (block + ) + (if + (i32.const 88) + (block + (i32.add + (i32.const 0) (unreachable) - (i32.add - (i32.const 0) - (unreachable) - ) - (drop - (unreachable) - ) + ) + (drop (unreachable) ) + (unreachable) ) - (nop) - (if - (i32.const 99) - (block - (unreachable) + ) + (if + (i32.const 99) + (block + (i32.add (unreachable) - (i32.add - (unreachable) - (unreachable) - ) (unreachable) ) + (unreachable) ) - (nop) - (if - (i32.const 100) - (block + ) + (if + (i32.const 100) + (block + (select + (i32.const 123) + (i32.const 456) (unreachable) - (select - (i32.const 123) - (i32.const 456) - (unreachable) - ) - (drop - (unreachable) - ) + ) + (drop (unreachable) ) + (unreachable) ) - (nop) - (if - (i32.const 101) - (block + ) + (if + (i32.const 101) + (block + (select + (i32.const 123) (unreachable) - (select - (i32.const 123) - (unreachable) - (i32.const 456) - ) - (drop - (unreachable) - ) + (i32.const 456) + ) + (drop (unreachable) ) + (unreachable) ) - (nop) - (if - (i32.const 102) - (block + ) + (if + (i32.const 102) + (block + (select (unreachable) - (select - (unreachable) - (i32.const 123) - (i32.const 456) - ) - (drop - (unreachable) - ) + (i32.const 123) + (i32.const 456) + ) + (drop (unreachable) ) + (unreachable) ) - (nop) - (drop - (i32.const 1337) - ) - (nop) ) - (nop) + (drop + (i32.const 1337) + ) ) (func $killer (; 21 ;) (block (unreachable) - (unreachable) (drop (i32.const 1000) ) - (nop) ) (unreachable) ) @@ -1357,7 +1214,6 @@ (drop (i32.const 2000) ) - (nop) ) (func $typed-block-none-then-unreachable (; 23 ;) (result i32) (local $0 i32) @@ -1371,7 +1227,6 @@ (br $switch$0) (unreachable) ) - (nop) (return (i32.const 1) ) @@ -1399,9 +1254,7 @@ ) (unreachable) ) - (nop) ) - (nop) (local.set $1 (local.get $$$0) ) @@ -1412,7 +1265,6 @@ (br $switch$7) (unreachable) ) - (nop) (local.set $2 (local.get $$$0) ) @@ -1421,7 +1273,6 @@ ) (unreachable) ) - (nop) (return (i32.const 0) ) @@ -1438,18 +1289,15 @@ (local $0 i32) (block (unreachable) - (unreachable) (local.set $0 (global.get $x) ) (drop (local.get $0) ) - (nop) (global.set $x (i32.const 1) ) - (nop) ) (unreachable) ) @@ -1504,15 +1352,12 @@ (block $label$0 (block $label$3 (nop) - (unreachable) (br_table $label$3 (unreachable) ) (unreachable) (unreachable) - (unreachable) ) - (nop) (local.set $0 (i32.const 19) ) @@ -1530,15 +1375,12 @@ (block $label$0 (block $label$2 (nop) - (unreachable) (br_if $label$2 (unreachable) ) (unreachable) (unreachable) - (unreachable) ) - (nop) (local.set $0 (i32.const 19) ) @@ -1582,7 +1424,6 @@ (local $5 i32) (block $label$0 (block $label$1 - (unreachable) (local.set $1 (i32.const 4104) ) @@ -1686,7 +1527,6 @@ (local.get $10) ) (nop) - (nop) (local.set $11 (local.get $2) ) @@ -1697,7 +1537,6 @@ (local.set $13 (local.get $12) ) - (unreachable) (i64.mul (local.get $13) (unreachable) @@ -1775,7 +1614,6 @@ (drop (local.get $0) ) - (nop) (br $out) (i32.add (i32.const 1) @@ -1809,11 +1647,9 @@ (drop (i32.const 2) ) - (nop) (drop (i32.const 3) ) - (nop) (local.set $1 (i32.const 4) ) @@ -1830,7 +1666,6 @@ (drop (local.get $3) ) - (nop) (block $in (block $switch-in (local.set $4 @@ -1853,7 +1688,6 @@ (drop (local.get $7) ) - (nop) (local.set $5 (i32.const 3) ) @@ -1875,7 +1709,6 @@ (drop (local.get $9) ) - (nop) (loop $loop-in (local.set $10 (i32.const 5) @@ -1893,7 +1726,6 @@ (drop (local.get $12) ) - (nop) (if (i32.const 6) (local.set $13 @@ -1915,7 +1747,6 @@ (drop (local.get $15) ) - (nop) (local.set $16 (select (i32.const 9) @@ -1926,7 +1757,6 @@ (drop (local.get $16) ) - (nop) (br $out) (select (unreachable) @@ -1979,7 +1809,6 @@ (drop (local.get $19) ) - (nop) (if (i32.const 11) (local.set $20 @@ -2002,7 +1831,6 @@ (drop (local.get $22) ) - (nop) (if (i32.const 11) (local.set $23 @@ -2025,7 +1853,6 @@ (drop (local.get $25) ) - (nop) (if (i32.const 11) (local.set $26 @@ -2060,7 +1887,6 @@ (drop (local.get $30) ) - (nop) (return) (i32.add (i32.const 1) @@ -2070,7 +1896,6 @@ (unreachable) ) (unreachable) - (unreachable) (i32.add (i32.const 1) (unreachable) @@ -2122,7 +1947,6 @@ (drop (local.get $36) ) - (nop) (block $temp (local.set $37 (i32.const 1) @@ -2143,9 +1967,7 @@ (drop (local.get $39) ) - (nop) ) - (nop) ) (func $flatten-return-value (; 35 ;) (result i32) (local $0 i32) @@ -2210,83 +2032,69 @@ ) (if (local.get $8) - (block - (block $block44 - (block $label$78 - (local.set $430 - (i32.const 0) - ) - (nop) - ) - (nop) - (local.set $9 - (local.get $430) + (block $block44 + (block $label$78 + (local.set $430 + (i32.const 0) ) - (local.set $432 - (local.get $9) - ) - (nop) ) - (nop) + (local.set $9 + (local.get $430) + ) + (local.set $432 + (local.get $9) + ) ) - (block - (block $block45 - (block $label$79 - (local.set $10 - (local.get $9) - ) - (local.set $11 - (local.get $5) - ) - (local.set $12 + (block $block45 + (block $label$79 + (local.set $10 + (local.get $9) + ) + (local.set $11 + (local.get $5) + ) + (local.set $12 + (local.get $12) + ) + (local.set $13 + (i32.mul (local.get $12) + (i32.const 12) ) - (local.set $13 - (i32.mul - (local.get $12) - (i32.const 12) - ) - ) - (local.set $14 - (i32.add - (local.get $11) - (local.get $13) - ) - ) - (local.set $15 - (i32.load16_u offset=2 - (local.get $14) - ) - ) - (local.set $16 - (i32.lt_u - (local.get $10) - (local.get $15) - ) + ) + (local.set $14 + (i32.add + (local.get $11) + (local.get $13) ) - (local.set $431 - (local.get $16) + ) + (local.set $15 + (i32.load16_u offset=2 + (local.get $14) ) - (nop) ) - (nop) - (local.set $17 - (local.get $431) + (local.set $16 + (i32.lt_u + (local.get $10) + (local.get $15) + ) ) - (local.set $432 - (local.get $17) + (local.set $431 + (local.get $16) ) - (nop) ) - (nop) + (local.set $17 + (local.get $431) + ) + (local.set $432 + (local.get $17) + ) ) ) ) - (nop) (local.set $433 (i32.const 1) ) - (nop) (local.set $18 (local.get $432) ) @@ -2309,7 +2117,6 @@ (drop (local.get $22) ) - (nop) ) (func $outer-block-typed (; 37 ;) (param $var$0 i32) (result i32) (local $1 i32) @@ -2375,7 +2182,6 @@ (drop (local.get $5) ) - (nop) (local.set $4 (i32.const 1) ) @@ -2389,13 +2195,11 @@ ) (func $switch-unreachable (; 39 ;) (block $label$3 - (unreachable) (br_table $label$3 (unreachable) ) (unreachable) ) - (nop) ) (func $br_if_order (; 40 ;) (param $x i32) (result i32) (local $1 i32) @@ -2472,8 +2276,6 @@ (drop (local.get $2) ) - (nop) - (unreachable) (unreachable) (drop (unreachable) @@ -2494,7 +2296,6 @@ (drop (local.get $4) ) - (nop) ) (unreachable) ) |