summaryrefslogtreecommitdiff
path: root/test/unit.fromasm.imprecise.no-opts
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2016-05-24 16:07:11 -0700
committerAlon Zakai <alonzakai@gmail.com>2016-05-24 16:07:11 -0700
commite89c819e741f3a2059a24b30c8eaa1c8e213b924 (patch)
tree6bf190afe424af9a7bd566db397ab7aaf45b8d89 /test/unit.fromasm.imprecise.no-opts
parent3a993f98daefc9a851824f5099b76b4a427f81ed (diff)
parentf1384f6c98765de6ac9777ae44661c1a713a6e11 (diff)
downloadbinaryen-e89c819e741f3a2059a24b30c8eaa1c8e213b924.tar.gz
binaryen-e89c819e741f3a2059a24b30c8eaa1c8e213b924.tar.bz2
binaryen-e89c819e741f3a2059a24b30c8eaa1c8e213b924.zip
Merge pull request #540 from WebAssembly/merge-blocks
Merge blocks improvements
Diffstat (limited to 'test/unit.fromasm.imprecise.no-opts')
-rw-r--r--test/unit.fromasm.imprecise.no-opts113
1 files changed, 111 insertions, 2 deletions
diff --git a/test/unit.fromasm.imprecise.no-opts b/test/unit.fromasm.imprecise.no-opts
index 4b765e4dc..70f8d286b 100644
--- a/test/unit.fromasm.imprecise.no-opts
+++ b/test/unit.fromasm.imprecise.no-opts
@@ -562,7 +562,114 @@
)
)
)
- (func $lb (param $a i32)
+ (func $recursiveBlockMerging (param $x i32) (result i32)
+ (call $lb
+ (i32.add
+ (i32.add
+ (i32.add
+ (block
+ (i32.const 1)
+ (get_local $x)
+ )
+ (block
+ (i32.const 2)
+ (i32.const 3)
+ )
+ )
+ (block
+ (block
+ (block
+ (i32.const 4)
+ (i32.const 5)
+ )
+ (i32.const 6)
+ )
+ (i32.const 7)
+ )
+ )
+ (block
+ (i32.const 8)
+ (block
+ (i32.const 9)
+ (block
+ (i32.const 10)
+ (block
+ (i32.const 11)
+ (i32.const 12)
+ )
+ )
+ )
+ )
+ )
+ )
+ (set_local $x
+ (i32.add
+ (i32.add
+ (i32.add
+ (block
+ (call $lb
+ (i32.const 1)
+ )
+ (get_local $x)
+ )
+ (block
+ (call $lb
+ (i32.const 2)
+ )
+ (call $lb
+ (i32.const 3)
+ )
+ )
+ )
+ (block
+ (block
+ (block
+ (call $lb
+ (i32.const 4)
+ )
+ (call $lb
+ (i32.const 5)
+ )
+ )
+ (call $lb
+ (i32.const 6)
+ )
+ )
+ (call $lb
+ (i32.const 7)
+ )
+ )
+ )
+ (block
+ (call $lb
+ (i32.const 8)
+ )
+ (block
+ (call $lb
+ (i32.const 9)
+ )
+ (block
+ (call $lb
+ (i32.const 10)
+ )
+ (block
+ (call $lb
+ (i32.const 11)
+ )
+ (call $lb
+ (i32.const 12)
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ (return
+ (get_local $x)
+ )
+ )
+ (func $lb (param $a i32) (result i32)
(i32.store
(get_local $a)
(i32.add
@@ -575,7 +682,9 @@
(i32.const 8)
)
)
- (return)
+ (return
+ (i32.const 0)
+ )
)
(func $z
(nop)