diff options
Diffstat (limited to 'test/unit.fromasm.imprecise.no-opts')
-rw-r--r-- | test/unit.fromasm.imprecise.no-opts | 113 |
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) |