summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/example/c-api-kitchen-sink.txt980
-rw-r--r--test/example/c-api-kitchen-sink.txt.txt490
-rw-r--r--test/example/relooper-fuzz.txt64
-rw-r--r--test/example/relooper-fuzz1.txt284
4 files changed, 841 insertions, 977 deletions
diff --git a/test/example/c-api-kitchen-sink.txt b/test/example/c-api-kitchen-sink.txt
index e541b1704..0d27fa464 100644
--- a/test/example/c-api-kitchen-sink.txt
+++ b/test/example/c-api-kitchen-sink.txt
@@ -381,10 +381,13 @@ raw:
)
(func $two-blocks (type $v)
(local $0 i32)
- (block
+ (block $block$2$break
(call_import $check
(i32.const 0)
)
+ (block
+ (br $block$2$break)
+ )
)
(block
(call_import $check
@@ -394,12 +397,13 @@ raw:
)
(func $two-blocks-plus-code (type $v)
(local $0 i32)
- (block
+ (block $block$2$break
(call_import $check
(i32.const 0)
)
(block
(i32.const 77)
+ (br $block$2$break)
)
)
(block
@@ -410,11 +414,14 @@ raw:
)
(func $loop (type $v)
(local $0 i32)
- (loop $shape$0$break $shape$0$continue
- (block
+ (loop $shape$0$continue
+ (block $block$2$break
(call_import $check
(i32.const 0)
)
+ (block
+ (br $block$2$break)
+ )
)
(block
(call_import $check
@@ -428,13 +435,14 @@ raw:
)
(func $loop-plus-code (type $v)
(local $0 i32)
- (loop $shape$0$break $shape$0$continue
- (block
+ (loop $shape$0$continue
+ (block $block$2$break
(call_import $check
(i32.const 0)
)
(block
(i32.const 33)
+ (br $block$2$break)
)
)
(block
@@ -453,18 +461,16 @@ raw:
(call_import $check
(i32.const 0)
)
- (block $shape$1$break
- (if
- (i32.const 55)
- (block
- (call_import $check
- (i32.const 1)
- )
+ (if
+ (i32.const 55)
+ (block
+ (call_import $check
+ (i32.const 1)
)
- (block
- (call_import $check
- (i32.const 2)
- )
+ )
+ (block
+ (call_import $check
+ (i32.const 2)
)
)
)
@@ -474,23 +480,21 @@ raw:
(call_import $check
(i32.const 0)
)
- (block $shape$1$break
- (if
- (i32.const 55)
+ (if
+ (i32.const 55)
+ (block
+ (i32.const 10)
(block
- (i32.const 10)
- (block
- (call_import $check
- (i32.const 1)
- )
+ (call_import $check
+ (i32.const 1)
)
)
+ )
+ (block
+ (i32.const 20)
(block
- (i32.const 20)
- (block
- (call_import $check
- (i32.const 2)
- )
+ (call_import $check
+ (i32.const 2)
)
)
)
@@ -498,22 +502,21 @@ raw:
)
(func $if (type $v)
(local $0 i32)
- (block
+ (block $block$3$break
(call_import $check
(i32.const 0)
)
- (block $shape$1$break
- (if
- (i32.const 55)
+ (if
+ (i32.const 55)
+ (block
+ (call_import $check
+ (i32.const 1)
+ )
(block
- (call_import $check
- (i32.const 1)
- )
- (block
- (br $shape$1$break)
- )
+ (br $block$3$break)
)
)
+ (br $block$3$break)
)
)
(block
@@ -524,26 +527,27 @@ raw:
)
(func $if-plus-code (type $v)
(local $0 i32)
- (block
+ (block $block$3$break
(call_import $check
(i32.const 0)
)
- (block $shape$1$break
- (if
- (i32.const 55)
+ (if
+ (i32.const 55)
+ (block
+ (i32.const -1)
(block
- (i32.const -1)
+ (call_import $check
+ (i32.const 1)
+ )
(block
- (call_import $check
- (i32.const 1)
- )
- (block
- (i32.const -3)
- (br $shape$1$break)
- )
+ (i32.const -3)
+ (br $block$3$break)
)
)
+ )
+ (block
(i32.const -2)
+ (br $block$3$break)
)
)
)
@@ -555,28 +559,26 @@ raw:
)
(func $if-else (type $v)
(local $0 i32)
- (block
+ (block $block$4$break
(call_import $check
(i32.const 0)
)
- (block $shape$1$break
- (if
- (i32.const 55)
+ (if
+ (i32.const 55)
+ (block
+ (call_import $check
+ (i32.const 1)
+ )
(block
- (call_import $check
- (i32.const 1)
- )
- (block
- (br $shape$1$break)
- )
+ (br $block$4$break)
+ )
+ )
+ (block
+ (call_import $check
+ (i32.const 2)
)
(block
- (call_import $check
- (i32.const 2)
- )
- (block
- (br $shape$1$break)
- )
+ (br $block$4$break)
)
)
)
@@ -589,20 +591,25 @@ raw:
)
(func $loop-tail (type $v)
(local $0 i32)
- (loop $shape$0$break $shape$0$continue
- (block
- (call_import $check
- (i32.const 0)
- )
- )
- (block
- (call_import $check
- (i32.const 1)
+ (block $block$3$break
+ (loop $shape$0$continue
+ (block $block$2$break
+ (call_import $check
+ (i32.const 0)
+ )
+ (block
+ (br $block$2$break)
+ )
)
- (if
- (i32.const 10)
- (br $shape$0$continue)
- (br $shape$0$break)
+ (block
+ (call_import $check
+ (i32.const 1)
+ )
+ (if
+ (i32.const 10)
+ (br $shape$0$continue)
+ (br $block$3$break)
+ )
)
)
)
@@ -614,93 +621,81 @@ raw:
)
(func $nontrivial-loop-plus-phi-to-head (type $v)
(local $0 i32)
- (block
+ (block $block$2$break
(call_import $check
(i32.const 0)
)
(block
(i32.const 10)
+ (br $block$2$break)
)
)
(block
- (loop $shape$1$break $shape$1$continue
- (block
- (call_import $check
- (i32.const 1)
- )
- (if
- (i32.eqz
- (i32.const -2)
- )
- (block
- (i32.const 20)
- (br $shape$1$break)
- )
- )
- )
- (block
- (call_import $check
- (i32.const 2)
- )
- (if
- (i32.const -6)
- (block
- (set_local $0
- (i32.const 4)
+ (block $block$7$break
+ (block $block$4$break
+ (loop $shape$1$continue
+ (block $block$3$break
+ (call_import $check
+ (i32.const 1)
+ )
+ (if
+ (i32.const -2)
+ (br $block$3$break)
+ (block
+ (i32.const 20)
+ (br $block$7$break)
+ )
)
- (br $shape$1$break)
)
(block
- (i32.const 30)
- (br $shape$1$continue)
+ (call_import $check
+ (i32.const 2)
+ )
+ (if
+ (i32.const -6)
+ (br $block$4$break)
+ (block
+ (i32.const 30)
+ (br $shape$1$continue)
+ )
+ )
)
)
)
- )
- (block
- (block $shape$4$break
- (if
- (i32.eq
- (get_local $0)
- (i32.const 4)
+ (block
+ (block $block$6$break
+ (call_import $check
+ (i32.const 3)
)
- (block
+ (if
+ (i32.const -10)
(block
(call_import $check
- (i32.const 3)
- )
- (block $shape$6$break
- (if
- (i32.const -10)
- (block
- (call_import $check
- (i32.const 4)
- )
- (block
- (br $shape$6$break)
- )
- )
- )
- )
- )
- (block
- (call_import $check
- (i32.const 5)
+ (i32.const 4)
)
(block
- (i32.const 40)
- (br $shape$4$break)
+ (br $block$6$break)
)
)
+ (br $block$6$break)
)
)
- )
- (block
- (call_import $check
- (i32.const 6)
+ (block
+ (call_import $check
+ (i32.const 5)
+ )
+ (block
+ (i32.const 40)
+ (br $block$7$break)
+ )
)
)
)
+ (block
+ (call_import $check
+ (i32.const 6)
+ )
+ )
)
)
(func $switch (type $v)
@@ -708,43 +703,41 @@ raw:
(call_import $check
(i32.const 0)
)
- (block $shape$1$break
- (block $switch$1$leave
- (block $switch$1$default
- (block $switch$1$case$3
- (block $switch$1$case$2
- (br_table $switch$1$default $switch$1$default $switch$1$case$2 $switch$1$default $switch$1$case$3 $switch$1$case$2 $switch$1$default
- (i32.const -99)
- )
- )
- (block
- (block
- (call_import $check
- (i32.const 1)
- )
- )
+ (block $switch$1$leave
+ (block $switch$1$default
+ (block $switch$1$case$3
+ (block $switch$1$case$2
+ (br_table $switch$1$default $switch$1$default $switch$1$case$2 $switch$1$default $switch$1$case$3 $switch$1$case$2 $switch$1$default
+ (i32.const -99)
)
- (br $switch$1$leave)
)
(block
- (i32.const 55)
(block
(call_import $check
- (i32.const 2)
+ (i32.const 1)
)
)
)
(br $switch$1$leave)
)
(block
+ (i32.const 55)
(block
(call_import $check
- (i32.const 3)
+ (i32.const 2)
)
)
)
(br $switch$1$leave)
)
+ (block
+ (block
+ (call_import $check
+ (i32.const 3)
+ )
+ )
+ )
+ (br $switch$1$leave)
)
)
(func $duffs-device (type $v)
@@ -756,58 +749,66 @@ raw:
(local $5 f64)
(local $6 i32)
(block
- (call_import $check
- (i32.const 0)
+ (block $block$3$break
+ (block $block$2$break
+ (call_import $check
+ (i32.const 0)
+ )
+ (if
+ (i32.const 10)
+ (block
+ (set_local $3
+ (i32.const 2)
+ )
+ (br $block$2$break)
+ )
+ (block
+ (set_local $3
+ (i32.const 3)
+ )
+ (br $block$3$break)
+ )
+ )
+ )
)
+ )
+ (loop $shape$1$continue
(if
- (i32.const 10)
- (set_local $3
+ (i32.eq
+ (get_local $3)
(i32.const 2)
)
- (set_local $3
- (i32.const 3)
+ (block
+ (set_local $3
+ (i32.const 0)
+ )
+ (call_import $check
+ (i32.const 1)
+ )
+ (block
+ (set_local $3
+ (i32.const 3)
+ )
+ (br $shape$1$continue)
+ )
)
- )
- )
- (loop $shape$1$break $shape$1$continue
- (block $shape$2$break
(if
(i32.eq
(get_local $3)
- (i32.const 2)
+ (i32.const 3)
)
(block
(set_local $3
(i32.const 0)
)
(call_import $check
- (i32.const 1)
- )
- (block
- (set_local $3
- (i32.const 3)
- )
- (br $shape$1$continue)
- )
- )
- (if
- (i32.eq
- (get_local $3)
- (i32.const 3)
+ (i32.const 2)
)
(block
(set_local $3
- (i32.const 0)
- )
- (call_import $check
(i32.const 2)
)
- (block
- (set_local $3
- (i32.const 2)
- )
- (br $shape$1$continue)
- )
+ (br $shape$1$continue)
)
)
)
@@ -847,7 +848,7 @@ optimized:
)
)
(func $loop (type $v)
- (loop $shape$0$break $shape$0$continue
+ (loop $shape$0$continue
(call_import $check
(i32.const 0)
)
@@ -885,21 +886,6 @@ optimized:
(i32.const 2)
)
)
- (func $if-plus-code (type $v)
- (call_import $check
- (i32.const 0)
- )
- (if
- (i32.const 55)
- (call_import $check
- (i32.const 1)
- )
- (i32.const -2)
- )
- (call_import $check
- (i32.const 2)
- )
- )
(func $if-else (type $v)
(call_import $check
(i32.const 0)
@@ -918,17 +904,19 @@ optimized:
)
)
(func $loop-tail (type $v)
- (loop $shape$0$break $shape$0$continue
- (call_import $check
- (i32.const 0)
- )
- (call_import $check
- (i32.const 1)
- )
- (if
- (i32.const 10)
- (br $shape$0$continue)
- (br $shape$0$break)
+ (block $block$3$break
+ (loop $shape$0$continue
+ (call_import $check
+ (i32.const 0)
+ )
+ (call_import $check
+ (i32.const 1)
+ )
+ (if
+ (i32.const 10)
+ (br $shape$0$continue)
+ (br $block$3$break)
+ )
)
)
(call_import $check
@@ -936,50 +924,40 @@ optimized:
)
)
(func $nontrivial-loop-plus-phi-to-head (type $v)
- (local $0 i32)
(call_import $check
(i32.const 0)
)
- (loop $shape$1$break $shape$1$continue
- (call_import $check
- (i32.const 1)
- )
- (br_if $shape$1$break
- (i32.const 0)
- )
- (call_import $check
- (i32.const 2)
- )
- (if
- (i32.const -6)
- (block
- (set_local $0
- (i32.const 4)
+ (block $block$7$break
+ (block $block$4$break
+ (loop $shape$1$continue
+ (call_import $check
+ (i32.const 1)
+ )
+ (br_if $block$7$break
+ (i32.const 0)
)
- (br $shape$1$break)
- )
- (br $shape$1$continue)
- )
- )
- (if
- (i32.eq
- (get_local $0)
- (i32.const 4)
- )
- (block
- (call_import $check
- (i32.const 3)
- )
- (if
- (i32.const -10)
(call_import $check
- (i32.const 4)
+ (i32.const 2)
+ )
+ (if
+ (i32.const -6)
+ (br $block$4$break)
+ (br $shape$1$continue)
)
)
+ )
+ (call_import $check
+ (i32.const 3)
+ )
+ (if
+ (i32.const -10)
(call_import $check
- (i32.const 5)
+ (i32.const 4)
)
)
+ (call_import $check
+ (i32.const 5)
+ )
)
(call_import $check
(i32.const 6)
@@ -1020,7 +998,7 @@ optimized:
(set_local $0
(i32.const 2)
)
- (loop $shape$1$break $shape$1$continue
+ (loop $shape$1$continue
(if
(i32.eq
(get_local $0)
@@ -2246,10 +2224,13 @@ raw:
)
(func $two-blocks (type $v)
(local $0 i32)
- (block
+ (block $block$2$break
(call_import $check
(i32.const 0)
)
+ (block
+ (br $block$2$break)
+ )
)
(block
(call_import $check
@@ -2259,12 +2240,13 @@ raw:
)
(func $two-blocks-plus-code (type $v)
(local $0 i32)
- (block
+ (block $block$2$break
(call_import $check
(i32.const 0)
)
(block
(i32.const 77)
+ (br $block$2$break)
)
)
(block
@@ -2275,11 +2257,14 @@ raw:
)
(func $loop (type $v)
(local $0 i32)
- (loop $shape$0$break $shape$0$continue
- (block
+ (loop $shape$0$continue
+ (block $block$2$break
(call_import $check
(i32.const 0)
)
+ (block
+ (br $block$2$break)
+ )
)
(block
(call_import $check
@@ -2293,13 +2278,14 @@ raw:
)
(func $loop-plus-code (type $v)
(local $0 i32)
- (loop $shape$0$break $shape$0$continue
- (block
+ (loop $shape$0$continue
+ (block $block$2$break
(call_import $check
(i32.const 0)
)
(block
(i32.const 33)
+ (br $block$2$break)
)
)
(block
@@ -2318,18 +2304,16 @@ raw:
(call_import $check
(i32.const 0)
)
- (block $shape$1$break
- (if
- (i32.const 55)
- (block
- (call_import $check
- (i32.const 1)
- )
+ (if
+ (i32.const 55)
+ (block
+ (call_import $check
+ (i32.const 1)
)
- (block
- (call_import $check
- (i32.const 2)
- )
+ )
+ (block
+ (call_import $check
+ (i32.const 2)
)
)
)
@@ -2339,23 +2323,21 @@ raw:
(call_import $check
(i32.const 0)
)
- (block $shape$1$break
- (if
- (i32.const 55)
+ (if
+ (i32.const 55)
+ (block
+ (i32.const 10)
(block
- (i32.const 10)
- (block
- (call_import $check
- (i32.const 1)
- )
+ (call_import $check
+ (i32.const 1)
)
)
+ )
+ (block
+ (i32.const 20)
(block
- (i32.const 20)
- (block
- (call_import $check
- (i32.const 2)
- )
+ (call_import $check
+ (i32.const 2)
)
)
)
@@ -2363,22 +2345,21 @@ raw:
)
(func $if (type $v)
(local $0 i32)
- (block
+ (block $block$3$break
(call_import $check
(i32.const 0)
)
- (block $shape$1$break
- (if
- (i32.const 55)
+ (if
+ (i32.const 55)
+ (block
+ (call_import $check
+ (i32.const 1)
+ )
(block
- (call_import $check
- (i32.const 1)
- )
- (block
- (br $shape$1$break)
- )
+ (br $block$3$break)
)
)
+ (br $block$3$break)
)
)
(block
@@ -2389,26 +2370,27 @@ raw:
)
(func $if-plus-code (type $v)
(local $0 i32)
- (block
+ (block $block$3$break
(call_import $check
(i32.const 0)
)
- (block $shape$1$break
- (if
- (i32.const 55)
+ (if
+ (i32.const 55)
+ (block
+ (i32.const -1)
(block
- (i32.const -1)
+ (call_import $check
+ (i32.const 1)
+ )
(block
- (call_import $check
- (i32.const 1)
- )
- (block
- (i32.const -3)
- (br $shape$1$break)
- )
+ (i32.const -3)
+ (br $block$3$break)
)
)
+ )
+ (block
(i32.const -2)
+ (br $block$3$break)
)
)
)
@@ -2420,28 +2402,26 @@ raw:
)
(func $if-else (type $v)
(local $0 i32)
- (block
+ (block $block$4$break
(call_import $check
(i32.const 0)
)
- (block $shape$1$break
- (if
- (i32.const 55)
+ (if
+ (i32.const 55)
+ (block
+ (call_import $check
+ (i32.const 1)
+ )
(block
- (call_import $check
- (i32.const 1)
- )
- (block
- (br $shape$1$break)
- )
+ (br $block$4$break)
+ )
+ )
+ (block
+ (call_import $check
+ (i32.const 2)
)
(block
- (call_import $check
- (i32.const 2)
- )
- (block
- (br $shape$1$break)
- )
+ (br $block$4$break)
)
)
)
@@ -2454,20 +2434,25 @@ raw:
)
(func $loop-tail (type $v)
(local $0 i32)
- (loop $shape$0$break $shape$0$continue
- (block
- (call_import $check
- (i32.const 0)
- )
- )
- (block
- (call_import $check
- (i32.const 1)
+ (block $block$3$break
+ (loop $shape$0$continue
+ (block $block$2$break
+ (call_import $check
+ (i32.const 0)
+ )
+ (block
+ (br $block$2$break)
+ )
)
- (if
- (i32.const 10)
- (br $shape$0$continue)
- (br $shape$0$break)
+ (block
+ (call_import $check
+ (i32.const 1)
+ )
+ (if
+ (i32.const 10)
+ (br $shape$0$continue)
+ (br $block$3$break)
+ )
)
)
)
@@ -2479,93 +2464,81 @@ raw:
)
(func $nontrivial-loop-plus-phi-to-head (type $v)
(local $0 i32)
- (block
+ (block $block$2$break
(call_import $check
(i32.const 0)
)
(block
(i32.const 10)
+ (br $block$2$break)
)
)
(block
- (loop $shape$1$break $shape$1$continue
- (block
- (call_import $check
- (i32.const 1)
- )
- (if
- (i32.eqz
- (i32.const -2)
- )
- (block
- (i32.const 20)
- (br $shape$1$break)
- )
- )
- )
- (block
- (call_import $check
- (i32.const 2)
- )
- (if
- (i32.const -6)
- (block
- (set_local $0
- (i32.const 4)
+ (block $block$7$break
+ (block $block$4$break
+ (loop $shape$1$continue
+ (block $block$3$break
+ (call_import $check
+ (i32.const 1)
+ )
+ (if
+ (i32.const -2)
+ (br $block$3$break)
+ (block
+ (i32.const 20)
+ (br $block$7$break)
+ )
)
- (br $shape$1$break)
)
(block
- (i32.const 30)
- (br $shape$1$continue)
+ (call_import $check
+ (i32.const 2)
+ )
+ (if
+ (i32.const -6)
+ (br $block$4$break)
+ (block
+ (i32.const 30)
+ (br $shape$1$continue)
+ )
+ )
)
)
)
- )
- (block
- (block $shape$4$break
- (if
- (i32.eq
- (get_local $0)
- (i32.const 4)
+ (block
+ (block $block$6$break
+ (call_import $check
+ (i32.const 3)
)
- (block
+ (if
+ (i32.const -10)
(block
(call_import $check
- (i32.const 3)
- )
- (block $shape$6$break
- (if
- (i32.const -10)
- (block
- (call_import $check
- (i32.const 4)
- )
- (block
- (br $shape$6$break)
- )
- )
- )
- )
- )
- (block
- (call_import $check
- (i32.const 5)
+ (i32.const 4)
)
(block
- (i32.const 40)
- (br $shape$4$break)
+ (br $block$6$break)
)
)
+ (br $block$6$break)
)
)
- )
- (block
- (call_import $check
- (i32.const 6)
+ (block
+ (call_import $check
+ (i32.const 5)
+ )
+ (block
+ (i32.const 40)
+ (br $block$7$break)
+ )
)
)
)
+ (block
+ (call_import $check
+ (i32.const 6)
+ )
+ )
)
)
(func $switch (type $v)
@@ -2573,43 +2546,41 @@ raw:
(call_import $check
(i32.const 0)
)
- (block $shape$1$break
- (block $switch$1$leave
- (block $switch$1$default
- (block $switch$1$case$3
- (block $switch$1$case$2
- (br_table $switch$1$default $switch$1$default $switch$1$case$2 $switch$1$default $switch$1$case$3 $switch$1$case$2 $switch$1$default
- (i32.const -99)
- )
- )
- (block
- (block
- (call_import $check
- (i32.const 1)
- )
- )
+ (block $switch$1$leave
+ (block $switch$1$default
+ (block $switch$1$case$3
+ (block $switch$1$case$2
+ (br_table $switch$1$default $switch$1$default $switch$1$case$2 $switch$1$default $switch$1$case$3 $switch$1$case$2 $switch$1$default
+ (i32.const -99)
)
- (br $switch$1$leave)
)
(block
- (i32.const 55)
(block
(call_import $check
- (i32.const 2)
+ (i32.const 1)
)
)
)
(br $switch$1$leave)
)
(block
+ (i32.const 55)
(block
(call_import $check
- (i32.const 3)
+ (i32.const 2)
)
)
)
(br $switch$1$leave)
)
+ (block
+ (block
+ (call_import $check
+ (i32.const 3)
+ )
+ )
+ )
+ (br $switch$1$leave)
)
)
(func $duffs-device (type $v)
@@ -2621,58 +2592,66 @@ raw:
(local $5 f64)
(local $6 i32)
(block
- (call_import $check
- (i32.const 0)
+ (block $block$3$break
+ (block $block$2$break
+ (call_import $check
+ (i32.const 0)
+ )
+ (if
+ (i32.const 10)
+ (block
+ (set_local $3
+ (i32.const 2)
+ )
+ (br $block$2$break)
+ )
+ (block
+ (set_local $3
+ (i32.const 3)
+ )
+ (br $block$3$break)
+ )
+ )
+ )
)
+ )
+ (loop $shape$1$continue
(if
- (i32.const 10)
- (set_local $3
+ (i32.eq
+ (get_local $3)
(i32.const 2)
)
- (set_local $3
- (i32.const 3)
+ (block
+ (set_local $3
+ (i32.const 0)
+ )
+ (call_import $check
+ (i32.const 1)
+ )
+ (block
+ (set_local $3
+ (i32.const 3)
+ )
+ (br $shape$1$continue)
+ )
)
- )
- )
- (loop $shape$1$break $shape$1$continue
- (block $shape$2$break
(if
(i32.eq
(get_local $3)
- (i32.const 2)
+ (i32.const 3)
)
(block
(set_local $3
(i32.const 0)
)
(call_import $check
- (i32.const 1)
- )
- (block
- (set_local $3
- (i32.const 3)
- )
- (br $shape$1$continue)
- )
- )
- (if
- (i32.eq
- (get_local $3)
- (i32.const 3)
+ (i32.const 2)
)
(block
(set_local $3
- (i32.const 0)
- )
- (call_import $check
(i32.const 2)
)
- (block
- (set_local $3
- (i32.const 2)
- )
- (br $shape$1$continue)
- )
+ (br $shape$1$continue)
)
)
)
@@ -2716,7 +2695,7 @@ optimized:
)
)
(func $loop (type $v)
- (loop $shape$0$break $shape$0$continue
+ (loop $shape$0$continue
(call_import $check
(i32.const 0)
)
@@ -2754,21 +2733,6 @@ optimized:
(i32.const 2)
)
)
- (func $if-plus-code (type $v)
- (call_import $check
- (i32.const 0)
- )
- (if
- (i32.const 55)
- (call_import $check
- (i32.const 1)
- )
- (i32.const -2)
- )
- (call_import $check
- (i32.const 2)
- )
- )
(func $if-else (type $v)
(call_import $check
(i32.const 0)
@@ -2787,17 +2751,19 @@ optimized:
)
)
(func $loop-tail (type $v)
- (loop $shape$0$break $shape$0$continue
- (call_import $check
- (i32.const 0)
- )
- (call_import $check
- (i32.const 1)
- )
- (if
- (i32.const 10)
- (br $shape$0$continue)
- (br $shape$0$break)
+ (block $block$3$break
+ (loop $shape$0$continue
+ (call_import $check
+ (i32.const 0)
+ )
+ (call_import $check
+ (i32.const 1)
+ )
+ (if
+ (i32.const 10)
+ (br $shape$0$continue)
+ (br $block$3$break)
+ )
)
)
(call_import $check
@@ -2805,50 +2771,40 @@ optimized:
)
)
(func $nontrivial-loop-plus-phi-to-head (type $v)
- (local $0 i32)
(call_import $check
(i32.const 0)
)
- (loop $shape$1$break $shape$1$continue
- (call_import $check
- (i32.const 1)
- )
- (br_if $shape$1$break
- (i32.const 0)
- )
- (call_import $check
- (i32.const 2)
- )
- (if
- (i32.const -6)
- (block
- (set_local $0
- (i32.const 4)
+ (block $block$7$break
+ (block $block$4$break
+ (loop $shape$1$continue
+ (call_import $check
+ (i32.const 1)
+ )
+ (br_if $block$7$break
+ (i32.const 0)
)
- (br $shape$1$break)
- )
- (br $shape$1$continue)
- )
- )
- (if
- (i32.eq
- (get_local $0)
- (i32.const 4)
- )
- (block
- (call_import $check
- (i32.const 3)
- )
- (if
- (i32.const -10)
(call_import $check
- (i32.const 4)
+ (i32.const 2)
+ )
+ (if
+ (i32.const -6)
+ (br $block$4$break)
+ (br $shape$1$continue)
)
)
+ )
+ (call_import $check
+ (i32.const 3)
+ )
+ (if
+ (i32.const -10)
(call_import $check
- (i32.const 5)
+ (i32.const 4)
)
)
+ (call_import $check
+ (i32.const 5)
+ )
)
(call_import $check
(i32.const 6)
@@ -2889,7 +2845,7 @@ optimized:
(set_local $0
(i32.const 2)
)
- (loop $shape$1$break $shape$1$continue
+ (loop $shape$1$continue
(if
(i32.eq
(get_local $0)
diff --git a/test/example/c-api-kitchen-sink.txt.txt b/test/example/c-api-kitchen-sink.txt.txt
index 8206ac3d4..0ba8ccf94 100644
--- a/test/example/c-api-kitchen-sink.txt.txt
+++ b/test/example/c-api-kitchen-sink.txt.txt
@@ -375,10 +375,13 @@
)
(func $two-blocks (type $v)
(local $0 i32)
- (block
+ (block $block$2$break
(call_import $check
(i32.const 0)
)
+ (block
+ (br $block$2$break)
+ )
)
(block
(call_import $check
@@ -388,12 +391,13 @@
)
(func $two-blocks-plus-code (type $v)
(local $0 i32)
- (block
+ (block $block$2$break
(call_import $check
(i32.const 0)
)
(block
(i32.const 77)
+ (br $block$2$break)
)
)
(block
@@ -404,11 +408,14 @@
)
(func $loop (type $v)
(local $0 i32)
- (loop $shape$0$break $shape$0$continue
- (block
+ (loop $shape$0$continue
+ (block $block$2$break
(call_import $check
(i32.const 0)
)
+ (block
+ (br $block$2$break)
+ )
)
(block
(call_import $check
@@ -422,13 +429,14 @@
)
(func $loop-plus-code (type $v)
(local $0 i32)
- (loop $shape$0$break $shape$0$continue
- (block
+ (loop $shape$0$continue
+ (block $block$2$break
(call_import $check
(i32.const 0)
)
(block
(i32.const 33)
+ (br $block$2$break)
)
)
(block
@@ -447,18 +455,16 @@
(call_import $check
(i32.const 0)
)
- (block $shape$1$break
- (if
- (i32.const 55)
- (block
- (call_import $check
- (i32.const 1)
- )
+ (if
+ (i32.const 55)
+ (block
+ (call_import $check
+ (i32.const 1)
)
- (block
- (call_import $check
- (i32.const 2)
- )
+ )
+ (block
+ (call_import $check
+ (i32.const 2)
)
)
)
@@ -468,23 +474,21 @@
(call_import $check
(i32.const 0)
)
- (block $shape$1$break
- (if
- (i32.const 55)
+ (if
+ (i32.const 55)
+ (block
+ (i32.const 10)
(block
- (i32.const 10)
- (block
- (call_import $check
- (i32.const 1)
- )
+ (call_import $check
+ (i32.const 1)
)
)
+ )
+ (block
+ (i32.const 20)
(block
- (i32.const 20)
- (block
- (call_import $check
- (i32.const 2)
- )
+ (call_import $check
+ (i32.const 2)
)
)
)
@@ -492,22 +496,21 @@
)
(func $if (type $v)
(local $0 i32)
- (block
+ (block $block$3$break
(call_import $check
(i32.const 0)
)
- (block $shape$1$break
- (if
- (i32.const 55)
+ (if
+ (i32.const 55)
+ (block
+ (call_import $check
+ (i32.const 1)
+ )
(block
- (call_import $check
- (i32.const 1)
- )
- (block
- (br $shape$1$break)
- )
+ (br $block$3$break)
)
)
+ (br $block$3$break)
)
)
(block
@@ -518,26 +521,27 @@
)
(func $if-plus-code (type $v)
(local $0 i32)
- (block
+ (block $block$3$break
(call_import $check
(i32.const 0)
)
- (block $shape$1$break
- (if
- (i32.const 55)
+ (if
+ (i32.const 55)
+ (block
+ (i32.const -1)
(block
- (i32.const -1)
+ (call_import $check
+ (i32.const 1)
+ )
(block
- (call_import $check
- (i32.const 1)
- )
- (block
- (i32.const -3)
- (br $shape$1$break)
- )
+ (i32.const -3)
+ (br $block$3$break)
)
)
+ )
+ (block
(i32.const -2)
+ (br $block$3$break)
)
)
)
@@ -549,28 +553,26 @@
)
(func $if-else (type $v)
(local $0 i32)
- (block
+ (block $block$4$break
(call_import $check
(i32.const 0)
)
- (block $shape$1$break
- (if
- (i32.const 55)
+ (if
+ (i32.const 55)
+ (block
+ (call_import $check
+ (i32.const 1)
+ )
(block
- (call_import $check
- (i32.const 1)
- )
- (block
- (br $shape$1$break)
- )
+ (br $block$4$break)
+ )
+ )
+ (block
+ (call_import $check
+ (i32.const 2)
)
(block
- (call_import $check
- (i32.const 2)
- )
- (block
- (br $shape$1$break)
- )
+ (br $block$4$break)
)
)
)
@@ -583,20 +585,25 @@
)
(func $loop-tail (type $v)
(local $0 i32)
- (loop $shape$0$break $shape$0$continue
- (block
- (call_import $check
- (i32.const 0)
- )
- )
- (block
- (call_import $check
- (i32.const 1)
+ (block $block$3$break
+ (loop $shape$0$continue
+ (block $block$2$break
+ (call_import $check
+ (i32.const 0)
+ )
+ (block
+ (br $block$2$break)
+ )
)
- (if
- (i32.const 10)
- (br $shape$0$continue)
- (br $shape$0$break)
+ (block
+ (call_import $check
+ (i32.const 1)
+ )
+ (if
+ (i32.const 10)
+ (br $shape$0$continue)
+ (br $block$3$break)
+ )
)
)
)
@@ -608,93 +615,81 @@
)
(func $nontrivial-loop-plus-phi-to-head (type $v)
(local $0 i32)
- (block
+ (block $block$2$break
(call_import $check
(i32.const 0)
)
(block
(i32.const 10)
+ (br $block$2$break)
)
)
(block
- (loop $shape$1$break $shape$1$continue
- (block
- (call_import $check
- (i32.const 1)
- )
- (if
- (i32.eqz
- (i32.const -2)
- )
- (block
- (i32.const 20)
- (br $shape$1$break)
- )
- )
- )
- (block
- (call_import $check
- (i32.const 2)
- )
- (if
- (i32.const -6)
- (block
- (set_local $0
- (i32.const 4)
+ (block $block$7$break
+ (block $block$4$break
+ (loop $shape$1$continue
+ (block $block$3$break
+ (call_import $check
+ (i32.const 1)
+ )
+ (if
+ (i32.const -2)
+ (br $block$3$break)
+ (block
+ (i32.const 20)
+ (br $block$7$break)
+ )
)
- (br $shape$1$break)
)
(block
- (i32.const 30)
- (br $shape$1$continue)
+ (call_import $check
+ (i32.const 2)
+ )
+ (if
+ (i32.const -6)
+ (br $block$4$break)
+ (block
+ (i32.const 30)
+ (br $shape$1$continue)
+ )
+ )
)
)
)
- )
- (block
- (block $shape$4$break
- (if
- (i32.eq
- (get_local $0)
- (i32.const 4)
+ (block
+ (block $block$6$break
+ (call_import $check
+ (i32.const 3)
)
- (block
+ (if
+ (i32.const -10)
(block
(call_import $check
- (i32.const 3)
- )
- (block $shape$6$break
- (if
- (i32.const -10)
- (block
- (call_import $check
- (i32.const 4)
- )
- (block
- (br $shape$6$break)
- )
- )
- )
- )
- )
- (block
- (call_import $check
- (i32.const 5)
+ (i32.const 4)
)
(block
- (i32.const 40)
- (br $shape$4$break)
+ (br $block$6$break)
)
)
+ (br $block$6$break)
)
)
- )
- (block
- (call_import $check
- (i32.const 6)
+ (block
+ (call_import $check
+ (i32.const 5)
+ )
+ (block
+ (i32.const 40)
+ (br $block$7$break)
+ )
)
)
)
+ (block
+ (call_import $check
+ (i32.const 6)
+ )
+ )
)
)
(func $switch (type $v)
@@ -702,43 +697,41 @@
(call_import $check
(i32.const 0)
)
- (block $shape$1$break
- (block $switch$1$leave
- (block $switch$1$default
- (block $switch$1$case$3
- (block $switch$1$case$2
- (br_table $switch$1$default $switch$1$default $switch$1$case$2 $switch$1$default $switch$1$case$3 $switch$1$case$2 $switch$1$default
- (i32.const -99)
- )
- )
- (block
- (block
- (call_import $check
- (i32.const 1)
- )
- )
+ (block $switch$1$leave
+ (block $switch$1$default
+ (block $switch$1$case$3
+ (block $switch$1$case$2
+ (br_table $switch$1$default $switch$1$default $switch$1$case$2 $switch$1$default $switch$1$case$3 $switch$1$case$2 $switch$1$default
+ (i32.const -99)
)
- (br $switch$1$leave)
)
(block
- (i32.const 55)
(block
(call_import $check
- (i32.const 2)
+ (i32.const 1)
)
)
)
(br $switch$1$leave)
)
(block
+ (i32.const 55)
(block
(call_import $check
- (i32.const 3)
+ (i32.const 2)
)
)
)
(br $switch$1$leave)
)
+ (block
+ (block
+ (call_import $check
+ (i32.const 3)
+ )
+ )
+ )
+ (br $switch$1$leave)
)
)
(func $duffs-device (type $v)
@@ -750,58 +743,66 @@
(local $5 f64)
(local $6 i32)
(block
- (call_import $check
- (i32.const 0)
+ (block $block$3$break
+ (block $block$2$break
+ (call_import $check
+ (i32.const 0)
+ )
+ (if
+ (i32.const 10)
+ (block
+ (set_local $3
+ (i32.const 2)
+ )
+ (br $block$2$break)
+ )
+ (block
+ (set_local $3
+ (i32.const 3)
+ )
+ (br $block$3$break)
+ )
+ )
+ )
)
+ )
+ (loop $shape$1$continue
(if
- (i32.const 10)
- (set_local $3
+ (i32.eq
+ (get_local $3)
(i32.const 2)
)
- (set_local $3
- (i32.const 3)
+ (block
+ (set_local $3
+ (i32.const 0)
+ )
+ (call_import $check
+ (i32.const 1)
+ )
+ (block
+ (set_local $3
+ (i32.const 3)
+ )
+ (br $shape$1$continue)
+ )
)
- )
- )
- (loop $shape$1$break $shape$1$continue
- (block $shape$2$break
(if
(i32.eq
(get_local $3)
- (i32.const 2)
+ (i32.const 3)
)
(block
(set_local $3
(i32.const 0)
)
(call_import $check
- (i32.const 1)
- )
- (block
- (set_local $3
- (i32.const 3)
- )
- (br $shape$1$continue)
- )
- )
- (if
- (i32.eq
- (get_local $3)
- (i32.const 3)
+ (i32.const 2)
)
(block
(set_local $3
- (i32.const 0)
- )
- (call_import $check
(i32.const 2)
)
- (block
- (set_local $3
- (i32.const 2)
- )
- (br $shape$1$continue)
- )
+ (br $shape$1$continue)
)
)
)
@@ -840,7 +841,7 @@
)
)
(func $loop (type $v)
- (loop $shape$0$break $shape$0$continue
+ (loop $shape$0$continue
(call_import $check
(i32.const 0)
)
@@ -878,21 +879,6 @@
(i32.const 2)
)
)
- (func $if-plus-code (type $v)
- (call_import $check
- (i32.const 0)
- )
- (if
- (i32.const 55)
- (call_import $check
- (i32.const 1)
- )
- (i32.const -2)
- )
- (call_import $check
- (i32.const 2)
- )
- )
(func $if-else (type $v)
(call_import $check
(i32.const 0)
@@ -911,17 +897,19 @@
)
)
(func $loop-tail (type $v)
- (loop $shape$0$break $shape$0$continue
- (call_import $check
- (i32.const 0)
- )
- (call_import $check
- (i32.const 1)
- )
- (if
- (i32.const 10)
- (br $shape$0$continue)
- (br $shape$0$break)
+ (block $block$3$break
+ (loop $shape$0$continue
+ (call_import $check
+ (i32.const 0)
+ )
+ (call_import $check
+ (i32.const 1)
+ )
+ (if
+ (i32.const 10)
+ (br $shape$0$continue)
+ (br $block$3$break)
+ )
)
)
(call_import $check
@@ -929,50 +917,40 @@
)
)
(func $nontrivial-loop-plus-phi-to-head (type $v)
- (local $0 i32)
(call_import $check
(i32.const 0)
)
- (loop $shape$1$break $shape$1$continue
- (call_import $check
- (i32.const 1)
- )
- (br_if $shape$1$break
- (i32.const 0)
- )
- (call_import $check
- (i32.const 2)
- )
- (if
- (i32.const -6)
- (block
- (set_local $0
- (i32.const 4)
+ (block $block$7$break
+ (block $block$4$break
+ (loop $shape$1$continue
+ (call_import $check
+ (i32.const 1)
+ )
+ (br_if $block$7$break
+ (i32.const 0)
)
- (br $shape$1$break)
- )
- (br $shape$1$continue)
- )
- )
- (if
- (i32.eq
- (get_local $0)
- (i32.const 4)
- )
- (block
- (call_import $check
- (i32.const 3)
- )
- (if
- (i32.const -10)
(call_import $check
- (i32.const 4)
+ (i32.const 2)
+ )
+ (if
+ (i32.const -6)
+ (br $block$4$break)
+ (br $shape$1$continue)
)
)
+ )
+ (call_import $check
+ (i32.const 3)
+ )
+ (if
+ (i32.const -10)
(call_import $check
- (i32.const 5)
+ (i32.const 4)
)
)
+ (call_import $check
+ (i32.const 5)
+ )
)
(call_import $check
(i32.const 6)
@@ -1013,7 +991,7 @@
(set_local $0
(i32.const 2)
)
- (loop $shape$1$break $shape$1$continue
+ (loop $shape$1$continue
(if
(i32.eq
(get_local $0)
diff --git a/test/example/relooper-fuzz.txt b/test/example/relooper-fuzz.txt
index 6da66a8c9..b4e6c8b57 100644
--- a/test/example/relooper-fuzz.txt
+++ b/test/example/relooper-fuzz.txt
@@ -154,44 +154,49 @@
)
(block
(block
- (block
- (call_import $print
- (i32.const 0)
- )
- (set_local $0
- (call $check)
- )
- )
- (block $shape$1$break
- (if
- (i32.eq
- (i32.rem_u
- (get_local $0)
- (i32.const 2)
+ (block $block$6$break
+ (block $block$5$break
+ (block
+ (call_import $print
+ (i32.const 0)
+ )
+ (set_local $0
+ (call $check)
)
- (i32.const 0)
- )
- (set_local $1
- (i32.const 6)
)
- (block
- (block
- (call_import $print
- (i32.const 8)
+ (if
+ (i32.eq
+ (i32.rem_u
+ (get_local $0)
+ (i32.const 2)
)
- (set_local $0
- (call $check)
+ (i32.const 0)
+ )
+ (block
+ (set_local $1
+ (i32.const 6)
)
+ (br $block$6$break)
)
(block
- (br $shape$1$break)
+ (block
+ (call_import $print
+ (i32.const 8)
+ )
+ (set_local $0
+ (call $check)
+ )
+ )
+ (block
+ (br $block$5$break)
+ )
)
)
)
)
)
- (loop $shape$3$break $shape$3$continue
- (block $shape$4$break
+ (loop $shape$3$continue
+ (block $block$5$break
(if
(i32.eq
(get_local $1)
@@ -229,7 +234,7 @@
)
)
(block
- (block
+ (block $block$3$break
(block
(call_import $print
(i32.const 4)
@@ -261,6 +266,7 @@
)
(br $shape$3$continue)
)
+ (br $block$3$break)
)
)
)
@@ -460,7 +466,7 @@
(call $check)
)
)
- (loop $shape$3$break $shape$3$continue
+ (loop $shape$3$continue
(if
(i32.eq
(get_local $0)
diff --git a/test/example/relooper-fuzz1.txt b/test/example/relooper-fuzz1.txt
index baef772c8..437dab062 100644
--- a/test/example/relooper-fuzz1.txt
+++ b/test/example/relooper-fuzz1.txt
@@ -165,26 +165,16 @@
(i32.const 3)
)
(block
- (block
- (block
- (call_import $print
- (i32.const 0)
- )
- (set_local $0
- (call $check)
- )
- )
- (block $shape$1$break
- (if
- (i32.eq
- (i32.rem_u
- (get_local $0)
- (i32.const 4)
+ (block $block$10$break
+ (block $block$4$break
+ (block $block$3$break
+ (block
+ (call_import $print
+ (i32.const 0)
+ )
+ (set_local $0
+ (call $check)
)
- (i32.const 0)
- )
- (set_local $1
- (i32.const 3)
)
(if
(i32.eq
@@ -192,127 +182,87 @@
(get_local $0)
(i32.const 4)
)
- (i32.const 2)
- )
- (block
- (block
- (call_import $print
- (i32.const 7)
- )
- (set_local $0
- (call $check)
- )
- )
- (if
- (i32.eq
- (i32.rem_u
- (get_local $0)
- (i32.const 3)
- )
- (i32.const 0)
- )
- (block
- (set_local $1
- (i32.const 3)
- )
- (br $shape$1$break)
- )
- (block
- (set_local $1
- (i32.const 10)
- )
- (br $shape$1$break)
- )
- )
- )
- (set_local $1
- (i32.const 4)
- )
- )
- )
- )
- )
- (block
- (block $shape$3$break
- (if
- (i32.eq
- (get_local $1)
- (i32.const 3)
- )
- (block
- (block
- (call_import $print
- (i32.const 2)
- )
- (set_local $0
- (call $check)
- )
+ (i32.const 0)
)
+ (br $block$3$break)
(if
(i32.eq
(i32.rem_u
(get_local $0)
- (i32.const 2)
- )
- (i32.const 0)
- )
- (block
- (set_local $1
(i32.const 4)
)
- (br $shape$3$break)
+ (i32.const 2)
)
(block
- (set_local $1
- (i32.const 10)
+ (block
+ (call_import $print
+ (i32.const 7)
+ )
+ (set_local $0
+ (call $check)
+ )
+ )
+ (if
+ (i32.eq
+ (i32.rem_u
+ (get_local $0)
+ (i32.const 3)
+ )
+ (i32.const 0)
+ )
+ (br $block$3$break)
+ (br $block$10$break)
)
- (br $shape$3$break)
)
+ (br $block$4$break)
)
)
)
- )
- (block $shape$5$break
- (if
- (i32.eq
- (get_local $1)
- (i32.const 4)
- )
- (loop $shape$6$break $shape$6$continue
- (set_local $1
- (i32.const 0)
- )
- (block
- (call_import $print
- (i32.const 3)
- )
- (set_local $0
- (call $check)
- )
+ (block
+ (block
+ (call_import $print
+ (i32.const 2)
)
- (block
- (set_local $1
- (i32.const 4)
- )
- (br $shape$6$continue)
+ (set_local $0
+ (call $check)
)
)
(if
(i32.eq
- (get_local $1)
- (i32.const 10)
- )
- (block
- (call_import $print
- (i32.const 9)
- )
- (set_local $0
- (call $check)
+ (i32.rem_u
+ (get_local $0)
+ (i32.const 2)
)
+ (i32.const 0)
)
+ (br $block$4$break)
+ (br $block$10$break)
)
)
)
+ (loop $shape$6$continue
+ (block
+ (call_import $print
+ (i32.const 3)
+ )
+ (set_local $0
+ (call $check)
+ )
+ )
+ (block
+ (br $shape$6$continue)
+ )
+ )
+ )
+ (block
+ (block
+ (call_import $print
+ (i32.const 9)
+ )
+ (set_local $0
+ (call $check)
+ )
+ )
)
)
)
@@ -482,96 +432,70 @@
(i32.const 124)
(i32.const 3)
)
- (call_import $print
- (i32.const 0)
- )
- (if
- (i32.eq
- (set_local $0
+ (block $block$10$break
+ (block $block$4$break
+ (call_import $print
+ (i32.const 0)
+ )
+ (if
+ (i32.ne
+ (i32.rem_u
+ (set_local $0
+ (call $check)
+ )
+ (i32.const 4)
+ )
+ (i32.const 0)
+ )
(if
(i32.eq
(i32.rem_u
- (set_local $0
- (call $check)
- )
+ (get_local $0)
(i32.const 4)
)
- (i32.const 0)
+ (i32.const 2)
)
- (i32.const 3)
- (if
- (i32.eq
- (i32.rem_u
- (get_local $0)
- (i32.const 4)
- )
- (i32.const 2)
+ (block
+ (call_import $print
+ (i32.const 7)
)
- (block
- (call_import $print
- (i32.const 7)
- )
- (if
- (i32.eq
- (i32.rem_u
- (call $check)
- (i32.const 3)
- )
- (i32.const 0)
+ (br_if $block$10$break
+ (i32.ne
+ (i32.rem_u
+ (call $check)
+ (i32.const 3)
)
- (i32.const 3)
- (i32.const 10)
+ (i32.const 0)
)
)
- (i32.const 4)
)
+ (br $block$4$break)
)
)
- (i32.const 3)
- )
- (block
(call_import $print
(i32.const 2)
)
- (set_local $0
- (if
- (i32.eq
- (i32.rem_u
- (call $check)
- (i32.const 2)
- )
- (i32.const 0)
+ (br_if $block$10$break
+ (i32.ne
+ (i32.rem_u
+ (call $check)
+ (i32.const 2)
)
- (i32.const 4)
- (i32.const 10)
+ (i32.const 0)
)
)
)
- )
- (if
- (i32.eq
- (get_local $0)
- (i32.const 4)
- )
- (loop $shape$6$break $shape$6$continue
+ (loop $shape$6$continue
(call_import $print
(i32.const 3)
)
(call $check)
(br $shape$6$continue)
)
- (if
- (i32.eq
- (get_local $0)
- (i32.const 10)
- )
- (block
- (call_import $print
- (i32.const 9)
- )
- (call $check)
- )
- )
)
+ (call_import $print
+ (i32.const 9)
+ )
+ (call $check)
)
)