summaryrefslogtreecommitdiff
path: root/test/unit.fromasm.imprecise.no-opts
diff options
context:
space:
mode:
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)