summaryrefslogtreecommitdiff
path: root/test/unit.wast.fromBinary
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2017-09-12 17:12:56 -0700
committerGitHub <noreply@github.com>2017-09-12 17:12:56 -0700
commit048bcadbc0fdc9866e70995984813551aa5681ea (patch)
treec401084f7a48aac8ef236f3f6f954d71ceec8884 /test/unit.wast.fromBinary
parentc6729400f68a346c1d51702946bf6026638782a6 (diff)
downloadbinaryen-048bcadbc0fdc9866e70995984813551aa5681ea.tar.gz
binaryen-048bcadbc0fdc9866e70995984813551aa5681ea.tar.bz2
binaryen-048bcadbc0fdc9866e70995984813551aa5681ea.zip
Avoid new blocks in binary reading/writing (#1165)
* don't emit a toplevel block if we don't need to, as in wasm it is a list context * don't create unnecessary blocks in wasm reading
Diffstat (limited to 'test/unit.wast.fromBinary')
-rw-r--r--test/unit.wast.fromBinary374
1 files changed, 164 insertions, 210 deletions
diff --git a/test/unit.wast.fromBinary b/test/unit.wast.fromBinary
index 817cc3c7a..f4e9f88b9 100644
--- a/test/unit.wast.fromBinary
+++ b/test/unit.wast.fromBinary
@@ -19,27 +19,25 @@
(export "big_negative" (func $big_negative))
(func $big_negative (type $1)
(local $var$0 f64)
- (block $label$0
- (set_local $var$0
- (f64.const -2147483648)
- )
- (set_local $var$0
- (f64.const -2147483648)
- )
- (set_local $var$0
- (f64.const -21474836480)
- )
- (set_local $var$0
- (f64.const 0.039625)
- )
- (set_local $var$0
- (f64.const -0.039625)
- )
+ (set_local $var$0
+ (f64.const -2147483648)
+ )
+ (set_local $var$0
+ (f64.const -2147483648)
+ )
+ (set_local $var$0
+ (f64.const -21474836480)
+ )
+ (set_local $var$0
+ (f64.const 0.039625)
+ )
+ (set_local $var$0
+ (f64.const -0.039625)
)
)
(func $importedDoubles (type $4) (result f64)
(local $var$0 f64)
- (block $label$0 (result f64)
+ (block $label$1 (result f64)
(set_local $var$0
(f64.add
(f64.add
@@ -71,10 +69,8 @@
)
(i32.const 0)
)
- (block $label$1
- (br $label$0
- (f64.const -3.4)
- )
+ (br $label$1
+ (f64.const -3.4)
)
)
(if
@@ -84,10 +80,8 @@
)
(f64.const 0)
)
- (block $label$2
- (br $label$0
- (f64.const 5.6)
- )
+ (br $label$1
+ (f64.const 5.6)
)
)
(f64.const 1.2)
@@ -97,16 +91,14 @@
(local $var$2 i32)
(local $var$3 f64)
(local $var$4 f64)
- (block $label$0 (result f64)
+ (block $label$1 (result f64)
(if
(f64.gt
(get_local $var$0)
(f64.const 0)
)
- (block $label$1
- (br $label$0
- (f64.const 1.2)
- )
+ (br $label$1
+ (f64.const 1.2)
)
)
(if
@@ -114,10 +106,8 @@
(get_local $var$4)
(f64.const 0)
)
- (block $label$2
- (br $label$0
- (f64.const -3.4)
- )
+ (br $label$1
+ (f64.const -3.4)
)
)
(if
@@ -125,10 +115,8 @@
(get_local $var$2)
(i32.const 0)
)
- (block $label$3
- (br $label$0
- (f64.const 5.6)
- )
+ (br $label$1
+ (f64.const 5.6)
)
)
(if
@@ -136,10 +124,8 @@
(get_local $var$0)
(get_local $var$1)
)
- (block $label$4
- (br $label$0
- (get_local $var$0)
- )
+ (br $label$1
+ (get_local $var$0)
)
)
(get_local $var$1)
@@ -166,23 +152,21 @@
(func $conversions (type $1)
(local $var$0 i32)
(local $var$1 f64)
- (block $label$0
- (set_local $var$0
- (call $import$1
- (get_local $var$1)
- )
+ (set_local $var$0
+ (call $import$1
+ (get_local $var$1)
)
- (set_local $var$1
- (f64.convert_s/i32
- (get_local $var$0)
- )
+ )
+ (set_local $var$1
+ (f64.convert_s/i32
+ (get_local $var$0)
)
- (set_local $var$1
- (f64.convert_u/i32
- (i32.shr_u
- (get_local $var$0)
- (i32.const 0)
- )
+ )
+ (set_local $var$1
+ (f64.convert_u/i32
+ (i32.shr_u
+ (get_local $var$0)
+ (i32.const 0)
)
)
)
@@ -191,13 +175,13 @@
(local $var$0 f64)
(set_local $var$0
(f64.sub
- (block $label$0 (result f64)
+ (block $label$1 (result f64)
(drop
(f64.const 0.1)
)
(f64.const 5.1)
)
- (block $label$1 (result f64)
+ (block $label$2 (result f64)
(drop
(f64.const 3.2)
)
@@ -207,75 +191,75 @@
)
)
(func $switcher (type $6) (param $var$0 i32) (result i32)
- (block $label$0 (result i32)
- (block $label$1
- (block $label$2
- (block $label$3
- (block $label$4
- (br_table $label$4 $label$3 $label$2
+ (block $label$1 (result i32)
+ (block $label$2
+ (block $label$3
+ (block $label$4
+ (block $label$5
+ (br_table $label$5 $label$4 $label$3
(i32.sub
(get_local $var$0)
(i32.const 1)
)
)
)
- (br $label$0
+ (br $label$1
(i32.const 1)
)
)
- (br $label$0
+ (br $label$1
(i32.const 2)
)
)
(nop)
)
- (block $label$5
- (block $label$6
- (block $label$7
- (block $label$8
- (br_table $label$7 $label$6 $label$6 $label$6 $label$6 $label$6 $label$6 $label$8 $label$6
+ (block $label$6
+ (block $label$7
+ (block $label$8
+ (block $label$9
+ (br_table $label$8 $label$7 $label$7 $label$7 $label$7 $label$7 $label$7 $label$9 $label$7
(i32.sub
(get_local $var$0)
(i32.const 5)
)
)
)
- (br $label$0
+ (br $label$1
(i32.const 121)
)
)
- (br $label$0
+ (br $label$1
(i32.const 51)
)
)
(nop)
)
- (block $label$9
- (block $label$10
- (block $label$11
- (block $label$12
- (block $label$13
- (block $label$14
- (br_table $label$11 $label$10 $label$10 $label$12 $label$10 $label$10 $label$10 $label$10 $label$13 $label$10 $label$14 $label$10
+ (block $label$10
+ (block $label$11
+ (block $label$12
+ (block $label$13
+ (block $label$14
+ (block $label$15
+ (br_table $label$12 $label$11 $label$11 $label$13 $label$11 $label$11 $label$11 $label$11 $label$14 $label$11 $label$15 $label$11
(i32.sub
(get_local $var$0)
(i32.const 2)
)
)
)
- (br $label$9)
+ (br $label$10)
)
- (br $label$9)
+ (br $label$10)
)
- (block $label$15
- (loop $label$16
- (br $label$15)
+ (block $label$16
+ (loop $label$17
+ (br $label$16)
)
)
)
- (block $label$17
- (loop $label$18
- (br $label$9)
+ (block $label$18
+ (loop $label$19
+ (br $label$10)
)
)
)
@@ -285,8 +269,8 @@
)
)
(func $blocker (type $1)
- (block $label$0
- (br $label$0)
+ (block $label$1
+ (br $label$1)
)
)
(func $frem (type $4) (result f64)
@@ -297,44 +281,40 @@
)
(func $big_uint_div_u (type $5) (result i32)
(local $var$0 i32)
- (block $label$0 (result i32)
- (set_local $var$0
- (i32.and
- (i32.div_u
- (i32.const -1)
- (i32.const 2)
- )
+ (set_local $var$0
+ (i32.and
+ (i32.div_u
(i32.const -1)
+ (i32.const 2)
)
+ (i32.const -1)
)
- (get_local $var$0)
)
+ (get_local $var$0)
)
(func $fr (type $0) (param $var$0 f32)
(local $var$1 f32)
(local $var$2 f64)
- (block $label$0
- (drop
- (f32.demote/f64
- (get_local $var$2)
- )
- )
- (drop
- (get_local $var$1)
- )
- (drop
- (f32.const 5)
- )
- (drop
- (f32.const 0)
- )
- (drop
- (f32.const 5)
- )
- (drop
- (f32.const 0)
+ (drop
+ (f32.demote/f64
+ (get_local $var$2)
)
)
+ (drop
+ (get_local $var$1)
+ )
+ (drop
+ (f32.const 5)
+ )
+ (drop
+ (f32.const 0)
+ )
+ (drop
+ (f32.const 5)
+ )
+ (drop
+ (f32.const 0)
+ )
)
(func $negZero (type $4) (result f64)
(f64.const -0)
@@ -344,54 +324,50 @@
(local $var$1 i32)
(local $var$2 f32)
(local $var$3 f64)
- (block $label$0
- (set_local $var$0
- (block $label$1 (result i32)
- (set_local $var$1
+ (set_local $var$0
+ (block $label$1 (result i32)
+ (set_local $var$1
+ (i32.const 0)
+ )
+ (select
+ (i32.sub
(i32.const 0)
+ (get_local $var$1)
)
- (select
- (i32.sub
- (i32.const 0)
- (get_local $var$1)
- )
+ (get_local $var$1)
+ (i32.lt_s
(get_local $var$1)
- (i32.lt_s
- (get_local $var$1)
- (i32.const 0)
- )
+ (i32.const 0)
)
)
)
- (set_local $var$3
- (f64.abs
- (f64.const 0)
- )
+ )
+ (set_local $var$3
+ (f64.abs
+ (f64.const 0)
)
- (set_local $var$2
- (f32.abs
- (f32.const 0)
- )
+ )
+ (set_local $var$2
+ (f32.abs
+ (f32.const 0)
)
)
)
(func $neg (type $1)
(local $var$0 f32)
- (block $label$0
- (set_local $var$0
- (f32.neg
- (get_local $var$0)
- )
- )
- (call_indirect $0
+ (set_local $var$0
+ (f32.neg
(get_local $var$0)
- (i32.add
- (i32.and
- (i32.const 1)
- (i32.const 7)
- )
- (i32.const 8)
+ )
+ )
+ (call_indirect $0
+ (get_local $var$0)
+ (i32.add
+ (i32.and
+ (i32.const 1)
+ (i32.const 7)
)
+ (i32.const 8)
)
)
)
@@ -426,18 +402,16 @@
(nop)
)
(func $block_and_after (type $5) (result i32)
- (block $label$0 (result i32)
- (block $label$1
- (drop
- (i32.const 1)
- )
- (br $label$1)
+ (block $label$1
+ (drop
+ (i32.const 1)
)
- (i32.const 0)
+ (br $label$1)
)
+ (i32.const 0)
)
(func $loop-roundtrip (type $7) (param $var$0 f64) (result f64)
- (loop $label$0 (result f64)
+ (loop $label$1 (result f64)
(drop
(get_local $var$0)
)
@@ -459,7 +433,7 @@
)
)
(func $unreachable-block (type $5) (result i32)
- (block $label$0
+ (block $label$1
(drop
(i32.const 1)
)
@@ -469,72 +443,58 @@
)
)
(func $unreachable-block-toplevel (type $5) (result i32)
- (block $label$0
- (drop
- (i32.const 1)
- )
- (return
- (i32.const 2)
- )
+ (drop
+ (i32.const 1)
+ )
+ (return
+ (i32.const 2)
)
)
(func $unreachable-block0 (type $5) (result i32)
- (block $label$0
+ (block $label$1
(return
(i32.const 2)
)
)
)
(func $unreachable-block0-toplevel (type $5) (result i32)
- (block $label$0
- (return
- (i32.const 2)
- )
+ (return
+ (i32.const 2)
)
)
(func $unreachable-block-with-br (type $5) (result i32)
- (block $label$0 (result i32)
- (block $label$1
- (drop
- (i32.const 1)
- )
- (br $label$1)
+ (block $label$1
+ (drop
+ (i32.const 1)
)
- (i32.const 1)
+ (br $label$1)
)
+ (i32.const 1)
)
(func $unreachable-if (type $5) (result i32)
(if
(i32.const 3)
- (block $label$0
- (return
- (i32.const 2)
- )
+ (return
+ (i32.const 2)
)
- (block $label$1
- (return
- (i32.const 1)
- )
+ (return
+ (i32.const 1)
)
)
)
(func $unreachable-if-toplevel (type $5) (result i32)
(if
(i32.const 3)
- (block $label$0
- (return
- (i32.const 2)
- )
+ (return
+ (i32.const 2)
)
- (block $label$1
- (return
- (i32.const 1)
- )
+ (return
+ (i32.const 1)
)
)
)
(func $unreachable-loop (type $5) (result i32)
- (loop $label$0
+ (loop $label$1
(nop)
(return
(i32.const 1)
@@ -542,14 +502,14 @@
)
)
(func $unreachable-loop0 (type $5) (result i32)
- (loop $label$0
+ (loop $label$1
(return
(i32.const 1)
)
)
)
(func $unreachable-loop-toplevel (type $5) (result i32)
- (loop $label$0
+ (loop $label$1
(nop)
(return
(i32.const 1)
@@ -557,26 +517,20 @@
)
)
(func $unreachable-loop0-toplevel (type $5) (result i32)
- (loop $label$0
+ (loop $label$1
(return
(i32.const 1)
)
)
)
(func $unreachable-ifs (type $1)
- (block $label$0
- (unreachable)
- )
+ (unreachable)
)
(func $unreachable-if-arm (type $1)
(if
(i32.const 1)
- (block $label$0
- (nop)
- )
- (block $label$1
- (unreachable)
- )
+ (nop)
+ (unreachable)
)
)
)