diff options
Diffstat (limited to 'test')
66 files changed, 3485 insertions, 3488 deletions
diff --git a/test/br_to_exit.wasm.fromBinary b/test/br_to_exit.wasm.fromBinary index faee4e21b..a25acc937 100644 --- a/test/br_to_exit.wasm.fromBinary +++ b/test/br_to_exit.wasm.fromBinary @@ -1,8 +1,8 @@ (module (type $0 (func)) (func $0 - (block $label$0 - (br $label$0) + (block $label + (br $label) ) ) ) diff --git a/test/br_to_try.wasm.fromBinary b/test/br_to_try.wasm.fromBinary index 4a1f7be37..a3bed8ee0 100644 --- a/test/br_to_try.wasm.fromBinary +++ b/test/br_to_try.wasm.fromBinary @@ -3,15 +3,15 @@ (type $1 (func)) (tag $tag$0 (param i32)) (func $0 - (try $label$3 - (do - (block $label$1 - (br $label$1) + (block $label + (try + (do + (br $label) ) - ) - (catch $tag$0 - (drop - (pop i32) + (catch $tag$0 + (drop + (pop i32) + ) ) ) ) diff --git a/test/break-to-return.wasm.fromBinary b/test/break-to-return.wasm.fromBinary index d9c1f4fdd..8492cb007 100644 --- a/test/break-to-return.wasm.fromBinary +++ b/test/break-to-return.wasm.fromBinary @@ -3,8 +3,8 @@ (memory $0 256 256) (export "add" (func $0)) (func $0 (param $0 i32) (param $1 i32) (result i32) - (block $label$0 (result i32) - (br $label$0 + (block $label (result i32) + (br $label (i32.add (local.get $0) (local.get $1) diff --git a/test/break-within-catch.wasm.fromBinary b/test/break-within-catch.wasm.fromBinary index 3fe738104..7d151f48c 100644 --- a/test/break-within-catch.wasm.fromBinary +++ b/test/break-within-catch.wasm.fromBinary @@ -3,8 +3,8 @@ (type $1 (func)) (tag $tag$0 (param i32)) (func $0 - (block $label$2 - (try $label$3 + (block $label + (try (do (nop) ) @@ -12,7 +12,7 @@ (drop (pop i32) ) - (br $label$2) + (br $label) ) ) ) diff --git a/test/consume-stacky.wasm.fromBinary b/test/consume-stacky.wasm.fromBinary index 25cc9a541..76ec73d7b 100644 --- a/test/consume-stacky.wasm.fromBinary +++ b/test/consume-stacky.wasm.fromBinary @@ -2,15 +2,15 @@ (type $0 (func (result i32))) (memory $0 1 1) (func $0 (result i32) - (local $0 i32) - (local.set $0 + (local $scratch i32) + (local.set $scratch (i32.const 1) ) (i32.store (i32.const 2) (i32.const 3) ) - (local.get $0) + (local.get $scratch) ) ) diff --git a/test/elided-br.wasm.fromBinary b/test/elided-br.wasm.fromBinary index 04ec30dfb..24331dbb5 100644 --- a/test/elided-br.wasm.fromBinary +++ b/test/elided-br.wasm.fromBinary @@ -1,8 +1,11 @@ (module (type $0 (func)) (func $0 - (block $label$1 + (block $block (unreachable) + (block + (br $block) + ) ) ) ) diff --git a/test/example/c-api-unused-mem.txt b/test/example/c-api-unused-mem.txt index 36d0a9a6b..48ea5982f 100644 --- a/test/example/c-api-unused-mem.txt +++ b/test/example/c-api-unused-mem.txt @@ -47,13 +47,13 @@ (local $0 i32) (local $1 i32) (local $2 i64) - (block $label$1 + (block $block (local.set $0 (i32.load (i32.const 0) ) ) - (br $label$1) + (br $block) ) (i32.store (i32.const 0) diff --git a/test/fib-dbg.wasm.fromBinary b/test/fib-dbg.wasm.fromBinary index f1b263234..58c86ec71 100644 --- a/test/fib-dbg.wasm.fromBinary +++ b/test/fib-dbg.wasm.fromBinary @@ -50,7 +50,7 @@ (export "stackAlloc" (func $stackAlloc)) (func $stackAlloc (param $0 i32) (result i32) (local $1 i32) - (block $label$1 + (block (local.set $1 (global.get $global$3) ) @@ -72,7 +72,9 @@ (return (local.get $1) ) + (unreachable) ) + (unreachable) ) (func $stackSave (result i32) (return @@ -85,13 +87,11 @@ ) ) (func $establishStackSpace (param $0 i32) (param $1 i32) - (block $label$1 - (global.set $global$3 - (local.get $0) - ) - (global.set $global$4 - (local.get $1) - ) + (global.set $global$3 + (local.get $0) + ) + (global.set $global$4 + (local.get $1) ) ) (func $setThrew (param $0 i32) (param $1 i32) @@ -122,7 +122,7 @@ (local $9 i32) (local $10 i32) (local $11 i32) - (block $label$1 + (block (local.set $11 (global.get $global$3) ) @@ -158,8 +158,8 @@ ) ) ;;@ fib.c:8:0 - (loop $label$4 - (block $label$5 + (loop $label + (block $block ;;@ fib.c:4:0 (local.set $3 (i32.add @@ -188,7 +188,7 @@ (local.set $4 (local.get $3) ) - (br $label$5) + (br $block) ) (else (local.set $2 @@ -206,15 +206,21 @@ ) ) ;;@ fib.c:3:0 - (br $label$4) + (br $label) ) ) ;;@ fib.c:8:0 (return (local.get $4) ) + ;;@ fib.c:8:0 + (unreachable) + ;;@ fib.c:8:0 + (unreachable) ) ;;@ fib.c:8:0 + (unreachable) + ;;@ fib.c:8:0 ) (func $runPostSets (local $0 i32) diff --git a/test/fn_prolog_epilog.debugInfo.wasm.fromBinary b/test/fn_prolog_epilog.debugInfo.wasm.fromBinary index ff96a6a47..73b8d1d42 100644 --- a/test/fn_prolog_epilog.debugInfo.wasm.fromBinary +++ b/test/fn_prolog_epilog.debugInfo.wasm.fromBinary @@ -4,10 +4,10 @@ (func $0 (nop) ;;@ src.cpp:2:1 - (block $label$1 + (block ;;@ src.cpp:2:2 - (block $label$2 - (br $label$2) + (block $block + (br $block) ) ) ;;@ src.cpp:3:1 diff --git a/test/lit/basic/exception-handling-legacy.wast b/test/lit/basic/exception-handling-legacy.wast index 70cc3f5bc..791745b69 100644 --- a/test/lit/basic/exception-handling-legacy.wast +++ b/test/lit/basic/exception-handling-legacy.wast @@ -76,7 +76,7 @@ ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) ;; CHECK-BIN: (func $simple-try-catch (type $0) - ;; CHECK-BIN-NEXT: (try $label$3 + ;; CHECK-BIN-NEXT: (try ;; CHECK-BIN-NEXT: (do ;; CHECK-BIN-NEXT: (throw $e-i32 ;; CHECK-BIN-NEXT: (i32.const 0) @@ -124,9 +124,10 @@ ;; CHECK-BIN: (func $try-catch-multivalue-tag (type $0) ;; CHECK-BIN-NEXT: (local $x i32) ;; CHECK-BIN-NEXT: (local $1 i64) - ;; CHECK-BIN-NEXT: (local $2 (tuple i32 i64)) - ;; CHECK-BIN-NEXT: (local $3 i32) - ;; CHECK-BIN-NEXT: (try $label$3 + ;; CHECK-BIN-NEXT: (local $scratch (tuple i32 i64)) + ;; CHECK-BIN-NEXT: (local $scratch_3 i32) + ;; CHECK-BIN-NEXT: (local $4 (tuple i32 i64)) + ;; CHECK-BIN-NEXT: (try ;; CHECK-BIN-NEXT: (do ;; CHECK-BIN-NEXT: (throw $e-i32-i64 ;; CHECK-BIN-NEXT: (i32.const 0) @@ -134,26 +135,30 @@ ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (catch $e-i32-i64 - ;; CHECK-BIN-NEXT: (local.set $2 + ;; CHECK-BIN-NEXT: (local.set $4 ;; CHECK-BIN-NEXT: (pop (tuple i32 i64)) ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (local.set $x - ;; CHECK-BIN-NEXT: (block (result i32) - ;; CHECK-BIN-NEXT: (local.set $3 - ;; CHECK-BIN-NEXT: (tuple.extract 2 0 - ;; CHECK-BIN-NEXT: (local.get $2) + ;; CHECK-BIN-NEXT: (block + ;; CHECK-BIN-NEXT: (local.set $x + ;; CHECK-BIN-NEXT: (block (result i32) + ;; CHECK-BIN-NEXT: (local.set $scratch_3 + ;; CHECK-BIN-NEXT: (tuple.extract 2 0 + ;; CHECK-BIN-NEXT: (local.tee $scratch + ;; CHECK-BIN-NEXT: (local.get $4) + ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (local.set $1 - ;; CHECK-BIN-NEXT: (tuple.extract 2 1 - ;; CHECK-BIN-NEXT: (local.get $2) + ;; CHECK-BIN-NEXT: (local.set $1 + ;; CHECK-BIN-NEXT: (tuple.extract 2 1 + ;; CHECK-BIN-NEXT: (local.get $scratch) + ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (local.get $scratch_3) ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (local.get $3) ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (drop - ;; CHECK-BIN-NEXT: (local.get $x) + ;; CHECK-BIN-NEXT: (drop + ;; CHECK-BIN-NEXT: (local.get $x) + ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) @@ -190,18 +195,19 @@ ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) ;; CHECK-BIN: (func $try-with-block-label (type $0) - ;; CHECK-BIN-NEXT: (block $label$1 - ;; CHECK-BIN-NEXT: (try $label$4 + ;; CHECK-BIN-NEXT: (block $block + ;; CHECK-BIN-NEXT: (try ;; CHECK-BIN-NEXT: (do - ;; CHECK-BIN-NEXT: (br $label$1) + ;; CHECK-BIN-NEXT: (br $block) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (catch $e-i32 ;; CHECK-BIN-NEXT: (drop ;; CHECK-BIN-NEXT: (pop i32) ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (br $label$1) + ;; CHECK-BIN-NEXT: (br $block) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (unreachable) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) (func $try-with-block-label @@ -228,7 +234,7 @@ ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) ;; CHECK-BIN: (func $empty-try-body (type $0) - ;; CHECK-BIN-NEXT: (try $label$3 + ;; CHECK-BIN-NEXT: (try ;; CHECK-BIN-NEXT: (do ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (catch $e-i32 @@ -263,7 +269,7 @@ ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) ;; CHECK-BIN: (func $multiple-insts-within-try-and-catch-bodies (type $0) - ;; CHECK-BIN-NEXT: (try $label$3 + ;; CHECK-BIN-NEXT: (try ;; CHECK-BIN-NEXT: (do ;; CHECK-BIN-NEXT: (call $foo) ;; CHECK-BIN-NEXT: (call $bar) @@ -311,7 +317,7 @@ ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) ;; CHECK-BIN: (func $multiple-catches (type $0) - ;; CHECK-BIN-NEXT: (try $label$3 + ;; CHECK-BIN-NEXT: (try ;; CHECK-BIN-NEXT: (do ;; CHECK-BIN-NEXT: (throw $e-i32 ;; CHECK-BIN-NEXT: (i32.const 0) @@ -355,7 +361,7 @@ ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) ;; CHECK-BIN: (func $catch-all (type $0) - ;; CHECK-BIN-NEXT: (try $label$3 + ;; CHECK-BIN-NEXT: (try ;; CHECK-BIN-NEXT: (do ;; CHECK-BIN-NEXT: (throw $e-i32 ;; CHECK-BIN-NEXT: (i32.const 0) @@ -398,7 +404,7 @@ ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) ;; CHECK-BIN: (func $catch-and-catch-all-together (type $0) - ;; CHECK-BIN-NEXT: (try $label$3 + ;; CHECK-BIN-NEXT: (try ;; CHECK-BIN-NEXT: (do ;; CHECK-BIN-NEXT: (throw $e-i32 ;; CHECK-BIN-NEXT: (i32.const 0) @@ -480,9 +486,9 @@ ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) ;; CHECK-BIN: (func $nested-try-catch (type $0) - ;; CHECK-BIN-NEXT: (try $label$9 + ;; CHECK-BIN-NEXT: (try ;; CHECK-BIN-NEXT: (do - ;; CHECK-BIN-NEXT: (try $label$4 + ;; CHECK-BIN-NEXT: (try ;; CHECK-BIN-NEXT: (do ;; CHECK-BIN-NEXT: (throw $e-i32 ;; CHECK-BIN-NEXT: (i32.const 0) @@ -503,7 +509,7 @@ ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (catch_all - ;; CHECK-BIN-NEXT: (try $label$8 + ;; CHECK-BIN-NEXT: (try ;; CHECK-BIN-NEXT: (do ;; CHECK-BIN-NEXT: (throw $e-i32 ;; CHECK-BIN-NEXT: (i32.const 0) @@ -560,13 +566,14 @@ ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) ;; CHECK-BIN: (func $catchless-delegateless-try (type $0) - ;; CHECK-BIN-NEXT: (try $label$3 + ;; CHECK-BIN-NEXT: (try ;; CHECK-BIN-NEXT: (do ;; CHECK-BIN-NEXT: (throw $e-i32 ;; CHECK-BIN-NEXT: (i32.const 0) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (unreachable) ;; CHECK-BIN-NEXT: ) (func $catchless-delegateless-try (try @@ -597,21 +604,19 @@ ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) ;; CHECK-BIN: (func $inner-delegate-target-outer-catch (type $0) - ;; CHECK-BIN-NEXT: (try $label$9 + ;; CHECK-BIN-NEXT: (try $label ;; CHECK-BIN-NEXT: (do - ;; CHECK-BIN-NEXT: (block $label$1 - ;; CHECK-BIN-NEXT: (try $label$4 - ;; CHECK-BIN-NEXT: (do - ;; CHECK-BIN-NEXT: (call $foo) - ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (delegate $label$9) + ;; CHECK-BIN-NEXT: (try + ;; CHECK-BIN-NEXT: (do + ;; CHECK-BIN-NEXT: (call $foo) ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (try $label$7 - ;; CHECK-BIN-NEXT: (do - ;; CHECK-BIN-NEXT: (call $foo) - ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (delegate $label$9) + ;; CHECK-BIN-NEXT: (delegate $label) + ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (try + ;; CHECK-BIN-NEXT: (do + ;; CHECK-BIN-NEXT: (call $foo) ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (delegate $label) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (catch_all @@ -665,26 +670,24 @@ ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) ;; CHECK-BIN: (func $branch-and-delegate-target-same-try-label (type $0) - ;; CHECK-BIN-NEXT: (block $label$1 - ;; CHECK-BIN-NEXT: (try $label$10 + ;; CHECK-BIN-NEXT: (block $block + ;; CHECK-BIN-NEXT: (try $label ;; CHECK-BIN-NEXT: (do - ;; CHECK-BIN-NEXT: (block $label$2 - ;; CHECK-BIN-NEXT: (try $label$5 - ;; CHECK-BIN-NEXT: (do - ;; CHECK-BIN-NEXT: (br_if $label$1 - ;; CHECK-BIN-NEXT: (i32.const 1) - ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (try + ;; CHECK-BIN-NEXT: (do + ;; CHECK-BIN-NEXT: (br_if $block + ;; CHECK-BIN-NEXT: (i32.const 1) ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (delegate $label$10) ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (try $label$8 - ;; CHECK-BIN-NEXT: (do - ;; CHECK-BIN-NEXT: (br_if $label$1 - ;; CHECK-BIN-NEXT: (i32.const 1) - ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (delegate $label) + ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (try + ;; CHECK-BIN-NEXT: (do + ;; CHECK-BIN-NEXT: (br_if $block + ;; CHECK-BIN-NEXT: (i32.const 1) ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (delegate $label$10) ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (delegate $label) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (catch_all @@ -731,15 +734,13 @@ ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) ;; CHECK-BIN: (func $inner-delegate-target-outer-delegate (type $0) - ;; CHECK-BIN-NEXT: (try $label$6 + ;; CHECK-BIN-NEXT: (try $label ;; CHECK-BIN-NEXT: (do - ;; CHECK-BIN-NEXT: (block $label$1 - ;; CHECK-BIN-NEXT: (try $label$4 - ;; CHECK-BIN-NEXT: (do - ;; CHECK-BIN-NEXT: (call $foo) - ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (delegate $label$6) + ;; CHECK-BIN-NEXT: (try + ;; CHECK-BIN-NEXT: (do + ;; CHECK-BIN-NEXT: (call $foo) ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (delegate $label) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (delegate 0) @@ -770,7 +771,7 @@ ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) ;; CHECK-BIN: (func $empty-catch-body (type $0) - ;; CHECK-BIN-NEXT: (try $label$3 + ;; CHECK-BIN-NEXT: (try ;; CHECK-BIN-NEXT: (do ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (catch $e-empty @@ -802,7 +803,7 @@ ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) ;; CHECK-BIN: (func $try-catch-rethrow (type $0) - ;; CHECK-BIN-NEXT: (try $label$3 + ;; CHECK-BIN-NEXT: (try $label ;; CHECK-BIN-NEXT: (do ;; CHECK-BIN-NEXT: (call $foo) ;; CHECK-BIN-NEXT: ) @@ -810,10 +811,10 @@ ;; CHECK-BIN-NEXT: (drop ;; CHECK-BIN-NEXT: (pop i32) ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (rethrow $label$3) + ;; CHECK-BIN-NEXT: (rethrow $label) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (catch_all - ;; CHECK-BIN-NEXT: (rethrow $label$3) + ;; CHECK-BIN-NEXT: (rethrow $label) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) @@ -852,8 +853,8 @@ ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) ;; CHECK-BIN: (func $branch-and-rethrow-target-same-try-label (type $0) - ;; CHECK-BIN-NEXT: (block $label$1 - ;; CHECK-BIN-NEXT: (try $label$4 + ;; CHECK-BIN-NEXT: (block $block + ;; CHECK-BIN-NEXT: (try $label ;; CHECK-BIN-NEXT: (do ;; CHECK-BIN-NEXT: (call $foo) ;; CHECK-BIN-NEXT: ) @@ -861,10 +862,10 @@ ;; CHECK-BIN-NEXT: (drop ;; CHECK-BIN-NEXT: (pop i32) ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (rethrow $label$4) + ;; CHECK-BIN-NEXT: (rethrow $label) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (catch_all - ;; CHECK-BIN-NEXT: (br $label$1) + ;; CHECK-BIN-NEXT: (br $block) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) @@ -913,12 +914,12 @@ ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) ;; CHECK-BIN: (func $nested-rethrow (type $0) - ;; CHECK-BIN-NEXT: (try $label$6 + ;; CHECK-BIN-NEXT: (try $label ;; CHECK-BIN-NEXT: (do ;; CHECK-BIN-NEXT: (call $foo) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (catch_all - ;; CHECK-BIN-NEXT: (try $label$5 + ;; CHECK-BIN-NEXT: (try ;; CHECK-BIN-NEXT: (do ;; CHECK-BIN-NEXT: (call $foo) ;; CHECK-BIN-NEXT: ) @@ -926,10 +927,10 @@ ;; CHECK-BIN-NEXT: (drop ;; CHECK-BIN-NEXT: (pop i32) ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (rethrow $label$6) + ;; CHECK-BIN-NEXT: (rethrow $label) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (catch_all - ;; CHECK-BIN-NEXT: (rethrow $label$6) + ;; CHECK-BIN-NEXT: (rethrow $label) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) @@ -986,12 +987,12 @@ ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) ;; CHECK-BIN: (func $rnested-rethrow-with-interleaving-block (type $0) - ;; CHECK-BIN-NEXT: (try $label$7 + ;; CHECK-BIN-NEXT: (try $label ;; CHECK-BIN-NEXT: (do ;; CHECK-BIN-NEXT: (call $foo) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (catch_all - ;; CHECK-BIN-NEXT: (try $label$6 + ;; CHECK-BIN-NEXT: (try ;; CHECK-BIN-NEXT: (do ;; CHECK-BIN-NEXT: (call $foo) ;; CHECK-BIN-NEXT: ) @@ -999,12 +1000,13 @@ ;; CHECK-BIN-NEXT: (drop ;; CHECK-BIN-NEXT: (pop i32) ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (block $label$5 - ;; CHECK-BIN-NEXT: (rethrow $label$7) + ;; CHECK-BIN-NEXT: (block + ;; CHECK-BIN-NEXT: (rethrow $label) ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (unreachable) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (catch_all - ;; CHECK-BIN-NEXT: (rethrow $label$7) + ;; CHECK-BIN-NEXT: (rethrow $label) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) @@ -1068,28 +1070,28 @@ ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) ;; CHECK-BIN: (func $rethrow-within-nested-try-part (type $0) - ;; CHECK-BIN-NEXT: (try $label$6 + ;; CHECK-BIN-NEXT: (try $label ;; CHECK-BIN-NEXT: (do ;; CHECK-BIN-NEXT: (call $foo) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (catch_all - ;; CHECK-BIN-NEXT: (try $label$5 + ;; CHECK-BIN-NEXT: (try ;; CHECK-BIN-NEXT: (do - ;; CHECK-BIN-NEXT: (rethrow $label$6) + ;; CHECK-BIN-NEXT: (rethrow $label) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (catch_all ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (try $label$12 + ;; CHECK-BIN-NEXT: (try $label1 ;; CHECK-BIN-NEXT: (do ;; CHECK-BIN-NEXT: (call $foo) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (catch_all - ;; CHECK-BIN-NEXT: (try $label$11 + ;; CHECK-BIN-NEXT: (try ;; CHECK-BIN-NEXT: (do - ;; CHECK-BIN-NEXT: (rethrow $label$12) + ;; CHECK-BIN-NEXT: (rethrow $label1) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (catch_all ;; CHECK-BIN-NEXT: ) @@ -1147,7 +1149,7 @@ ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) ;; CHECK-BIN: (func $pop-within-if-condition (type $0) - ;; CHECK-BIN-NEXT: (try $label$5 + ;; CHECK-BIN-NEXT: (try ;; CHECK-BIN-NEXT: (do ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (catch $e-i32 @@ -1197,7 +1199,7 @@ ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) ;; CHECK-BIN: (func $pop-can-be-supertype (type $0) - ;; CHECK-BIN-NEXT: (try $label$3 + ;; CHECK-BIN-NEXT: (try ;; CHECK-BIN-NEXT: (do ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (catch $e-eqref @@ -1233,20 +1235,20 @@ ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) ;; CHECK-BIN: (func $catchless-try-with-inner-delegate (type $0) - ;; CHECK-BIN-NEXT: (try $label$6 + ;; CHECK-BIN-NEXT: (try $label ;; CHECK-BIN-NEXT: (do - ;; CHECK-BIN-NEXT: (block $label$1 - ;; CHECK-BIN-NEXT: (try $label$4 - ;; CHECK-BIN-NEXT: (do - ;; CHECK-BIN-NEXT: (throw $e-i32 - ;; CHECK-BIN-NEXT: (i32.const 0) - ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (try + ;; CHECK-BIN-NEXT: (do + ;; CHECK-BIN-NEXT: (throw $e-i32 + ;; CHECK-BIN-NEXT: (i32.const 0) ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (delegate $label$6) ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (delegate $label) ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (unreachable) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (unreachable) ;; CHECK-BIN-NEXT: ) (func $catchless-try-with-inner-delegate (try $label$0 @@ -1276,10 +1278,10 @@ ;; CHECK-TEXT-NEXT: (nop) ;; CHECK-TEXT-NEXT: ) ;; CHECK-BIN: (func $nested-delegate-within-block (type $0) - ;; CHECK-BIN-NEXT: (block $label$1 - ;; CHECK-BIN-NEXT: (block $label$2 + ;; CHECK-BIN-NEXT: (block + ;; CHECK-BIN-NEXT: (block ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (try $label$5 + ;; CHECK-BIN-NEXT: (try ;; CHECK-BIN-NEXT: (do ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (delegate 1) @@ -1327,7 +1329,7 @@ ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $2 (type $0) -;; CHECK-BIN-NODEBUG-NEXT: (try $label$3 +;; CHECK-BIN-NODEBUG-NEXT: (try ;; CHECK-BIN-NODEBUG-NEXT: (do ;; CHECK-BIN-NODEBUG-NEXT: (throw $tag$0 ;; CHECK-BIN-NODEBUG-NEXT: (i32.const 0) @@ -1344,9 +1346,10 @@ ;; CHECK-BIN-NODEBUG: (func $3 (type $0) ;; CHECK-BIN-NODEBUG-NEXT: (local $0 i32) ;; CHECK-BIN-NODEBUG-NEXT: (local $1 i64) -;; CHECK-BIN-NODEBUG-NEXT: (local $2 (tuple i32 i64)) -;; CHECK-BIN-NODEBUG-NEXT: (local $3 i32) -;; CHECK-BIN-NODEBUG-NEXT: (try $label$3 +;; CHECK-BIN-NODEBUG-NEXT: (local $scratch (tuple i32 i64)) +;; CHECK-BIN-NODEBUG-NEXT: (local $scratch_3 i32) +;; CHECK-BIN-NODEBUG-NEXT: (local $4 (tuple i32 i64)) +;; CHECK-BIN-NODEBUG-NEXT: (try ;; CHECK-BIN-NODEBUG-NEXT: (do ;; CHECK-BIN-NODEBUG-NEXT: (throw $tag$2 ;; CHECK-BIN-NODEBUG-NEXT: (i32.const 0) @@ -1354,49 +1357,54 @@ ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (catch $tag$2 -;; CHECK-BIN-NODEBUG-NEXT: (local.set $2 +;; CHECK-BIN-NODEBUG-NEXT: (local.set $4 ;; CHECK-BIN-NODEBUG-NEXT: (pop (tuple i32 i64)) ;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (local.set $0 -;; CHECK-BIN-NODEBUG-NEXT: (block (result i32) -;; CHECK-BIN-NODEBUG-NEXT: (local.set $3 -;; CHECK-BIN-NODEBUG-NEXT: (tuple.extract 2 0 -;; CHECK-BIN-NODEBUG-NEXT: (local.get $2) +;; CHECK-BIN-NODEBUG-NEXT: (block +;; CHECK-BIN-NODEBUG-NEXT: (local.set $0 +;; CHECK-BIN-NODEBUG-NEXT: (block (result i32) +;; CHECK-BIN-NODEBUG-NEXT: (local.set $scratch_3 +;; CHECK-BIN-NODEBUG-NEXT: (tuple.extract 2 0 +;; CHECK-BIN-NODEBUG-NEXT: (local.tee $scratch +;; CHECK-BIN-NODEBUG-NEXT: (local.get $4) +;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (local.set $1 -;; CHECK-BIN-NODEBUG-NEXT: (tuple.extract 2 1 -;; CHECK-BIN-NODEBUG-NEXT: (local.get $2) +;; CHECK-BIN-NODEBUG-NEXT: (local.set $1 +;; CHECK-BIN-NODEBUG-NEXT: (tuple.extract 2 1 +;; CHECK-BIN-NODEBUG-NEXT: (local.get $scratch) +;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (local.get $scratch_3) ;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (local.get $3) ;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (drop -;; CHECK-BIN-NODEBUG-NEXT: (local.get $0) +;; CHECK-BIN-NODEBUG-NEXT: (drop +;; CHECK-BIN-NODEBUG-NEXT: (local.get $0) +;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $4 (type $0) -;; CHECK-BIN-NODEBUG-NEXT: (block $label$1 -;; CHECK-BIN-NODEBUG-NEXT: (try $label$4 +;; CHECK-BIN-NODEBUG-NEXT: (block $block +;; CHECK-BIN-NODEBUG-NEXT: (try ;; CHECK-BIN-NODEBUG-NEXT: (do -;; CHECK-BIN-NODEBUG-NEXT: (br $label$1) +;; CHECK-BIN-NODEBUG-NEXT: (br $block) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (catch $tag$0 ;; CHECK-BIN-NODEBUG-NEXT: (drop ;; CHECK-BIN-NODEBUG-NEXT: (pop i32) ;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (br $label$1) +;; CHECK-BIN-NODEBUG-NEXT: (br $block) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (unreachable) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $5 (type $0) -;; CHECK-BIN-NODEBUG-NEXT: (try $label$3 +;; CHECK-BIN-NODEBUG-NEXT: (try ;; CHECK-BIN-NODEBUG-NEXT: (do ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (catch $tag$0 @@ -1408,7 +1416,7 @@ ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $6 (type $0) -;; CHECK-BIN-NODEBUG-NEXT: (try $label$3 +;; CHECK-BIN-NODEBUG-NEXT: (try ;; CHECK-BIN-NODEBUG-NEXT: (do ;; CHECK-BIN-NODEBUG-NEXT: (call $0) ;; CHECK-BIN-NODEBUG-NEXT: (call $1) @@ -1424,7 +1432,7 @@ ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $7 (type $0) -;; CHECK-BIN-NODEBUG-NEXT: (try $label$3 +;; CHECK-BIN-NODEBUG-NEXT: (try ;; CHECK-BIN-NODEBUG-NEXT: (do ;; CHECK-BIN-NODEBUG-NEXT: (throw $tag$0 ;; CHECK-BIN-NODEBUG-NEXT: (i32.const 0) @@ -1444,7 +1452,7 @@ ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $8 (type $0) -;; CHECK-BIN-NODEBUG-NEXT: (try $label$3 +;; CHECK-BIN-NODEBUG-NEXT: (try ;; CHECK-BIN-NODEBUG-NEXT: (do ;; CHECK-BIN-NODEBUG-NEXT: (throw $tag$0 ;; CHECK-BIN-NODEBUG-NEXT: (i32.const 0) @@ -1456,7 +1464,7 @@ ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $9 (type $0) -;; CHECK-BIN-NODEBUG-NEXT: (try $label$3 +;; CHECK-BIN-NODEBUG-NEXT: (try ;; CHECK-BIN-NODEBUG-NEXT: (do ;; CHECK-BIN-NODEBUG-NEXT: (throw $tag$0 ;; CHECK-BIN-NODEBUG-NEXT: (i32.const 0) @@ -1480,9 +1488,9 @@ ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $10 (type $0) -;; CHECK-BIN-NODEBUG-NEXT: (try $label$9 +;; CHECK-BIN-NODEBUG-NEXT: (try ;; CHECK-BIN-NODEBUG-NEXT: (do -;; CHECK-BIN-NODEBUG-NEXT: (try $label$4 +;; CHECK-BIN-NODEBUG-NEXT: (try ;; CHECK-BIN-NODEBUG-NEXT: (do ;; CHECK-BIN-NODEBUG-NEXT: (throw $tag$0 ;; CHECK-BIN-NODEBUG-NEXT: (i32.const 0) @@ -1503,7 +1511,7 @@ ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (catch_all -;; CHECK-BIN-NODEBUG-NEXT: (try $label$8 +;; CHECK-BIN-NODEBUG-NEXT: (try ;; CHECK-BIN-NODEBUG-NEXT: (do ;; CHECK-BIN-NODEBUG-NEXT: (throw $tag$0 ;; CHECK-BIN-NODEBUG-NEXT: (i32.const 0) @@ -1522,31 +1530,30 @@ ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $11 (type $0) -;; CHECK-BIN-NODEBUG-NEXT: (try $label$3 +;; CHECK-BIN-NODEBUG-NEXT: (try ;; CHECK-BIN-NODEBUG-NEXT: (do ;; CHECK-BIN-NODEBUG-NEXT: (throw $tag$0 ;; CHECK-BIN-NODEBUG-NEXT: (i32.const 0) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (unreachable) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $12 (type $0) -;; CHECK-BIN-NODEBUG-NEXT: (try $label$9 +;; CHECK-BIN-NODEBUG-NEXT: (try $label ;; CHECK-BIN-NODEBUG-NEXT: (do -;; CHECK-BIN-NODEBUG-NEXT: (block $label$1 -;; CHECK-BIN-NODEBUG-NEXT: (try $label$4 -;; CHECK-BIN-NODEBUG-NEXT: (do -;; CHECK-BIN-NODEBUG-NEXT: (call $0) -;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (delegate $label$9) +;; CHECK-BIN-NODEBUG-NEXT: (try +;; CHECK-BIN-NODEBUG-NEXT: (do +;; CHECK-BIN-NODEBUG-NEXT: (call $0) ;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (try $label$7 -;; CHECK-BIN-NODEBUG-NEXT: (do -;; CHECK-BIN-NODEBUG-NEXT: (call $0) -;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (delegate $label$9) +;; CHECK-BIN-NODEBUG-NEXT: (delegate $label) +;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (try +;; CHECK-BIN-NODEBUG-NEXT: (do +;; CHECK-BIN-NODEBUG-NEXT: (call $0) ;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (delegate $label) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (catch_all @@ -1555,26 +1562,24 @@ ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $13 (type $0) -;; CHECK-BIN-NODEBUG-NEXT: (block $label$1 -;; CHECK-BIN-NODEBUG-NEXT: (try $label$10 +;; CHECK-BIN-NODEBUG-NEXT: (block $block +;; CHECK-BIN-NODEBUG-NEXT: (try $label ;; CHECK-BIN-NODEBUG-NEXT: (do -;; CHECK-BIN-NODEBUG-NEXT: (block $label$2 -;; CHECK-BIN-NODEBUG-NEXT: (try $label$5 -;; CHECK-BIN-NODEBUG-NEXT: (do -;; CHECK-BIN-NODEBUG-NEXT: (br_if $label$1 -;; CHECK-BIN-NODEBUG-NEXT: (i32.const 1) -;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (try +;; CHECK-BIN-NODEBUG-NEXT: (do +;; CHECK-BIN-NODEBUG-NEXT: (br_if $block +;; CHECK-BIN-NODEBUG-NEXT: (i32.const 1) ;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (delegate $label$10) ;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (try $label$8 -;; CHECK-BIN-NODEBUG-NEXT: (do -;; CHECK-BIN-NODEBUG-NEXT: (br_if $label$1 -;; CHECK-BIN-NODEBUG-NEXT: (i32.const 1) -;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (delegate $label) +;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (try +;; CHECK-BIN-NODEBUG-NEXT: (do +;; CHECK-BIN-NODEBUG-NEXT: (br_if $block +;; CHECK-BIN-NODEBUG-NEXT: (i32.const 1) ;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (delegate $label$10) ;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (delegate $label) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (catch_all @@ -1584,15 +1589,13 @@ ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $14 (type $0) -;; CHECK-BIN-NODEBUG-NEXT: (try $label$6 +;; CHECK-BIN-NODEBUG-NEXT: (try $label ;; CHECK-BIN-NODEBUG-NEXT: (do -;; CHECK-BIN-NODEBUG-NEXT: (block $label$1 -;; CHECK-BIN-NODEBUG-NEXT: (try $label$4 -;; CHECK-BIN-NODEBUG-NEXT: (do -;; CHECK-BIN-NODEBUG-NEXT: (call $0) -;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (delegate $label$6) +;; CHECK-BIN-NODEBUG-NEXT: (try +;; CHECK-BIN-NODEBUG-NEXT: (do +;; CHECK-BIN-NODEBUG-NEXT: (call $0) ;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (delegate $label) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (delegate 0) @@ -1600,7 +1603,7 @@ ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $15 (type $0) -;; CHECK-BIN-NODEBUG-NEXT: (try $label$3 +;; CHECK-BIN-NODEBUG-NEXT: (try ;; CHECK-BIN-NODEBUG-NEXT: (do ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (catch $tag$4 @@ -1609,7 +1612,7 @@ ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $16 (type $0) -;; CHECK-BIN-NODEBUG-NEXT: (try $label$3 +;; CHECK-BIN-NODEBUG-NEXT: (try $label ;; CHECK-BIN-NODEBUG-NEXT: (do ;; CHECK-BIN-NODEBUG-NEXT: (call $0) ;; CHECK-BIN-NODEBUG-NEXT: ) @@ -1617,17 +1620,17 @@ ;; CHECK-BIN-NODEBUG-NEXT: (drop ;; CHECK-BIN-NODEBUG-NEXT: (pop i32) ;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (rethrow $label$3) +;; CHECK-BIN-NODEBUG-NEXT: (rethrow $label) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (catch_all -;; CHECK-BIN-NODEBUG-NEXT: (rethrow $label$3) +;; CHECK-BIN-NODEBUG-NEXT: (rethrow $label) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $17 (type $0) -;; CHECK-BIN-NODEBUG-NEXT: (block $label$1 -;; CHECK-BIN-NODEBUG-NEXT: (try $label$4 +;; CHECK-BIN-NODEBUG-NEXT: (block $block +;; CHECK-BIN-NODEBUG-NEXT: (try $label ;; CHECK-BIN-NODEBUG-NEXT: (do ;; CHECK-BIN-NODEBUG-NEXT: (call $0) ;; CHECK-BIN-NODEBUG-NEXT: ) @@ -1635,22 +1638,22 @@ ;; CHECK-BIN-NODEBUG-NEXT: (drop ;; CHECK-BIN-NODEBUG-NEXT: (pop i32) ;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (rethrow $label$4) +;; CHECK-BIN-NODEBUG-NEXT: (rethrow $label) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (catch_all -;; CHECK-BIN-NODEBUG-NEXT: (br $label$1) +;; CHECK-BIN-NODEBUG-NEXT: (br $block) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $18 (type $0) -;; CHECK-BIN-NODEBUG-NEXT: (try $label$6 +;; CHECK-BIN-NODEBUG-NEXT: (try $label ;; CHECK-BIN-NODEBUG-NEXT: (do ;; CHECK-BIN-NODEBUG-NEXT: (call $0) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (catch_all -;; CHECK-BIN-NODEBUG-NEXT: (try $label$5 +;; CHECK-BIN-NODEBUG-NEXT: (try ;; CHECK-BIN-NODEBUG-NEXT: (do ;; CHECK-BIN-NODEBUG-NEXT: (call $0) ;; CHECK-BIN-NODEBUG-NEXT: ) @@ -1658,10 +1661,10 @@ ;; CHECK-BIN-NODEBUG-NEXT: (drop ;; CHECK-BIN-NODEBUG-NEXT: (pop i32) ;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (rethrow $label$6) +;; CHECK-BIN-NODEBUG-NEXT: (rethrow $label) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (catch_all -;; CHECK-BIN-NODEBUG-NEXT: (rethrow $label$6) +;; CHECK-BIN-NODEBUG-NEXT: (rethrow $label) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) @@ -1669,12 +1672,12 @@ ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $19 (type $0) -;; CHECK-BIN-NODEBUG-NEXT: (try $label$7 +;; CHECK-BIN-NODEBUG-NEXT: (try $label ;; CHECK-BIN-NODEBUG-NEXT: (do ;; CHECK-BIN-NODEBUG-NEXT: (call $0) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (catch_all -;; CHECK-BIN-NODEBUG-NEXT: (try $label$6 +;; CHECK-BIN-NODEBUG-NEXT: (try ;; CHECK-BIN-NODEBUG-NEXT: (do ;; CHECK-BIN-NODEBUG-NEXT: (call $0) ;; CHECK-BIN-NODEBUG-NEXT: ) @@ -1682,12 +1685,13 @@ ;; CHECK-BIN-NODEBUG-NEXT: (drop ;; CHECK-BIN-NODEBUG-NEXT: (pop i32) ;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (block $label$5 -;; CHECK-BIN-NODEBUG-NEXT: (rethrow $label$7) +;; CHECK-BIN-NODEBUG-NEXT: (block +;; CHECK-BIN-NODEBUG-NEXT: (rethrow $label) ;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (unreachable) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (catch_all -;; CHECK-BIN-NODEBUG-NEXT: (rethrow $label$7) +;; CHECK-BIN-NODEBUG-NEXT: (rethrow $label) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) @@ -1695,28 +1699,28 @@ ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $20 (type $0) -;; CHECK-BIN-NODEBUG-NEXT: (try $label$6 +;; CHECK-BIN-NODEBUG-NEXT: (try $label ;; CHECK-BIN-NODEBUG-NEXT: (do ;; CHECK-BIN-NODEBUG-NEXT: (call $0) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (catch_all -;; CHECK-BIN-NODEBUG-NEXT: (try $label$5 +;; CHECK-BIN-NODEBUG-NEXT: (try ;; CHECK-BIN-NODEBUG-NEXT: (do -;; CHECK-BIN-NODEBUG-NEXT: (rethrow $label$6) +;; CHECK-BIN-NODEBUG-NEXT: (rethrow $label) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (catch_all ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (try $label$12 +;; CHECK-BIN-NODEBUG-NEXT: (try $label1 ;; CHECK-BIN-NODEBUG-NEXT: (do ;; CHECK-BIN-NODEBUG-NEXT: (call $0) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (catch_all -;; CHECK-BIN-NODEBUG-NEXT: (try $label$11 +;; CHECK-BIN-NODEBUG-NEXT: (try ;; CHECK-BIN-NODEBUG-NEXT: (do -;; CHECK-BIN-NODEBUG-NEXT: (rethrow $label$12) +;; CHECK-BIN-NODEBUG-NEXT: (rethrow $label1) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (catch_all ;; CHECK-BIN-NODEBUG-NEXT: ) @@ -1726,7 +1730,7 @@ ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $21 (type $0) -;; CHECK-BIN-NODEBUG-NEXT: (try $label$5 +;; CHECK-BIN-NODEBUG-NEXT: (try ;; CHECK-BIN-NODEBUG-NEXT: (do ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (catch $tag$0 @@ -1746,7 +1750,7 @@ ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $22 (type $0) -;; CHECK-BIN-NODEBUG-NEXT: (try $label$3 +;; CHECK-BIN-NODEBUG-NEXT: (try ;; CHECK-BIN-NODEBUG-NEXT: (do ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (catch $tag$3 @@ -1758,27 +1762,27 @@ ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $23 (type $0) -;; CHECK-BIN-NODEBUG-NEXT: (try $label$6 +;; CHECK-BIN-NODEBUG-NEXT: (try $label ;; CHECK-BIN-NODEBUG-NEXT: (do -;; CHECK-BIN-NODEBUG-NEXT: (block $label$1 -;; CHECK-BIN-NODEBUG-NEXT: (try $label$4 -;; CHECK-BIN-NODEBUG-NEXT: (do -;; CHECK-BIN-NODEBUG-NEXT: (throw $tag$0 -;; CHECK-BIN-NODEBUG-NEXT: (i32.const 0) -;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (try +;; CHECK-BIN-NODEBUG-NEXT: (do +;; CHECK-BIN-NODEBUG-NEXT: (throw $tag$0 +;; CHECK-BIN-NODEBUG-NEXT: (i32.const 0) ;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (delegate $label$6) ;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (delegate $label) ;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (unreachable) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (unreachable) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $24 (type $0) -;; CHECK-BIN-NODEBUG-NEXT: (block $label$1 -;; CHECK-BIN-NODEBUG-NEXT: (block $label$2 +;; CHECK-BIN-NODEBUG-NEXT: (block +;; CHECK-BIN-NODEBUG-NEXT: (block ;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (try $label$5 +;; CHECK-BIN-NODEBUG-NEXT: (try ;; CHECK-BIN-NODEBUG-NEXT: (do ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (delegate 1) diff --git a/test/lit/basic/exception-handling-no-gc.wast b/test/lit/basic/exception-handling-no-gc.wast index 4ab0708c4..611853a93 100644 --- a/test/lit/basic/exception-handling-no-gc.wast +++ b/test/lit/basic/exception-handling-no-gc.wast @@ -7,10 +7,11 @@ (module ;; CHECK: (func $test (result exnref) - ;; CHECK-NEXT: (block $label$1 (result exnref) - ;; CHECK-NEXT: (try_table (catch_all_ref $label$1) + ;; CHECK-NEXT: (block $block (result exnref) + ;; CHECK-NEXT: (try_table (catch_all_ref $block) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) (func $test (result exnref) diff --git a/test/lit/basic/exception-handling.wast b/test/lit/basic/exception-handling.wast index 97be09c04..41c10f631 100644 --- a/test/lit/basic/exception-handling.wast +++ b/test/lit/basic/exception-handling.wast @@ -147,6 +147,7 @@ ;; CHECK-BIN-NEXT: (try_table ;; CHECK-BIN-NEXT: (throw $e-empty) ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (unreachable) ;; CHECK-BIN-NEXT: ) (func $catchless-try-table (try_table) @@ -165,12 +166,13 @@ ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) ;; CHECK-BIN: (func $simple-try-table-and-throw (type $4) (result i32) - ;; CHECK-BIN-NEXT: (block $label$1 (result i32) - ;; CHECK-BIN-NEXT: (try_table (catch $e-i32 $label$1) + ;; CHECK-BIN-NEXT: (block $block (result i32) + ;; CHECK-BIN-NEXT: (try_table (catch $e-i32 $block) ;; CHECK-BIN-NEXT: (throw $e-i32 ;; CHECK-BIN-NEXT: (i32.const 0) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (unreachable) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) (func $simple-try-table-and-throw (result i32) @@ -194,12 +196,13 @@ ;; CHECK-TEXT-NEXT: ) ;; CHECK-BIN: (func $try-table-and-throw-ref (type $0) ;; CHECK-BIN-NEXT: (throw_ref - ;; CHECK-BIN-NEXT: (block $label$1 (result exnref) - ;; CHECK-BIN-NEXT: (try_table (catch_all_ref $label$1) + ;; CHECK-BIN-NEXT: (block $block (result exnref) + ;; CHECK-BIN-NEXT: (try_table (catch_all_ref $block) ;; CHECK-BIN-NEXT: (throw $e-i64 ;; CHECK-BIN-NEXT: (i64.const 0) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (unreachable) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) @@ -233,65 +236,64 @@ ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) ;; CHECK-BIN: (func $try-table-multivalue-tag (type $0) - ;; CHECK-BIN-NEXT: (local $0 (tuple i32 i64)) - ;; CHECK-BIN-NEXT: (local $1 i32) - ;; CHECK-BIN-NEXT: (local $2 (tuple i32 i64 exnref)) - ;; CHECK-BIN-NEXT: (local $3 i64) - ;; CHECK-BIN-NEXT: (local $4 i32) - ;; CHECK-BIN-NEXT: (block $label$1 - ;; CHECK-BIN-NEXT: (local.set $2 - ;; CHECK-BIN-NEXT: (block $label$2 (type $2) (result i32 i64 exnref) - ;; CHECK-BIN-NEXT: (local.set $0 - ;; CHECK-BIN-NEXT: (block $label$3 (type $1) (result i32 i64) - ;; CHECK-BIN-NEXT: (try_table (catch $e-i32-i64 $label$3) (catch_ref $e-i32-i64 $label$2) - ;; CHECK-BIN-NEXT: (throw $e-i32-i64 - ;; CHECK-BIN-NEXT: (i32.const 0) - ;; CHECK-BIN-NEXT: (i64.const 0) - ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (drop - ;; CHECK-BIN-NEXT: (block (result i32) - ;; CHECK-BIN-NEXT: (local.set $1 - ;; CHECK-BIN-NEXT: (tuple.extract 2 0 - ;; CHECK-BIN-NEXT: (local.get $0) - ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (drop - ;; CHECK-BIN-NEXT: (tuple.extract 2 1 - ;; CHECK-BIN-NEXT: (local.get $0) - ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (local.get $1) - ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (br $label$1) - ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (local $scratch (tuple i32 i64)) + ;; CHECK-BIN-NEXT: (local $scratch_1 i32) + ;; CHECK-BIN-NEXT: (local $scratch_2 (tuple i32 i64 exnref)) + ;; CHECK-BIN-NEXT: (local $scratch_3 i64) + ;; CHECK-BIN-NEXT: (local $scratch_4 i32) + ;; CHECK-BIN-NEXT: (block $block2 ;; CHECK-BIN-NEXT: (drop ;; CHECK-BIN-NEXT: (block (result i32) - ;; CHECK-BIN-NEXT: (local.set $4 + ;; CHECK-BIN-NEXT: (local.set $scratch_4 ;; CHECK-BIN-NEXT: (tuple.extract 3 0 - ;; CHECK-BIN-NEXT: (local.get $2) + ;; CHECK-BIN-NEXT: (local.tee $scratch_2 + ;; CHECK-BIN-NEXT: (block $block1 (type $2) (result i32 i64 exnref) + ;; CHECK-BIN-NEXT: (drop + ;; CHECK-BIN-NEXT: (block (result i32) + ;; CHECK-BIN-NEXT: (local.set $scratch_1 + ;; CHECK-BIN-NEXT: (tuple.extract 2 0 + ;; CHECK-BIN-NEXT: (local.tee $scratch + ;; CHECK-BIN-NEXT: (block $block (type $1) (result i32 i64) + ;; CHECK-BIN-NEXT: (try_table (catch $e-i32-i64 $block) (catch_ref $e-i32-i64 $block1) + ;; CHECK-BIN-NEXT: (throw $e-i32-i64 + ;; CHECK-BIN-NEXT: (i32.const 0) + ;; CHECK-BIN-NEXT: (i64.const 0) + ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (unreachable) + ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (drop + ;; CHECK-BIN-NEXT: (tuple.extract 2 1 + ;; CHECK-BIN-NEXT: (local.get $scratch) + ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (local.get $scratch_1) + ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (br $block2) + ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (drop ;; CHECK-BIN-NEXT: (block (result i64) - ;; CHECK-BIN-NEXT: (local.set $3 + ;; CHECK-BIN-NEXT: (local.set $scratch_3 ;; CHECK-BIN-NEXT: (tuple.extract 3 1 - ;; CHECK-BIN-NEXT: (local.get $2) + ;; CHECK-BIN-NEXT: (local.get $scratch_2) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (drop ;; CHECK-BIN-NEXT: (tuple.extract 3 2 - ;; CHECK-BIN-NEXT: (local.get $2) + ;; CHECK-BIN-NEXT: (local.get $scratch_2) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (local.get $3) + ;; CHECK-BIN-NEXT: (local.get $scratch_3) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (local.get $4) + ;; CHECK-BIN-NEXT: (local.get $scratch_4) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) @@ -338,25 +340,25 @@ ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) ;; CHECK-BIN: (func $try-table-all-catch-clauses-empty-tag (type $0) - ;; CHECK-BIN-NEXT: (block $label$1 - ;; CHECK-BIN-NEXT: (block $label$2 + ;; CHECK-BIN-NEXT: (block $block4 + ;; CHECK-BIN-NEXT: (block $block ;; CHECK-BIN-NEXT: (drop - ;; CHECK-BIN-NEXT: (block $label$3 (result exnref) - ;; CHECK-BIN-NEXT: (block $label$4 + ;; CHECK-BIN-NEXT: (block $block1 (result exnref) + ;; CHECK-BIN-NEXT: (block $block2 ;; CHECK-BIN-NEXT: (throw_ref - ;; CHECK-BIN-NEXT: (block $label$5 (result exnref) - ;; CHECK-BIN-NEXT: (try_table (catch $e-empty $label$2) (catch_ref $e-empty $label$3) (catch_all $label$4) (catch_all_ref $label$5) + ;; CHECK-BIN-NEXT: (block $block3 (result exnref) + ;; CHECK-BIN-NEXT: (try_table (catch $e-empty $block) (catch_ref $e-empty $block1) (catch_all $block2) (catch_all_ref $block3) ;; CHECK-BIN-NEXT: (call $foo) ;; CHECK-BIN-NEXT: (call $foo) ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (br $label$1) + ;; CHECK-BIN-NEXT: (br $block4) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (br $label$1) + ;; CHECK-BIN-NEXT: (br $block4) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (br $label$1) + ;; CHECK-BIN-NEXT: (br $block4) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) @@ -415,43 +417,42 @@ ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) ;; CHECK-BIN: (func $try-table-all-catch-clauses-i32-tag (type $0) - ;; CHECK-BIN-NEXT: (local $0 (tuple i32 exnref)) - ;; CHECK-BIN-NEXT: (local $1 i32) - ;; CHECK-BIN-NEXT: (block $label$1 + ;; CHECK-BIN-NEXT: (local $scratch (tuple i32 exnref)) + ;; CHECK-BIN-NEXT: (local $scratch_1 i32) + ;; CHECK-BIN-NEXT: (block $block4 ;; CHECK-BIN-NEXT: (drop - ;; CHECK-BIN-NEXT: (block $label$2 (result i32) - ;; CHECK-BIN-NEXT: (local.set $0 - ;; CHECK-BIN-NEXT: (block $label$3 (type $5) (result i32 exnref) - ;; CHECK-BIN-NEXT: (block $label$4 - ;; CHECK-BIN-NEXT: (throw_ref - ;; CHECK-BIN-NEXT: (block $label$5 (result exnref) - ;; CHECK-BIN-NEXT: (try_table (catch $e-i32 $label$2) (catch_ref $e-i32 $label$3) (catch_all $label$4) (catch_all_ref $label$5) - ;; CHECK-BIN-NEXT: (call $foo) - ;; CHECK-BIN-NEXT: (call $foo) - ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (br $label$1) - ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (br $label$1) - ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (block $block (result i32) ;; CHECK-BIN-NEXT: (drop ;; CHECK-BIN-NEXT: (block (result i32) - ;; CHECK-BIN-NEXT: (local.set $1 + ;; CHECK-BIN-NEXT: (local.set $scratch_1 ;; CHECK-BIN-NEXT: (tuple.extract 2 0 - ;; CHECK-BIN-NEXT: (local.get $0) + ;; CHECK-BIN-NEXT: (local.tee $scratch + ;; CHECK-BIN-NEXT: (block $block1 (type $5) (result i32 exnref) + ;; CHECK-BIN-NEXT: (block $block2 + ;; CHECK-BIN-NEXT: (throw_ref + ;; CHECK-BIN-NEXT: (block $block3 (result exnref) + ;; CHECK-BIN-NEXT: (try_table (catch $e-i32 $block) (catch_ref $e-i32 $block1) (catch_all $block2) (catch_all_ref $block3) + ;; CHECK-BIN-NEXT: (call $foo) + ;; CHECK-BIN-NEXT: (call $foo) + ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (br $block4) + ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (br $block4) + ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (drop ;; CHECK-BIN-NEXT: (tuple.extract 2 1 - ;; CHECK-BIN-NEXT: (local.get $0) + ;; CHECK-BIN-NEXT: (local.get $scratch) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (local.get $1) + ;; CHECK-BIN-NEXT: (local.get $scratch_1) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (br $label$1) + ;; CHECK-BIN-NEXT: (br $block4) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) @@ -513,71 +514,69 @@ ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) ;; CHECK-BIN: (func $try-table-all-catch-clauses-multivalue-tag (type $0) - ;; CHECK-BIN-NEXT: (local $0 (tuple i32 i64 exnref)) - ;; CHECK-BIN-NEXT: (local $1 i64) - ;; CHECK-BIN-NEXT: (local $2 i32) - ;; CHECK-BIN-NEXT: (local $3 (tuple i32 i64)) - ;; CHECK-BIN-NEXT: (local $4 i32) - ;; CHECK-BIN-NEXT: (block $label$1 - ;; CHECK-BIN-NEXT: (local.set $3 - ;; CHECK-BIN-NEXT: (block $label$2 (type $1) (result i32 i64) - ;; CHECK-BIN-NEXT: (local.set $0 - ;; CHECK-BIN-NEXT: (block $label$3 (type $2) (result i32 i64 exnref) - ;; CHECK-BIN-NEXT: (block $label$4 - ;; CHECK-BIN-NEXT: (throw_ref - ;; CHECK-BIN-NEXT: (block $label$5 (result exnref) - ;; CHECK-BIN-NEXT: (try_table (catch $e-i32-i64 $label$2) (catch_ref $e-i32-i64 $label$3) (catch_all $label$4) (catch_all_ref $label$5) - ;; CHECK-BIN-NEXT: (call $foo) - ;; CHECK-BIN-NEXT: (call $foo) - ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (br $label$1) - ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (br $label$1) - ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (drop - ;; CHECK-BIN-NEXT: (block (result i32) - ;; CHECK-BIN-NEXT: (local.set $2 - ;; CHECK-BIN-NEXT: (tuple.extract 3 0 - ;; CHECK-BIN-NEXT: (local.get $0) - ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (drop - ;; CHECK-BIN-NEXT: (block (result i64) - ;; CHECK-BIN-NEXT: (local.set $1 - ;; CHECK-BIN-NEXT: (tuple.extract 3 1 - ;; CHECK-BIN-NEXT: (local.get $0) - ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (local $scratch (tuple i32 i64 exnref)) + ;; CHECK-BIN-NEXT: (local $scratch_1 i64) + ;; CHECK-BIN-NEXT: (local $scratch_2 i32) + ;; CHECK-BIN-NEXT: (local $scratch_3 (tuple i32 i64)) + ;; CHECK-BIN-NEXT: (local $scratch_4 i32) + ;; CHECK-BIN-NEXT: (block $block4 + ;; CHECK-BIN-NEXT: (drop + ;; CHECK-BIN-NEXT: (block (result i32) + ;; CHECK-BIN-NEXT: (local.set $scratch_4 + ;; CHECK-BIN-NEXT: (tuple.extract 2 0 + ;; CHECK-BIN-NEXT: (local.tee $scratch_3 + ;; CHECK-BIN-NEXT: (block $block (type $1) (result i32 i64) ;; CHECK-BIN-NEXT: (drop - ;; CHECK-BIN-NEXT: (tuple.extract 3 2 - ;; CHECK-BIN-NEXT: (local.get $0) + ;; CHECK-BIN-NEXT: (block (result i32) + ;; CHECK-BIN-NEXT: (local.set $scratch_2 + ;; CHECK-BIN-NEXT: (tuple.extract 3 0 + ;; CHECK-BIN-NEXT: (local.tee $scratch + ;; CHECK-BIN-NEXT: (block $block1 (type $2) (result i32 i64 exnref) + ;; CHECK-BIN-NEXT: (block $block2 + ;; CHECK-BIN-NEXT: (throw_ref + ;; CHECK-BIN-NEXT: (block $block3 (result exnref) + ;; CHECK-BIN-NEXT: (try_table (catch $e-i32-i64 $block) (catch_ref $e-i32-i64 $block1) (catch_all $block2) (catch_all_ref $block3) + ;; CHECK-BIN-NEXT: (call $foo) + ;; CHECK-BIN-NEXT: (call $foo) + ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (br $block4) + ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (br $block4) + ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (drop + ;; CHECK-BIN-NEXT: (block (result i64) + ;; CHECK-BIN-NEXT: (local.set $scratch_1 + ;; CHECK-BIN-NEXT: (tuple.extract 3 1 + ;; CHECK-BIN-NEXT: (local.get $scratch) + ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (drop + ;; CHECK-BIN-NEXT: (tuple.extract 3 2 + ;; CHECK-BIN-NEXT: (local.get $scratch) + ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (local.get $scratch_1) + ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (local.get $scratch_2) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (local.get $1) + ;; CHECK-BIN-NEXT: (br $block4) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (local.get $2) - ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (br $label$1) - ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (drop - ;; CHECK-BIN-NEXT: (block (result i32) - ;; CHECK-BIN-NEXT: (local.set $4 - ;; CHECK-BIN-NEXT: (tuple.extract 2 0 - ;; CHECK-BIN-NEXT: (local.get $3) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (drop ;; CHECK-BIN-NEXT: (tuple.extract 2 1 - ;; CHECK-BIN-NEXT: (local.get $3) + ;; CHECK-BIN-NEXT: (local.get $scratch_3) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (local.get $4) + ;; CHECK-BIN-NEXT: (local.get $scratch_4) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) @@ -625,10 +624,10 @@ ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) ;; CHECK-BIN: (func $try-table-with-label-and-br (type $4) (result i32) - ;; CHECK-BIN-NEXT: (block $label$1 (result i32) - ;; CHECK-BIN-NEXT: (block $label$2 (result i32) - ;; CHECK-BIN-NEXT: (try_table (result i32) (catch $e-i32 $label$1) - ;; CHECK-BIN-NEXT: (br $label$2 + ;; CHECK-BIN-NEXT: (block $block (result i32) + ;; CHECK-BIN-NEXT: (block $block1 (result i32) + ;; CHECK-BIN-NEXT: (try_table (result i32) (catch $e-i32 $block) + ;; CHECK-BIN-NEXT: (br $block1 ;; CHECK-BIN-NEXT: (i32.const 0) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) @@ -670,11 +669,11 @@ ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) ;; CHECK-BIN: (func $nested-try-table (type $3) (result exnref) - ;; CHECK-BIN-NEXT: (block $label$1 (result exnref) + ;; CHECK-BIN-NEXT: (block $block (result exnref) ;; CHECK-BIN-NEXT: (drop - ;; CHECK-BIN-NEXT: (block $label$2 (result i32) - ;; CHECK-BIN-NEXT: (try_table (catch_all_ref $label$1) - ;; CHECK-BIN-NEXT: (try_table (catch $e-i32 $label$2) + ;; CHECK-BIN-NEXT: (block $block1 (result i32) + ;; CHECK-BIN-NEXT: (try_table (catch_all_ref $block) + ;; CHECK-BIN-NEXT: (try_table (catch $e-i32 $block1) ;; CHECK-BIN-NEXT: (if ;; CHECK-BIN-NEXT: (i32.const 0) ;; CHECK-BIN-NEXT: (then @@ -688,8 +687,11 @@ ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (unreachable) ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (unreachable) ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (unreachable) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (ref.null noexn) @@ -779,238 +781,237 @@ ;; CHECK-BIN-NODEBUG-NEXT: (try_table ;; CHECK-BIN-NODEBUG-NEXT: (throw $tag$4) ;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (unreachable) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $3 (type $4) (result i32) -;; CHECK-BIN-NODEBUG-NEXT: (block $label$1 (result i32) -;; CHECK-BIN-NODEBUG-NEXT: (try_table (catch $tag$0 $label$1) +;; CHECK-BIN-NODEBUG-NEXT: (block $block (result i32) +;; CHECK-BIN-NODEBUG-NEXT: (try_table (catch $tag$0 $block) ;; CHECK-BIN-NODEBUG-NEXT: (throw $tag$0 ;; CHECK-BIN-NODEBUG-NEXT: (i32.const 0) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (unreachable) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $4 (type $0) ;; CHECK-BIN-NODEBUG-NEXT: (throw_ref -;; CHECK-BIN-NODEBUG-NEXT: (block $label$1 (result exnref) -;; CHECK-BIN-NODEBUG-NEXT: (try_table (catch_all_ref $label$1) +;; CHECK-BIN-NODEBUG-NEXT: (block $block (result exnref) +;; CHECK-BIN-NODEBUG-NEXT: (try_table (catch_all_ref $block) ;; CHECK-BIN-NODEBUG-NEXT: (throw $tag$1 ;; CHECK-BIN-NODEBUG-NEXT: (i64.const 0) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (unreachable) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $5 (type $0) -;; CHECK-BIN-NODEBUG-NEXT: (local $0 (tuple i32 i64)) -;; CHECK-BIN-NODEBUG-NEXT: (local $1 i32) -;; CHECK-BIN-NODEBUG-NEXT: (local $2 (tuple i32 i64 exnref)) -;; CHECK-BIN-NODEBUG-NEXT: (local $3 i64) -;; CHECK-BIN-NODEBUG-NEXT: (local $4 i32) -;; CHECK-BIN-NODEBUG-NEXT: (block $label$1 -;; CHECK-BIN-NODEBUG-NEXT: (local.set $2 -;; CHECK-BIN-NODEBUG-NEXT: (block $label$2 (type $2) (result i32 i64 exnref) -;; CHECK-BIN-NODEBUG-NEXT: (local.set $0 -;; CHECK-BIN-NODEBUG-NEXT: (block $label$3 (type $1) (result i32 i64) -;; CHECK-BIN-NODEBUG-NEXT: (try_table (catch $tag$2 $label$3) (catch_ref $tag$2 $label$2) -;; CHECK-BIN-NODEBUG-NEXT: (throw $tag$2 -;; CHECK-BIN-NODEBUG-NEXT: (i32.const 0) -;; CHECK-BIN-NODEBUG-NEXT: (i64.const 0) -;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (drop -;; CHECK-BIN-NODEBUG-NEXT: (block (result i32) -;; CHECK-BIN-NODEBUG-NEXT: (local.set $1 -;; CHECK-BIN-NODEBUG-NEXT: (tuple.extract 2 0 -;; CHECK-BIN-NODEBUG-NEXT: (local.get $0) -;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (drop -;; CHECK-BIN-NODEBUG-NEXT: (tuple.extract 2 1 -;; CHECK-BIN-NODEBUG-NEXT: (local.get $0) -;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (local.get $1) -;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (br $label$1) -;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (local $scratch (tuple i32 i64)) +;; CHECK-BIN-NODEBUG-NEXT: (local $scratch_1 i32) +;; CHECK-BIN-NODEBUG-NEXT: (local $scratch_2 (tuple i32 i64 exnref)) +;; CHECK-BIN-NODEBUG-NEXT: (local $scratch_3 i64) +;; CHECK-BIN-NODEBUG-NEXT: (local $scratch_4 i32) +;; CHECK-BIN-NODEBUG-NEXT: (block $block2 ;; CHECK-BIN-NODEBUG-NEXT: (drop ;; CHECK-BIN-NODEBUG-NEXT: (block (result i32) -;; CHECK-BIN-NODEBUG-NEXT: (local.set $4 +;; CHECK-BIN-NODEBUG-NEXT: (local.set $scratch_4 ;; CHECK-BIN-NODEBUG-NEXT: (tuple.extract 3 0 -;; CHECK-BIN-NODEBUG-NEXT: (local.get $2) +;; CHECK-BIN-NODEBUG-NEXT: (local.tee $scratch_2 +;; CHECK-BIN-NODEBUG-NEXT: (block $block1 (type $2) (result i32 i64 exnref) +;; CHECK-BIN-NODEBUG-NEXT: (drop +;; CHECK-BIN-NODEBUG-NEXT: (block (result i32) +;; CHECK-BIN-NODEBUG-NEXT: (local.set $scratch_1 +;; CHECK-BIN-NODEBUG-NEXT: (tuple.extract 2 0 +;; CHECK-BIN-NODEBUG-NEXT: (local.tee $scratch +;; CHECK-BIN-NODEBUG-NEXT: (block $block (type $1) (result i32 i64) +;; CHECK-BIN-NODEBUG-NEXT: (try_table (catch $tag$2 $block) (catch_ref $tag$2 $block1) +;; CHECK-BIN-NODEBUG-NEXT: (throw $tag$2 +;; CHECK-BIN-NODEBUG-NEXT: (i32.const 0) +;; CHECK-BIN-NODEBUG-NEXT: (i64.const 0) +;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (unreachable) +;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (drop +;; CHECK-BIN-NODEBUG-NEXT: (tuple.extract 2 1 +;; CHECK-BIN-NODEBUG-NEXT: (local.get $scratch) +;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (local.get $scratch_1) +;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (br $block2) +;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (drop ;; CHECK-BIN-NODEBUG-NEXT: (block (result i64) -;; CHECK-BIN-NODEBUG-NEXT: (local.set $3 +;; CHECK-BIN-NODEBUG-NEXT: (local.set $scratch_3 ;; CHECK-BIN-NODEBUG-NEXT: (tuple.extract 3 1 -;; CHECK-BIN-NODEBUG-NEXT: (local.get $2) +;; CHECK-BIN-NODEBUG-NEXT: (local.get $scratch_2) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (drop ;; CHECK-BIN-NODEBUG-NEXT: (tuple.extract 3 2 -;; CHECK-BIN-NODEBUG-NEXT: (local.get $2) +;; CHECK-BIN-NODEBUG-NEXT: (local.get $scratch_2) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (local.get $3) +;; CHECK-BIN-NODEBUG-NEXT: (local.get $scratch_3) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (local.get $4) +;; CHECK-BIN-NODEBUG-NEXT: (local.get $scratch_4) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $6 (type $0) -;; CHECK-BIN-NODEBUG-NEXT: (block $label$1 -;; CHECK-BIN-NODEBUG-NEXT: (block $label$2 +;; CHECK-BIN-NODEBUG-NEXT: (block $block4 +;; CHECK-BIN-NODEBUG-NEXT: (block $block ;; CHECK-BIN-NODEBUG-NEXT: (drop -;; CHECK-BIN-NODEBUG-NEXT: (block $label$3 (result exnref) -;; CHECK-BIN-NODEBUG-NEXT: (block $label$4 +;; CHECK-BIN-NODEBUG-NEXT: (block $block1 (result exnref) +;; CHECK-BIN-NODEBUG-NEXT: (block $block2 ;; CHECK-BIN-NODEBUG-NEXT: (throw_ref -;; CHECK-BIN-NODEBUG-NEXT: (block $label$5 (result exnref) -;; CHECK-BIN-NODEBUG-NEXT: (try_table (catch $tag$4 $label$2) (catch_ref $tag$4 $label$3) (catch_all $label$4) (catch_all_ref $label$5) +;; CHECK-BIN-NODEBUG-NEXT: (block $block3 (result exnref) +;; CHECK-BIN-NODEBUG-NEXT: (try_table (catch $tag$4 $block) (catch_ref $tag$4 $block1) (catch_all $block2) (catch_all_ref $block3) ;; CHECK-BIN-NODEBUG-NEXT: (call $0) ;; CHECK-BIN-NODEBUG-NEXT: (call $0) ;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (br $label$1) +;; CHECK-BIN-NODEBUG-NEXT: (br $block4) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (br $label$1) +;; CHECK-BIN-NODEBUG-NEXT: (br $block4) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (br $label$1) +;; CHECK-BIN-NODEBUG-NEXT: (br $block4) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $7 (type $0) -;; CHECK-BIN-NODEBUG-NEXT: (local $0 (tuple i32 exnref)) -;; CHECK-BIN-NODEBUG-NEXT: (local $1 i32) -;; CHECK-BIN-NODEBUG-NEXT: (block $label$1 +;; CHECK-BIN-NODEBUG-NEXT: (local $scratch (tuple i32 exnref)) +;; CHECK-BIN-NODEBUG-NEXT: (local $scratch_1 i32) +;; CHECK-BIN-NODEBUG-NEXT: (block $block4 ;; CHECK-BIN-NODEBUG-NEXT: (drop -;; CHECK-BIN-NODEBUG-NEXT: (block $label$2 (result i32) -;; CHECK-BIN-NODEBUG-NEXT: (local.set $0 -;; CHECK-BIN-NODEBUG-NEXT: (block $label$3 (type $5) (result i32 exnref) -;; CHECK-BIN-NODEBUG-NEXT: (block $label$4 -;; CHECK-BIN-NODEBUG-NEXT: (throw_ref -;; CHECK-BIN-NODEBUG-NEXT: (block $label$5 (result exnref) -;; CHECK-BIN-NODEBUG-NEXT: (try_table (catch $tag$0 $label$2) (catch_ref $tag$0 $label$3) (catch_all $label$4) (catch_all_ref $label$5) -;; CHECK-BIN-NODEBUG-NEXT: (call $0) -;; CHECK-BIN-NODEBUG-NEXT: (call $0) -;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (br $label$1) -;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (br $label$1) -;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (block $block (result i32) ;; CHECK-BIN-NODEBUG-NEXT: (drop ;; CHECK-BIN-NODEBUG-NEXT: (block (result i32) -;; CHECK-BIN-NODEBUG-NEXT: (local.set $1 +;; CHECK-BIN-NODEBUG-NEXT: (local.set $scratch_1 ;; CHECK-BIN-NODEBUG-NEXT: (tuple.extract 2 0 -;; CHECK-BIN-NODEBUG-NEXT: (local.get $0) +;; CHECK-BIN-NODEBUG-NEXT: (local.tee $scratch +;; CHECK-BIN-NODEBUG-NEXT: (block $block1 (type $5) (result i32 exnref) +;; CHECK-BIN-NODEBUG-NEXT: (block $block2 +;; CHECK-BIN-NODEBUG-NEXT: (throw_ref +;; CHECK-BIN-NODEBUG-NEXT: (block $block3 (result exnref) +;; CHECK-BIN-NODEBUG-NEXT: (try_table (catch $tag$0 $block) (catch_ref $tag$0 $block1) (catch_all $block2) (catch_all_ref $block3) +;; CHECK-BIN-NODEBUG-NEXT: (call $0) +;; CHECK-BIN-NODEBUG-NEXT: (call $0) +;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (br $block4) +;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (br $block4) +;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (drop ;; CHECK-BIN-NODEBUG-NEXT: (tuple.extract 2 1 -;; CHECK-BIN-NODEBUG-NEXT: (local.get $0) +;; CHECK-BIN-NODEBUG-NEXT: (local.get $scratch) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (local.get $1) +;; CHECK-BIN-NODEBUG-NEXT: (local.get $scratch_1) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (br $label$1) +;; CHECK-BIN-NODEBUG-NEXT: (br $block4) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $8 (type $0) -;; CHECK-BIN-NODEBUG-NEXT: (local $0 (tuple i32 i64 exnref)) -;; CHECK-BIN-NODEBUG-NEXT: (local $1 i64) -;; CHECK-BIN-NODEBUG-NEXT: (local $2 i32) -;; CHECK-BIN-NODEBUG-NEXT: (local $3 (tuple i32 i64)) -;; CHECK-BIN-NODEBUG-NEXT: (local $4 i32) -;; CHECK-BIN-NODEBUG-NEXT: (block $label$1 -;; CHECK-BIN-NODEBUG-NEXT: (local.set $3 -;; CHECK-BIN-NODEBUG-NEXT: (block $label$2 (type $1) (result i32 i64) -;; CHECK-BIN-NODEBUG-NEXT: (local.set $0 -;; CHECK-BIN-NODEBUG-NEXT: (block $label$3 (type $2) (result i32 i64 exnref) -;; CHECK-BIN-NODEBUG-NEXT: (block $label$4 -;; CHECK-BIN-NODEBUG-NEXT: (throw_ref -;; CHECK-BIN-NODEBUG-NEXT: (block $label$5 (result exnref) -;; CHECK-BIN-NODEBUG-NEXT: (try_table (catch $tag$2 $label$2) (catch_ref $tag$2 $label$3) (catch_all $label$4) (catch_all_ref $label$5) -;; CHECK-BIN-NODEBUG-NEXT: (call $0) -;; CHECK-BIN-NODEBUG-NEXT: (call $0) -;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (br $label$1) -;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (br $label$1) -;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (drop -;; CHECK-BIN-NODEBUG-NEXT: (block (result i32) -;; CHECK-BIN-NODEBUG-NEXT: (local.set $2 -;; CHECK-BIN-NODEBUG-NEXT: (tuple.extract 3 0 -;; CHECK-BIN-NODEBUG-NEXT: (local.get $0) -;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (drop -;; CHECK-BIN-NODEBUG-NEXT: (block (result i64) -;; CHECK-BIN-NODEBUG-NEXT: (local.set $1 -;; CHECK-BIN-NODEBUG-NEXT: (tuple.extract 3 1 -;; CHECK-BIN-NODEBUG-NEXT: (local.get $0) -;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (local $scratch (tuple i32 i64 exnref)) +;; CHECK-BIN-NODEBUG-NEXT: (local $scratch_1 i64) +;; CHECK-BIN-NODEBUG-NEXT: (local $scratch_2 i32) +;; CHECK-BIN-NODEBUG-NEXT: (local $scratch_3 (tuple i32 i64)) +;; CHECK-BIN-NODEBUG-NEXT: (local $scratch_4 i32) +;; CHECK-BIN-NODEBUG-NEXT: (block $block4 +;; CHECK-BIN-NODEBUG-NEXT: (drop +;; CHECK-BIN-NODEBUG-NEXT: (block (result i32) +;; CHECK-BIN-NODEBUG-NEXT: (local.set $scratch_4 +;; CHECK-BIN-NODEBUG-NEXT: (tuple.extract 2 0 +;; CHECK-BIN-NODEBUG-NEXT: (local.tee $scratch_3 +;; CHECK-BIN-NODEBUG-NEXT: (block $block (type $1) (result i32 i64) ;; CHECK-BIN-NODEBUG-NEXT: (drop -;; CHECK-BIN-NODEBUG-NEXT: (tuple.extract 3 2 -;; CHECK-BIN-NODEBUG-NEXT: (local.get $0) +;; CHECK-BIN-NODEBUG-NEXT: (block (result i32) +;; CHECK-BIN-NODEBUG-NEXT: (local.set $scratch_2 +;; CHECK-BIN-NODEBUG-NEXT: (tuple.extract 3 0 +;; CHECK-BIN-NODEBUG-NEXT: (local.tee $scratch +;; CHECK-BIN-NODEBUG-NEXT: (block $block1 (type $2) (result i32 i64 exnref) +;; CHECK-BIN-NODEBUG-NEXT: (block $block2 +;; CHECK-BIN-NODEBUG-NEXT: (throw_ref +;; CHECK-BIN-NODEBUG-NEXT: (block $block3 (result exnref) +;; CHECK-BIN-NODEBUG-NEXT: (try_table (catch $tag$2 $block) (catch_ref $tag$2 $block1) (catch_all $block2) (catch_all_ref $block3) +;; CHECK-BIN-NODEBUG-NEXT: (call $0) +;; CHECK-BIN-NODEBUG-NEXT: (call $0) +;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (br $block4) +;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (br $block4) +;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (drop +;; CHECK-BIN-NODEBUG-NEXT: (block (result i64) +;; CHECK-BIN-NODEBUG-NEXT: (local.set $scratch_1 +;; CHECK-BIN-NODEBUG-NEXT: (tuple.extract 3 1 +;; CHECK-BIN-NODEBUG-NEXT: (local.get $scratch) +;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (drop +;; CHECK-BIN-NODEBUG-NEXT: (tuple.extract 3 2 +;; CHECK-BIN-NODEBUG-NEXT: (local.get $scratch) +;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (local.get $scratch_1) +;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (local.get $scratch_2) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (local.get $1) +;; CHECK-BIN-NODEBUG-NEXT: (br $block4) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (local.get $2) -;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (br $label$1) -;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (drop -;; CHECK-BIN-NODEBUG-NEXT: (block (result i32) -;; CHECK-BIN-NODEBUG-NEXT: (local.set $4 -;; CHECK-BIN-NODEBUG-NEXT: (tuple.extract 2 0 -;; CHECK-BIN-NODEBUG-NEXT: (local.get $3) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (drop ;; CHECK-BIN-NODEBUG-NEXT: (tuple.extract 2 1 -;; CHECK-BIN-NODEBUG-NEXT: (local.get $3) +;; CHECK-BIN-NODEBUG-NEXT: (local.get $scratch_3) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (local.get $4) +;; CHECK-BIN-NODEBUG-NEXT: (local.get $scratch_4) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $9 (type $4) (result i32) -;; CHECK-BIN-NODEBUG-NEXT: (block $label$1 (result i32) -;; CHECK-BIN-NODEBUG-NEXT: (block $label$2 (result i32) -;; CHECK-BIN-NODEBUG-NEXT: (try_table (result i32) (catch $tag$0 $label$1) -;; CHECK-BIN-NODEBUG-NEXT: (br $label$2 +;; CHECK-BIN-NODEBUG-NEXT: (block $block (result i32) +;; CHECK-BIN-NODEBUG-NEXT: (block $block1 (result i32) +;; CHECK-BIN-NODEBUG-NEXT: (try_table (result i32) (catch $tag$0 $block) +;; CHECK-BIN-NODEBUG-NEXT: (br $block1 ;; CHECK-BIN-NODEBUG-NEXT: (i32.const 0) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) @@ -1019,11 +1020,11 @@ ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $10 (type $3) (result exnref) -;; CHECK-BIN-NODEBUG-NEXT: (block $label$1 (result exnref) +;; CHECK-BIN-NODEBUG-NEXT: (block $block (result exnref) ;; CHECK-BIN-NODEBUG-NEXT: (drop -;; CHECK-BIN-NODEBUG-NEXT: (block $label$2 (result i32) -;; CHECK-BIN-NODEBUG-NEXT: (try_table (catch_all_ref $label$1) -;; CHECK-BIN-NODEBUG-NEXT: (try_table (catch $tag$0 $label$2) +;; CHECK-BIN-NODEBUG-NEXT: (block $block1 (result i32) +;; CHECK-BIN-NODEBUG-NEXT: (try_table (catch_all_ref $block) +;; CHECK-BIN-NODEBUG-NEXT: (try_table (catch $tag$0 $block1) ;; CHECK-BIN-NODEBUG-NEXT: (if ;; CHECK-BIN-NODEBUG-NEXT: (i32.const 0) ;; CHECK-BIN-NODEBUG-NEXT: (then @@ -1037,8 +1038,11 @@ ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (unreachable) ;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (unreachable) ;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (unreachable) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (ref.null noexn) diff --git a/test/lit/basic/fn_prolog_epilog.debugInfo.wast b/test/lit/basic/fn_prolog_epilog.debugInfo.wast index 636c3346e..511ea9ce8 100644 --- a/test/lit/basic/fn_prolog_epilog.debugInfo.wast +++ b/test/lit/basic/fn_prolog_epilog.debugInfo.wast @@ -45,9 +45,9 @@ ;; CHECK-BIN: (func $0 (type $0) ;; CHECK-BIN-NEXT: (nop) -;; CHECK-BIN-NEXT: (block $label$1 -;; CHECK-BIN-NEXT: (block $label$2 -;; CHECK-BIN-NEXT: (br $label$2) +;; CHECK-BIN-NEXT: (block +;; CHECK-BIN-NEXT: (block $block +;; CHECK-BIN-NEXT: (br $block) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (return) @@ -57,9 +57,9 @@ ;; CHECK-BIN-NODEBUG: (func $0 (type $0) ;; CHECK-BIN-NODEBUG-NEXT: (nop) -;; CHECK-BIN-NODEBUG-NEXT: (block $label$1 -;; CHECK-BIN-NODEBUG-NEXT: (block $label$2 -;; CHECK-BIN-NODEBUG-NEXT: (br $label$2) +;; CHECK-BIN-NODEBUG-NEXT: (block +;; CHECK-BIN-NODEBUG-NEXT: (block $block +;; CHECK-BIN-NODEBUG-NEXT: (br $block) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (return) diff --git a/test/lit/basic/min.wast b/test/lit/basic/min.wast index 44928cd83..e4de00185 100644 --- a/test/lit/basic/min.wast +++ b/test/lit/basic/min.wast @@ -76,7 +76,7 @@ ;; CHECK-BIN-NEXT: (local $n f32) ;; CHECK-BIN-NEXT: (local.tee $n ;; CHECK-BIN-NEXT: (f32.neg - ;; CHECK-BIN-NEXT: (block $label$1 (result f32) + ;; CHECK-BIN-NEXT: (block (result f32) ;; CHECK-BIN-NEXT: (i32.store ;; CHECK-BIN-NEXT: (local.get $k) ;; CHECK-BIN-NEXT: (local.get $p) @@ -127,21 +127,21 @@ ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) ;; CHECK-BIN: (func $littleswitch (type $2) (param $x i32) (result i32) - ;; CHECK-BIN-NEXT: (block $label$1 (result i32) - ;; CHECK-BIN-NEXT: (block $label$2 - ;; CHECK-BIN-NEXT: (block $label$3 - ;; CHECK-BIN-NEXT: (br_table $label$3 $label$2 $label$3 + ;; CHECK-BIN-NEXT: (block $block2 (result i32) + ;; CHECK-BIN-NEXT: (block $block1 + ;; CHECK-BIN-NEXT: (block $block + ;; CHECK-BIN-NEXT: (br_table $block $block1 $block ;; CHECK-BIN-NEXT: (i32.sub ;; CHECK-BIN-NEXT: (local.get $x) ;; CHECK-BIN-NEXT: (i32.const 1) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (br $label$1 + ;; CHECK-BIN-NEXT: (br $block2 ;; CHECK-BIN-NEXT: (i32.const 1) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (br $label$1 + ;; CHECK-BIN-NEXT: (br $block2 ;; CHECK-BIN-NEXT: (i32.const 2) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) @@ -196,7 +196,7 @@ ;; CHECK-BIN-NODEBUG-NEXT: (local $2 f32) ;; CHECK-BIN-NODEBUG-NEXT: (local.tee $2 ;; CHECK-BIN-NODEBUG-NEXT: (f32.neg -;; CHECK-BIN-NODEBUG-NEXT: (block $label$1 (result f32) +;; CHECK-BIN-NODEBUG-NEXT: (block (result f32) ;; CHECK-BIN-NODEBUG-NEXT: (i32.store ;; CHECK-BIN-NODEBUG-NEXT: (local.get $0) ;; CHECK-BIN-NODEBUG-NEXT: (local.get $1) @@ -210,21 +210,21 @@ ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $2 (type $2) (param $0 i32) (result i32) -;; CHECK-BIN-NODEBUG-NEXT: (block $label$1 (result i32) -;; CHECK-BIN-NODEBUG-NEXT: (block $label$2 -;; CHECK-BIN-NODEBUG-NEXT: (block $label$3 -;; CHECK-BIN-NODEBUG-NEXT: (br_table $label$3 $label$2 $label$3 +;; CHECK-BIN-NODEBUG-NEXT: (block $block2 (result i32) +;; CHECK-BIN-NODEBUG-NEXT: (block $block1 +;; CHECK-BIN-NODEBUG-NEXT: (block $block +;; CHECK-BIN-NODEBUG-NEXT: (br_table $block $block1 $block ;; CHECK-BIN-NODEBUG-NEXT: (i32.sub ;; CHECK-BIN-NODEBUG-NEXT: (local.get $0) ;; CHECK-BIN-NODEBUG-NEXT: (i32.const 1) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (br $label$1 +;; CHECK-BIN-NODEBUG-NEXT: (br $block2 ;; CHECK-BIN-NODEBUG-NEXT: (i32.const 1) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (br $label$1 +;; CHECK-BIN-NODEBUG-NEXT: (br $block2 ;; CHECK-BIN-NODEBUG-NEXT: (i32.const 2) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) diff --git a/test/lit/basic/polymorphic_stack.wast b/test/lit/basic/polymorphic_stack.wast index fc743bf2a..2ccaa51e7 100644 --- a/test/lit/basic/polymorphic_stack.wast +++ b/test/lit/basic/polymorphic_stack.wast @@ -47,9 +47,7 @@ ;; CHECK-BIN: (import "env" "table" (table $timport$0 9 9 funcref)) ;; CHECK-BIN: (func $break-and-binary (type $0) (result i32) - ;; CHECK-BIN-NEXT: (block $label$1 (result i32) - ;; CHECK-BIN-NEXT: (unreachable) - ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (unreachable) ;; CHECK-BIN-NEXT: ) (func $break-and-binary (result i32) (block $x (result i32) @@ -227,15 +225,13 @@ ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) ;; CHECK-BIN: (func $untaken-break-should-have-value (type $0) (result i32) - ;; CHECK-BIN-NEXT: (block $label$1 (result i32) - ;; CHECK-BIN-NEXT: (block $label$2 - ;; CHECK-BIN-NEXT: (drop - ;; CHECK-BIN-NEXT: (i32.const 0) - ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (unreachable) + ;; CHECK-BIN-NEXT: (block + ;; CHECK-BIN-NEXT: (drop + ;; CHECK-BIN-NEXT: (i32.const 0) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (unreachable) ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (unreachable) ;; CHECK-BIN-NEXT: ) (func $untaken-break-should-have-value (result i32) (block $x (result i32) @@ -275,7 +271,7 @@ ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (block $label$2 (result i32) + ;; CHECK-BIN-NEXT: (block (result i32) ;; CHECK-BIN-NEXT: (drop ;; CHECK-BIN-NEXT: (i32.const 0) ;; CHECK-BIN-NEXT: ) @@ -314,10 +310,8 @@ ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) ;; CHECK-BIN: (func $br_table_unreachable_to_also_unreachable (type $0) (result i32) - ;; CHECK-BIN-NEXT: (block $label$1 (result i32) - ;; CHECK-BIN-NEXT: (block $label$2 (result i32) - ;; CHECK-BIN-NEXT: (unreachable) - ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (block (result i32) + ;; CHECK-BIN-NEXT: (unreachable) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) (func $br_table_unreachable_to_also_unreachable (result i32) @@ -352,20 +346,19 @@ ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) ;; CHECK-BIN: (func $untaken-br_if (type $0) (result i32) - ;; CHECK-BIN-NEXT: (block $label$1 (result i32) - ;; CHECK-BIN-NEXT: (block $label$2 - ;; CHECK-BIN-NEXT: (if - ;; CHECK-BIN-NEXT: (i32.const 0) - ;; CHECK-BIN-NEXT: (then - ;; CHECK-BIN-NEXT: (unreachable) - ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (else - ;; CHECK-BIN-NEXT: (unreachable) - ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (block + ;; CHECK-BIN-NEXT: (if + ;; CHECK-BIN-NEXT: (i32.const 0) + ;; CHECK-BIN-NEXT: (then + ;; CHECK-BIN-NEXT: (unreachable) + ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (else + ;; CHECK-BIN-NEXT: (unreachable) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (unreachable) ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (unreachable) ;; CHECK-BIN-NEXT: ) (func $untaken-br_if (result i32) (block $label$8 (result i32) @@ -399,9 +392,7 @@ ;; CHECK-BIN-NODEBUG: (import "env" "table" (table $timport$0 9 9 funcref)) ;; CHECK-BIN-NODEBUG: (func $0 (type $0) (result i32) -;; CHECK-BIN-NODEBUG-NEXT: (block $label$1 (result i32) -;; CHECK-BIN-NODEBUG-NEXT: (unreachable) -;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (unreachable) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $1 (type $1) (param $0 i32) (result i32) @@ -428,15 +419,13 @@ ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $5 (type $0) (result i32) -;; CHECK-BIN-NODEBUG-NEXT: (block $label$1 (result i32) -;; CHECK-BIN-NODEBUG-NEXT: (block $label$2 -;; CHECK-BIN-NODEBUG-NEXT: (drop -;; CHECK-BIN-NODEBUG-NEXT: (i32.const 0) -;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (unreachable) +;; CHECK-BIN-NODEBUG-NEXT: (block +;; CHECK-BIN-NODEBUG-NEXT: (drop +;; CHECK-BIN-NODEBUG-NEXT: (i32.const 0) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (unreachable) ;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (unreachable) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $6 (type $1) (param $0 i32) (result i32) @@ -448,7 +437,7 @@ ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (block $label$2 (result i32) +;; CHECK-BIN-NODEBUG-NEXT: (block (result i32) ;; CHECK-BIN-NODEBUG-NEXT: (drop ;; CHECK-BIN-NODEBUG-NEXT: (i32.const 0) ;; CHECK-BIN-NODEBUG-NEXT: ) @@ -459,26 +448,23 @@ ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $7 (type $0) (result i32) -;; CHECK-BIN-NODEBUG-NEXT: (block $label$1 (result i32) -;; CHECK-BIN-NODEBUG-NEXT: (block $label$2 (result i32) -;; CHECK-BIN-NODEBUG-NEXT: (unreachable) -;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (block (result i32) +;; CHECK-BIN-NODEBUG-NEXT: (unreachable) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $8 (type $0) (result i32) -;; CHECK-BIN-NODEBUG-NEXT: (block $label$1 (result i32) -;; CHECK-BIN-NODEBUG-NEXT: (block $label$2 -;; CHECK-BIN-NODEBUG-NEXT: (if -;; CHECK-BIN-NODEBUG-NEXT: (i32.const 0) -;; CHECK-BIN-NODEBUG-NEXT: (then -;; CHECK-BIN-NODEBUG-NEXT: (unreachable) -;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (else -;; CHECK-BIN-NODEBUG-NEXT: (unreachable) -;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (block +;; CHECK-BIN-NODEBUG-NEXT: (if +;; CHECK-BIN-NODEBUG-NEXT: (i32.const 0) +;; CHECK-BIN-NODEBUG-NEXT: (then +;; CHECK-BIN-NODEBUG-NEXT: (unreachable) +;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (else +;; CHECK-BIN-NODEBUG-NEXT: (unreachable) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (unreachable) ;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (unreachable) ;; CHECK-BIN-NODEBUG-NEXT: ) diff --git a/test/lit/basic/reference-types.wast b/test/lit/basic/reference-types.wast index 22250c9a0..61497e612 100644 --- a/test/lit/basic/reference-types.wast +++ b/test/lit/basic/reference-types.wast @@ -944,25 +944,25 @@ ;; CHECK-BIN-NEXT: (i32.const 3) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (drop - ;; CHECK-BIN-NEXT: (block $label$1 (result eqref) - ;; CHECK-BIN-NEXT: (br_if $label$1 + ;; CHECK-BIN-NEXT: (block $block (result eqref) + ;; CHECK-BIN-NEXT: (br_if $block ;; CHECK-BIN-NEXT: (local.get $local_eqref) ;; CHECK-BIN-NEXT: (i32.const 1) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (drop - ;; CHECK-BIN-NEXT: (block $label$2 (result eqref) - ;; CHECK-BIN-NEXT: (br_if $label$2 + ;; CHECK-BIN-NEXT: (block $block1 (result eqref) + ;; CHECK-BIN-NEXT: (br_if $block1 ;; CHECK-BIN-NEXT: (global.get $global_eqref) ;; CHECK-BIN-NEXT: (i32.const 1) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (drop - ;; CHECK-BIN-NEXT: (block $label$3 (result eqref) + ;; CHECK-BIN-NEXT: (block $block2 (result eqref) ;; CHECK-BIN-NEXT: (ref.cast nullref - ;; CHECK-BIN-NEXT: (br_if $label$3 + ;; CHECK-BIN-NEXT: (br_if $block2 ;; CHECK-BIN-NEXT: (ref.null none) ;; CHECK-BIN-NEXT: (i32.const 1) ;; CHECK-BIN-NEXT: ) @@ -970,25 +970,25 @@ ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (drop - ;; CHECK-BIN-NEXT: (block $label$4 (result funcref) - ;; CHECK-BIN-NEXT: (br_if $label$4 + ;; CHECK-BIN-NEXT: (block $block3 (result funcref) + ;; CHECK-BIN-NEXT: (br_if $block3 ;; CHECK-BIN-NEXT: (local.get $local_funcref) ;; CHECK-BIN-NEXT: (i32.const 1) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (drop - ;; CHECK-BIN-NEXT: (block $label$5 (result funcref) - ;; CHECK-BIN-NEXT: (br_if $label$5 + ;; CHECK-BIN-NEXT: (block $block4 (result funcref) + ;; CHECK-BIN-NEXT: (br_if $block4 ;; CHECK-BIN-NEXT: (global.get $global_funcref) ;; CHECK-BIN-NEXT: (i32.const 1) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (drop - ;; CHECK-BIN-NEXT: (block $label$6 (result funcref) + ;; CHECK-BIN-NEXT: (block $block5 (result funcref) ;; CHECK-BIN-NEXT: (ref.cast nullfuncref - ;; CHECK-BIN-NEXT: (br_if $label$6 + ;; CHECK-BIN-NEXT: (br_if $block5 ;; CHECK-BIN-NEXT: (ref.null nofunc) ;; CHECK-BIN-NEXT: (i32.const 1) ;; CHECK-BIN-NEXT: ) @@ -996,9 +996,9 @@ ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (drop - ;; CHECK-BIN-NEXT: (block $label$7 (result funcref) + ;; CHECK-BIN-NEXT: (block $block6 (result funcref) ;; CHECK-BIN-NEXT: (ref.cast (ref $3) - ;; CHECK-BIN-NEXT: (br_if $label$7 + ;; CHECK-BIN-NEXT: (br_if $block6 ;; CHECK-BIN-NEXT: (ref.func $foo) ;; CHECK-BIN-NEXT: (i32.const 1) ;; CHECK-BIN-NEXT: ) @@ -1006,25 +1006,25 @@ ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (drop - ;; CHECK-BIN-NEXT: (block $label$8 (result anyref) - ;; CHECK-BIN-NEXT: (br_if $label$8 + ;; CHECK-BIN-NEXT: (block $block7 (result anyref) + ;; CHECK-BIN-NEXT: (br_if $block7 ;; CHECK-BIN-NEXT: (local.get $local_anyref) ;; CHECK-BIN-NEXT: (i32.const 1) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (drop - ;; CHECK-BIN-NEXT: (block $label$9 (result anyref) - ;; CHECK-BIN-NEXT: (br_if $label$9 + ;; CHECK-BIN-NEXT: (block $block8 (result anyref) + ;; CHECK-BIN-NEXT: (br_if $block8 ;; CHECK-BIN-NEXT: (global.get $global_anyref) ;; CHECK-BIN-NEXT: (i32.const 1) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (drop - ;; CHECK-BIN-NEXT: (block $label$10 (result anyref) + ;; CHECK-BIN-NEXT: (block $block9 (result anyref) ;; CHECK-BIN-NEXT: (ref.cast nullref - ;; CHECK-BIN-NEXT: (br_if $label$10 + ;; CHECK-BIN-NEXT: (br_if $block9 ;; CHECK-BIN-NEXT: (ref.null none) ;; CHECK-BIN-NEXT: (i32.const 1) ;; CHECK-BIN-NEXT: ) @@ -1032,9 +1032,9 @@ ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (drop - ;; CHECK-BIN-NEXT: (block $label$11 (result anyref) + ;; CHECK-BIN-NEXT: (block $block10 (result anyref) ;; CHECK-BIN-NEXT: (ref.cast eqref - ;; CHECK-BIN-NEXT: (br_if $label$11 + ;; CHECK-BIN-NEXT: (br_if $block10 ;; CHECK-BIN-NEXT: (local.get $local_eqref) ;; CHECK-BIN-NEXT: (i32.const 1) ;; CHECK-BIN-NEXT: ) @@ -1042,9 +1042,9 @@ ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (drop - ;; CHECK-BIN-NEXT: (block $label$12 (result anyref) + ;; CHECK-BIN-NEXT: (block $block11 (result anyref) ;; CHECK-BIN-NEXT: (ref.cast nullref - ;; CHECK-BIN-NEXT: (br_if $label$12 + ;; CHECK-BIN-NEXT: (br_if $block11 ;; CHECK-BIN-NEXT: (ref.null none) ;; CHECK-BIN-NEXT: (i32.const 1) ;; CHECK-BIN-NEXT: ) @@ -1052,67 +1052,67 @@ ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (drop - ;; CHECK-BIN-NEXT: (loop $label$13 (result eqref) + ;; CHECK-BIN-NEXT: (loop (result eqref) ;; CHECK-BIN-NEXT: (local.get $local_eqref) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (drop - ;; CHECK-BIN-NEXT: (loop $label$14 (result eqref) + ;; CHECK-BIN-NEXT: (loop (result eqref) ;; CHECK-BIN-NEXT: (global.get $global_eqref) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (drop - ;; CHECK-BIN-NEXT: (loop $label$15 (result eqref) + ;; CHECK-BIN-NEXT: (loop (result eqref) ;; CHECK-BIN-NEXT: (ref.null none) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (drop - ;; CHECK-BIN-NEXT: (loop $label$16 (result funcref) + ;; CHECK-BIN-NEXT: (loop (result funcref) ;; CHECK-BIN-NEXT: (local.get $local_funcref) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (drop - ;; CHECK-BIN-NEXT: (loop $label$17 (result funcref) + ;; CHECK-BIN-NEXT: (loop (result funcref) ;; CHECK-BIN-NEXT: (global.get $global_funcref) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (drop - ;; CHECK-BIN-NEXT: (loop $label$18 (result funcref) + ;; CHECK-BIN-NEXT: (loop (result funcref) ;; CHECK-BIN-NEXT: (ref.null nofunc) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (drop - ;; CHECK-BIN-NEXT: (loop $label$19 (result funcref) + ;; CHECK-BIN-NEXT: (loop (result funcref) ;; CHECK-BIN-NEXT: (ref.func $foo) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (drop - ;; CHECK-BIN-NEXT: (loop $label$20 (result anyref) + ;; CHECK-BIN-NEXT: (loop (result anyref) ;; CHECK-BIN-NEXT: (local.get $local_anyref) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (drop - ;; CHECK-BIN-NEXT: (loop $label$21 (result anyref) + ;; CHECK-BIN-NEXT: (loop (result anyref) ;; CHECK-BIN-NEXT: (global.get $global_anyref) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (drop - ;; CHECK-BIN-NEXT: (loop $label$22 (result anyref) + ;; CHECK-BIN-NEXT: (loop (result anyref) ;; CHECK-BIN-NEXT: (ref.null none) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (drop - ;; CHECK-BIN-NEXT: (loop $label$23 (result anyref) + ;; CHECK-BIN-NEXT: (loop (result anyref) ;; CHECK-BIN-NEXT: (local.get $local_eqref) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (drop - ;; CHECK-BIN-NEXT: (loop $label$24 (result anyref) + ;; CHECK-BIN-NEXT: (loop (result anyref) ;; CHECK-BIN-NEXT: (global.get $global_eqref) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (drop - ;; CHECK-BIN-NEXT: (loop $label$25 (result anyref) + ;; CHECK-BIN-NEXT: (loop (result anyref) ;; CHECK-BIN-NEXT: (ref.null none) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) @@ -1185,7 +1185,7 @@ ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (drop - ;; CHECK-BIN-NEXT: (try $label$40 (result eqref) + ;; CHECK-BIN-NEXT: (try (result eqref) ;; CHECK-BIN-NEXT: (do ;; CHECK-BIN-NEXT: (local.get $local_eqref) ;; CHECK-BIN-NEXT: ) @@ -1198,7 +1198,7 @@ ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (drop - ;; CHECK-BIN-NEXT: (try $label$43 (result funcref) + ;; CHECK-BIN-NEXT: (try (result funcref) ;; CHECK-BIN-NEXT: (do ;; CHECK-BIN-NEXT: (ref.func $foo) ;; CHECK-BIN-NEXT: ) @@ -1211,7 +1211,7 @@ ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (drop - ;; CHECK-BIN-NEXT: (try $label$46 (result anyref) + ;; CHECK-BIN-NEXT: (try (result anyref) ;; CHECK-BIN-NEXT: (do ;; CHECK-BIN-NEXT: (local.get $local_eqref) ;; CHECK-BIN-NEXT: ) @@ -1224,7 +1224,7 @@ ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (drop - ;; CHECK-BIN-NEXT: (try $label$49 (result anyref) + ;; CHECK-BIN-NEXT: (try (result anyref) ;; CHECK-BIN-NEXT: (do ;; CHECK-BIN-NEXT: (ref.null none) ;; CHECK-BIN-NEXT: ) @@ -1237,11 +1237,11 @@ ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (drop - ;; CHECK-BIN-NEXT: (block $label$50 (result eqref) + ;; CHECK-BIN-NEXT: (block $block13 (result eqref) ;; CHECK-BIN-NEXT: (drop - ;; CHECK-BIN-NEXT: (block $label$51 (result i32) - ;; CHECK-BIN-NEXT: (br $label$50 - ;; CHECK-BIN-NEXT: (try_table (result eqref) (catch $e-i32 $label$51) + ;; CHECK-BIN-NEXT: (block $block12 (result i32) + ;; CHECK-BIN-NEXT: (br $block13 + ;; CHECK-BIN-NEXT: (try_table (result eqref) (catch $e-i32 $block12) ;; CHECK-BIN-NEXT: (local.get $local_eqref) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) @@ -1251,11 +1251,11 @@ ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (drop - ;; CHECK-BIN-NEXT: (block $label$53 (result funcref) + ;; CHECK-BIN-NEXT: (block $block15 (result funcref) ;; CHECK-BIN-NEXT: (drop - ;; CHECK-BIN-NEXT: (block $label$54 (result i32) - ;; CHECK-BIN-NEXT: (br $label$53 - ;; CHECK-BIN-NEXT: (try_table (result funcref) (catch $e-i32 $label$54) + ;; CHECK-BIN-NEXT: (block $block14 (result i32) + ;; CHECK-BIN-NEXT: (br $block15 + ;; CHECK-BIN-NEXT: (try_table (result funcref) (catch $e-i32 $block14) ;; CHECK-BIN-NEXT: (ref.func $foo) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) @@ -1265,11 +1265,11 @@ ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (drop - ;; CHECK-BIN-NEXT: (block $label$56 (result anyref) + ;; CHECK-BIN-NEXT: (block $block17 (result anyref) ;; CHECK-BIN-NEXT: (drop - ;; CHECK-BIN-NEXT: (block $label$57 (result i32) - ;; CHECK-BIN-NEXT: (br $label$56 - ;; CHECK-BIN-NEXT: (try_table (result anyref) (catch $e-i32 $label$57) + ;; CHECK-BIN-NEXT: (block $block16 (result i32) + ;; CHECK-BIN-NEXT: (br $block17 + ;; CHECK-BIN-NEXT: (try_table (result anyref) (catch $e-i32 $block16) ;; CHECK-BIN-NEXT: (local.get $local_eqref) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) @@ -1279,11 +1279,11 @@ ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (drop - ;; CHECK-BIN-NEXT: (block $label$59 (result anyref) + ;; CHECK-BIN-NEXT: (block $block19 (result anyref) ;; CHECK-BIN-NEXT: (drop - ;; CHECK-BIN-NEXT: (block $label$60 (result i32) - ;; CHECK-BIN-NEXT: (br $label$59 - ;; CHECK-BIN-NEXT: (try_table (result anyref) (catch $e-i32 $label$60) + ;; CHECK-BIN-NEXT: (block $block18 (result i32) + ;; CHECK-BIN-NEXT: (br $block19 + ;; CHECK-BIN-NEXT: (try_table (result anyref) (catch $e-i32 $block18) ;; CHECK-BIN-NEXT: (ref.null none) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) @@ -2281,25 +2281,25 @@ ;; CHECK-BIN-NODEBUG-NEXT: (i32.const 3) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (drop -;; CHECK-BIN-NODEBUG-NEXT: (block $label$1 (result eqref) -;; CHECK-BIN-NODEBUG-NEXT: (br_if $label$1 +;; CHECK-BIN-NODEBUG-NEXT: (block $block (result eqref) +;; CHECK-BIN-NODEBUG-NEXT: (br_if $block ;; CHECK-BIN-NODEBUG-NEXT: (local.get $0) ;; CHECK-BIN-NODEBUG-NEXT: (i32.const 1) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (drop -;; CHECK-BIN-NODEBUG-NEXT: (block $label$2 (result eqref) -;; CHECK-BIN-NODEBUG-NEXT: (br_if $label$2 +;; CHECK-BIN-NODEBUG-NEXT: (block $block1 (result eqref) +;; CHECK-BIN-NODEBUG-NEXT: (br_if $block1 ;; CHECK-BIN-NODEBUG-NEXT: (global.get $global$0) ;; CHECK-BIN-NODEBUG-NEXT: (i32.const 1) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (drop -;; CHECK-BIN-NODEBUG-NEXT: (block $label$3 (result eqref) +;; CHECK-BIN-NODEBUG-NEXT: (block $block2 (result eqref) ;; CHECK-BIN-NODEBUG-NEXT: (ref.cast nullref -;; CHECK-BIN-NODEBUG-NEXT: (br_if $label$3 +;; CHECK-BIN-NODEBUG-NEXT: (br_if $block2 ;; CHECK-BIN-NODEBUG-NEXT: (ref.null none) ;; CHECK-BIN-NODEBUG-NEXT: (i32.const 1) ;; CHECK-BIN-NODEBUG-NEXT: ) @@ -2307,25 +2307,25 @@ ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (drop -;; CHECK-BIN-NODEBUG-NEXT: (block $label$4 (result funcref) -;; CHECK-BIN-NODEBUG-NEXT: (br_if $label$4 +;; CHECK-BIN-NODEBUG-NEXT: (block $block3 (result funcref) +;; CHECK-BIN-NODEBUG-NEXT: (br_if $block3 ;; CHECK-BIN-NODEBUG-NEXT: (local.get $1) ;; CHECK-BIN-NODEBUG-NEXT: (i32.const 1) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (drop -;; CHECK-BIN-NODEBUG-NEXT: (block $label$5 (result funcref) -;; CHECK-BIN-NODEBUG-NEXT: (br_if $label$5 +;; CHECK-BIN-NODEBUG-NEXT: (block $block4 (result funcref) +;; CHECK-BIN-NODEBUG-NEXT: (br_if $block4 ;; CHECK-BIN-NODEBUG-NEXT: (global.get $global$1) ;; CHECK-BIN-NODEBUG-NEXT: (i32.const 1) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (drop -;; CHECK-BIN-NODEBUG-NEXT: (block $label$6 (result funcref) +;; CHECK-BIN-NODEBUG-NEXT: (block $block5 (result funcref) ;; CHECK-BIN-NODEBUG-NEXT: (ref.cast nullfuncref -;; CHECK-BIN-NODEBUG-NEXT: (br_if $label$6 +;; CHECK-BIN-NODEBUG-NEXT: (br_if $block5 ;; CHECK-BIN-NODEBUG-NEXT: (ref.null nofunc) ;; CHECK-BIN-NODEBUG-NEXT: (i32.const 1) ;; CHECK-BIN-NODEBUG-NEXT: ) @@ -2333,9 +2333,9 @@ ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (drop -;; CHECK-BIN-NODEBUG-NEXT: (block $label$7 (result funcref) +;; CHECK-BIN-NODEBUG-NEXT: (block $block6 (result funcref) ;; CHECK-BIN-NODEBUG-NEXT: (ref.cast (ref $3) -;; CHECK-BIN-NODEBUG-NEXT: (br_if $label$7 +;; CHECK-BIN-NODEBUG-NEXT: (br_if $block6 ;; CHECK-BIN-NODEBUG-NEXT: (ref.func $3) ;; CHECK-BIN-NODEBUG-NEXT: (i32.const 1) ;; CHECK-BIN-NODEBUG-NEXT: ) @@ -2343,25 +2343,25 @@ ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (drop -;; CHECK-BIN-NODEBUG-NEXT: (block $label$8 (result anyref) -;; CHECK-BIN-NODEBUG-NEXT: (br_if $label$8 +;; CHECK-BIN-NODEBUG-NEXT: (block $block7 (result anyref) +;; CHECK-BIN-NODEBUG-NEXT: (br_if $block7 ;; CHECK-BIN-NODEBUG-NEXT: (local.get $2) ;; CHECK-BIN-NODEBUG-NEXT: (i32.const 1) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (drop -;; CHECK-BIN-NODEBUG-NEXT: (block $label$9 (result anyref) -;; CHECK-BIN-NODEBUG-NEXT: (br_if $label$9 +;; CHECK-BIN-NODEBUG-NEXT: (block $block8 (result anyref) +;; CHECK-BIN-NODEBUG-NEXT: (br_if $block8 ;; CHECK-BIN-NODEBUG-NEXT: (global.get $global$3) ;; CHECK-BIN-NODEBUG-NEXT: (i32.const 1) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (drop -;; CHECK-BIN-NODEBUG-NEXT: (block $label$10 (result anyref) +;; CHECK-BIN-NODEBUG-NEXT: (block $block9 (result anyref) ;; CHECK-BIN-NODEBUG-NEXT: (ref.cast nullref -;; CHECK-BIN-NODEBUG-NEXT: (br_if $label$10 +;; CHECK-BIN-NODEBUG-NEXT: (br_if $block9 ;; CHECK-BIN-NODEBUG-NEXT: (ref.null none) ;; CHECK-BIN-NODEBUG-NEXT: (i32.const 1) ;; CHECK-BIN-NODEBUG-NEXT: ) @@ -2369,9 +2369,9 @@ ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (drop -;; CHECK-BIN-NODEBUG-NEXT: (block $label$11 (result anyref) +;; CHECK-BIN-NODEBUG-NEXT: (block $block10 (result anyref) ;; CHECK-BIN-NODEBUG-NEXT: (ref.cast eqref -;; CHECK-BIN-NODEBUG-NEXT: (br_if $label$11 +;; CHECK-BIN-NODEBUG-NEXT: (br_if $block10 ;; CHECK-BIN-NODEBUG-NEXT: (local.get $0) ;; CHECK-BIN-NODEBUG-NEXT: (i32.const 1) ;; CHECK-BIN-NODEBUG-NEXT: ) @@ -2379,9 +2379,9 @@ ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (drop -;; CHECK-BIN-NODEBUG-NEXT: (block $label$12 (result anyref) +;; CHECK-BIN-NODEBUG-NEXT: (block $block11 (result anyref) ;; CHECK-BIN-NODEBUG-NEXT: (ref.cast nullref -;; CHECK-BIN-NODEBUG-NEXT: (br_if $label$12 +;; CHECK-BIN-NODEBUG-NEXT: (br_if $block11 ;; CHECK-BIN-NODEBUG-NEXT: (ref.null none) ;; CHECK-BIN-NODEBUG-NEXT: (i32.const 1) ;; CHECK-BIN-NODEBUG-NEXT: ) @@ -2389,67 +2389,67 @@ ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (drop -;; CHECK-BIN-NODEBUG-NEXT: (loop $label$13 (result eqref) +;; CHECK-BIN-NODEBUG-NEXT: (loop (result eqref) ;; CHECK-BIN-NODEBUG-NEXT: (local.get $0) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (drop -;; CHECK-BIN-NODEBUG-NEXT: (loop $label$14 (result eqref) +;; CHECK-BIN-NODEBUG-NEXT: (loop (result eqref) ;; CHECK-BIN-NODEBUG-NEXT: (global.get $global$0) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (drop -;; CHECK-BIN-NODEBUG-NEXT: (loop $label$15 (result eqref) +;; CHECK-BIN-NODEBUG-NEXT: (loop (result eqref) ;; CHECK-BIN-NODEBUG-NEXT: (ref.null none) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (drop -;; CHECK-BIN-NODEBUG-NEXT: (loop $label$16 (result funcref) +;; CHECK-BIN-NODEBUG-NEXT: (loop (result funcref) ;; CHECK-BIN-NODEBUG-NEXT: (local.get $1) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (drop -;; CHECK-BIN-NODEBUG-NEXT: (loop $label$17 (result funcref) +;; CHECK-BIN-NODEBUG-NEXT: (loop (result funcref) ;; CHECK-BIN-NODEBUG-NEXT: (global.get $global$1) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (drop -;; CHECK-BIN-NODEBUG-NEXT: (loop $label$18 (result funcref) +;; CHECK-BIN-NODEBUG-NEXT: (loop (result funcref) ;; CHECK-BIN-NODEBUG-NEXT: (ref.null nofunc) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (drop -;; CHECK-BIN-NODEBUG-NEXT: (loop $label$19 (result funcref) +;; CHECK-BIN-NODEBUG-NEXT: (loop (result funcref) ;; CHECK-BIN-NODEBUG-NEXT: (ref.func $3) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (drop -;; CHECK-BIN-NODEBUG-NEXT: (loop $label$20 (result anyref) +;; CHECK-BIN-NODEBUG-NEXT: (loop (result anyref) ;; CHECK-BIN-NODEBUG-NEXT: (local.get $2) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (drop -;; CHECK-BIN-NODEBUG-NEXT: (loop $label$21 (result anyref) +;; CHECK-BIN-NODEBUG-NEXT: (loop (result anyref) ;; CHECK-BIN-NODEBUG-NEXT: (global.get $global$3) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (drop -;; CHECK-BIN-NODEBUG-NEXT: (loop $label$22 (result anyref) +;; CHECK-BIN-NODEBUG-NEXT: (loop (result anyref) ;; CHECK-BIN-NODEBUG-NEXT: (ref.null none) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (drop -;; CHECK-BIN-NODEBUG-NEXT: (loop $label$23 (result anyref) +;; CHECK-BIN-NODEBUG-NEXT: (loop (result anyref) ;; CHECK-BIN-NODEBUG-NEXT: (local.get $0) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (drop -;; CHECK-BIN-NODEBUG-NEXT: (loop $label$24 (result anyref) +;; CHECK-BIN-NODEBUG-NEXT: (loop (result anyref) ;; CHECK-BIN-NODEBUG-NEXT: (global.get $global$0) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (drop -;; CHECK-BIN-NODEBUG-NEXT: (loop $label$25 (result anyref) +;; CHECK-BIN-NODEBUG-NEXT: (loop (result anyref) ;; CHECK-BIN-NODEBUG-NEXT: (ref.null none) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) @@ -2522,7 +2522,7 @@ ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (drop -;; CHECK-BIN-NODEBUG-NEXT: (try $label$40 (result eqref) +;; CHECK-BIN-NODEBUG-NEXT: (try (result eqref) ;; CHECK-BIN-NODEBUG-NEXT: (do ;; CHECK-BIN-NODEBUG-NEXT: (local.get $0) ;; CHECK-BIN-NODEBUG-NEXT: ) @@ -2535,7 +2535,7 @@ ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (drop -;; CHECK-BIN-NODEBUG-NEXT: (try $label$43 (result funcref) +;; CHECK-BIN-NODEBUG-NEXT: (try (result funcref) ;; CHECK-BIN-NODEBUG-NEXT: (do ;; CHECK-BIN-NODEBUG-NEXT: (ref.func $3) ;; CHECK-BIN-NODEBUG-NEXT: ) @@ -2548,7 +2548,7 @@ ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (drop -;; CHECK-BIN-NODEBUG-NEXT: (try $label$46 (result anyref) +;; CHECK-BIN-NODEBUG-NEXT: (try (result anyref) ;; CHECK-BIN-NODEBUG-NEXT: (do ;; CHECK-BIN-NODEBUG-NEXT: (local.get $0) ;; CHECK-BIN-NODEBUG-NEXT: ) @@ -2561,7 +2561,7 @@ ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (drop -;; CHECK-BIN-NODEBUG-NEXT: (try $label$49 (result anyref) +;; CHECK-BIN-NODEBUG-NEXT: (try (result anyref) ;; CHECK-BIN-NODEBUG-NEXT: (do ;; CHECK-BIN-NODEBUG-NEXT: (ref.null none) ;; CHECK-BIN-NODEBUG-NEXT: ) @@ -2574,11 +2574,11 @@ ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (drop -;; CHECK-BIN-NODEBUG-NEXT: (block $label$50 (result eqref) +;; CHECK-BIN-NODEBUG-NEXT: (block $block13 (result eqref) ;; CHECK-BIN-NODEBUG-NEXT: (drop -;; CHECK-BIN-NODEBUG-NEXT: (block $label$51 (result i32) -;; CHECK-BIN-NODEBUG-NEXT: (br $label$50 -;; CHECK-BIN-NODEBUG-NEXT: (try_table (result eqref) (catch $tag$0 $label$51) +;; CHECK-BIN-NODEBUG-NEXT: (block $block12 (result i32) +;; CHECK-BIN-NODEBUG-NEXT: (br $block13 +;; CHECK-BIN-NODEBUG-NEXT: (try_table (result eqref) (catch $tag$0 $block12) ;; CHECK-BIN-NODEBUG-NEXT: (local.get $0) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) @@ -2588,11 +2588,11 @@ ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (drop -;; CHECK-BIN-NODEBUG-NEXT: (block $label$53 (result funcref) +;; CHECK-BIN-NODEBUG-NEXT: (block $block15 (result funcref) ;; CHECK-BIN-NODEBUG-NEXT: (drop -;; CHECK-BIN-NODEBUG-NEXT: (block $label$54 (result i32) -;; CHECK-BIN-NODEBUG-NEXT: (br $label$53 -;; CHECK-BIN-NODEBUG-NEXT: (try_table (result funcref) (catch $tag$0 $label$54) +;; CHECK-BIN-NODEBUG-NEXT: (block $block14 (result i32) +;; CHECK-BIN-NODEBUG-NEXT: (br $block15 +;; CHECK-BIN-NODEBUG-NEXT: (try_table (result funcref) (catch $tag$0 $block14) ;; CHECK-BIN-NODEBUG-NEXT: (ref.func $3) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) @@ -2602,11 +2602,11 @@ ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (drop -;; CHECK-BIN-NODEBUG-NEXT: (block $label$56 (result anyref) +;; CHECK-BIN-NODEBUG-NEXT: (block $block17 (result anyref) ;; CHECK-BIN-NODEBUG-NEXT: (drop -;; CHECK-BIN-NODEBUG-NEXT: (block $label$57 (result i32) -;; CHECK-BIN-NODEBUG-NEXT: (br $label$56 -;; CHECK-BIN-NODEBUG-NEXT: (try_table (result anyref) (catch $tag$0 $label$57) +;; CHECK-BIN-NODEBUG-NEXT: (block $block16 (result i32) +;; CHECK-BIN-NODEBUG-NEXT: (br $block17 +;; CHECK-BIN-NODEBUG-NEXT: (try_table (result anyref) (catch $tag$0 $block16) ;; CHECK-BIN-NODEBUG-NEXT: (local.get $0) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) @@ -2616,11 +2616,11 @@ ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (drop -;; CHECK-BIN-NODEBUG-NEXT: (block $label$59 (result anyref) +;; CHECK-BIN-NODEBUG-NEXT: (block $block19 (result anyref) ;; CHECK-BIN-NODEBUG-NEXT: (drop -;; CHECK-BIN-NODEBUG-NEXT: (block $label$60 (result i32) -;; CHECK-BIN-NODEBUG-NEXT: (br $label$59 -;; CHECK-BIN-NODEBUG-NEXT: (try_table (result anyref) (catch $tag$0 $label$60) +;; CHECK-BIN-NODEBUG-NEXT: (block $block18 (result i32) +;; CHECK-BIN-NODEBUG-NEXT: (br $block19 +;; CHECK-BIN-NODEBUG-NEXT: (try_table (result anyref) (catch $tag$0 $block18) ;; CHECK-BIN-NODEBUG-NEXT: (ref.null none) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) diff --git a/test/lit/basic/reg_switch.wast b/test/lit/basic/reg_switch.wast index db7494511..a1d00e8aa 100644 --- a/test/lit/basic/reg_switch.wast +++ b/test/lit/basic/reg_switch.wast @@ -35,8 +35,8 @@ ;; CHECK-BIN-NEXT: (if ;; CHECK-BIN-NEXT: (i32.const 0) ;; CHECK-BIN-NEXT: (then - ;; CHECK-BIN-NEXT: (block $label$2 - ;; CHECK-BIN-NEXT: (br_table $label$2 + ;; CHECK-BIN-NEXT: (block $block + ;; CHECK-BIN-NEXT: (br_table $block ;; CHECK-BIN-NEXT: (i32.const 0) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) @@ -47,8 +47,8 @@ ;; CHECK-BIN-NODEBUG-NEXT: (if ;; CHECK-BIN-NODEBUG-NEXT: (i32.const 0) ;; CHECK-BIN-NODEBUG-NEXT: (then - ;; CHECK-BIN-NODEBUG-NEXT: (block $label$2 - ;; CHECK-BIN-NODEBUG-NEXT: (br_table $label$2 + ;; CHECK-BIN-NODEBUG-NEXT: (block $block + ;; CHECK-BIN-NODEBUG-NEXT: (br_table $block ;; CHECK-BIN-NODEBUG-NEXT: (i32.const 0) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) diff --git a/test/lit/basic/typed_continuations_resume.wast b/test/lit/basic/typed_continuations_resume.wast index 5cd2277d3..07afb9388 100644 --- a/test/lit/basic/typed_continuations_resume.wast +++ b/test/lit/basic/typed_continuations_resume.wast @@ -61,31 +61,28 @@ ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) ;; CHECK-BIN: (func $go (type $3) (param $x (ref $ct)) (result i32) - ;; CHECK-BIN-NEXT: (local $1 (tuple i32 (ref $ct))) - ;; CHECK-BIN-NEXT: (local $2 i32) - ;; CHECK-BIN-NEXT: (local.set $1 - ;; CHECK-BIN-NEXT: (block $label$1 (type $2) (result i32 (ref $ct)) - ;; CHECK-BIN-NEXT: (return - ;; CHECK-BIN-NEXT: (resume $ct (on $t $label$1) - ;; CHECK-BIN-NEXT: (i32.const 123) - ;; CHECK-BIN-NEXT: (local.get $x) + ;; CHECK-BIN-NEXT: (local $scratch (tuple i32 (ref $ct))) + ;; CHECK-BIN-NEXT: (local $scratch_2 i32) + ;; CHECK-BIN-NEXT: (local.set $scratch_2 + ;; CHECK-BIN-NEXT: (tuple.extract 2 0 + ;; CHECK-BIN-NEXT: (local.tee $scratch + ;; CHECK-BIN-NEXT: (block $block (type $2) (result i32 (ref $ct)) + ;; CHECK-BIN-NEXT: (return + ;; CHECK-BIN-NEXT: (resume $ct (on $t $block) + ;; CHECK-BIN-NEXT: (i32.const 123) + ;; CHECK-BIN-NEXT: (local.get $x) + ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (block (result i32) - ;; CHECK-BIN-NEXT: (local.set $2 - ;; CHECK-BIN-NEXT: (tuple.extract 2 0 - ;; CHECK-BIN-NEXT: (local.get $1) - ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (drop - ;; CHECK-BIN-NEXT: (tuple.extract 2 1 - ;; CHECK-BIN-NEXT: (local.get $1) - ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (drop + ;; CHECK-BIN-NEXT: (tuple.extract 2 1 + ;; CHECK-BIN-NEXT: (local.get $scratch) ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (local.get $2) ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (local.get $scratch_2) ;; CHECK-BIN-NEXT: ) (func $go (param $x (ref $ct)) (result i32) (tuple.extract 2 0 @@ -135,29 +132,26 @@ ;; CHECK-BIN-NODEBUG: (tag $tag$0 (param i32) (result i32)) ;; CHECK-BIN-NODEBUG: (func $0 (type $3) (param $0 (ref $1)) (result i32) -;; CHECK-BIN-NODEBUG-NEXT: (local $1 (tuple i32 (ref $1))) -;; CHECK-BIN-NODEBUG-NEXT: (local $2 i32) -;; CHECK-BIN-NODEBUG-NEXT: (local.set $1 -;; CHECK-BIN-NODEBUG-NEXT: (block $label$1 (type $2) (result i32 (ref $1)) -;; CHECK-BIN-NODEBUG-NEXT: (return -;; CHECK-BIN-NODEBUG-NEXT: (resume $1 (on $tag$0 $label$1) -;; CHECK-BIN-NODEBUG-NEXT: (i32.const 123) -;; CHECK-BIN-NODEBUG-NEXT: (local.get $0) +;; CHECK-BIN-NODEBUG-NEXT: (local $scratch (tuple i32 (ref $1))) +;; CHECK-BIN-NODEBUG-NEXT: (local $scratch_2 i32) +;; CHECK-BIN-NODEBUG-NEXT: (local.set $scratch_2 +;; CHECK-BIN-NODEBUG-NEXT: (tuple.extract 2 0 +;; CHECK-BIN-NODEBUG-NEXT: (local.tee $scratch +;; CHECK-BIN-NODEBUG-NEXT: (block $block (type $2) (result i32 (ref $1)) +;; CHECK-BIN-NODEBUG-NEXT: (return +;; CHECK-BIN-NODEBUG-NEXT: (resume $1 (on $tag$0 $block) +;; CHECK-BIN-NODEBUG-NEXT: (i32.const 123) +;; CHECK-BIN-NODEBUG-NEXT: (local.get $0) +;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (block (result i32) -;; CHECK-BIN-NODEBUG-NEXT: (local.set $2 -;; CHECK-BIN-NODEBUG-NEXT: (tuple.extract 2 0 -;; CHECK-BIN-NODEBUG-NEXT: (local.get $1) -;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (drop -;; CHECK-BIN-NODEBUG-NEXT: (tuple.extract 2 1 -;; CHECK-BIN-NODEBUG-NEXT: (local.get $1) -;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (drop +;; CHECK-BIN-NODEBUG-NEXT: (tuple.extract 2 1 +;; CHECK-BIN-NODEBUG-NEXT: (local.get $scratch) ;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (local.get $2) ;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (local.get $scratch_2) ;; CHECK-BIN-NODEBUG-NEXT: ) diff --git a/test/lit/basic/types-function-references.wast b/test/lit/basic/types-function-references.wast index 9500fa4c9..8997e1a3a 100644 --- a/test/lit/basic/types-function-references.wast +++ b/test/lit/basic/types-function-references.wast @@ -192,37 +192,36 @@ ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) ;; CHECK-BIN: (func $type-only-in-tuple-block (type $void) - ;; CHECK-BIN-NEXT: (local $0 (tuple i32 (ref null $mixed_results) f64)) - ;; CHECK-BIN-NEXT: (local $1 (ref null $mixed_results)) - ;; CHECK-BIN-NEXT: (local $2 i32) - ;; CHECK-BIN-NEXT: (local.set $0 - ;; CHECK-BIN-NEXT: (block $label$1 (type $3) (result i32 (ref null $mixed_results) f64) - ;; CHECK-BIN-NEXT: (unreachable) - ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (local $scratch (tuple i32 (ref null $mixed_results) f64)) + ;; CHECK-BIN-NEXT: (local $scratch_1 (ref null $mixed_results)) + ;; CHECK-BIN-NEXT: (local $scratch_2 i32) ;; CHECK-BIN-NEXT: (drop ;; CHECK-BIN-NEXT: (block (result i32) - ;; CHECK-BIN-NEXT: (local.set $2 + ;; CHECK-BIN-NEXT: (local.set $scratch_2 ;; CHECK-BIN-NEXT: (tuple.extract 3 0 - ;; CHECK-BIN-NEXT: (local.get $0) + ;; CHECK-BIN-NEXT: (local.tee $scratch + ;; CHECK-BIN-NEXT: (block (type $3) (result i32 (ref null $mixed_results) f64) + ;; CHECK-BIN-NEXT: (unreachable) + ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (drop ;; CHECK-BIN-NEXT: (block (result (ref null $mixed_results)) - ;; CHECK-BIN-NEXT: (local.set $1 + ;; CHECK-BIN-NEXT: (local.set $scratch_1 ;; CHECK-BIN-NEXT: (tuple.extract 3 1 - ;; CHECK-BIN-NEXT: (local.get $0) + ;; CHECK-BIN-NEXT: (local.get $scratch) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (drop ;; CHECK-BIN-NEXT: (tuple.extract 3 2 - ;; CHECK-BIN-NEXT: (local.get $0) + ;; CHECK-BIN-NEXT: (local.get $scratch) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (local.get $1) + ;; CHECK-BIN-NEXT: (local.get $scratch_1) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (local.get $2) + ;; CHECK-BIN-NEXT: (local.get $scratch_2) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) @@ -423,37 +422,36 @@ ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $8 (type $2) -;; CHECK-BIN-NODEBUG-NEXT: (local $0 (tuple i32 (ref null $0) f64)) -;; CHECK-BIN-NODEBUG-NEXT: (local $1 (ref null $0)) -;; CHECK-BIN-NODEBUG-NEXT: (local $2 i32) -;; CHECK-BIN-NODEBUG-NEXT: (local.set $0 -;; CHECK-BIN-NODEBUG-NEXT: (block $label$1 (type $3) (result i32 (ref null $0) f64) -;; CHECK-BIN-NODEBUG-NEXT: (unreachable) -;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (local $scratch (tuple i32 (ref null $0) f64)) +;; CHECK-BIN-NODEBUG-NEXT: (local $scratch_1 (ref null $0)) +;; CHECK-BIN-NODEBUG-NEXT: (local $scratch_2 i32) ;; CHECK-BIN-NODEBUG-NEXT: (drop ;; CHECK-BIN-NODEBUG-NEXT: (block (result i32) -;; CHECK-BIN-NODEBUG-NEXT: (local.set $2 +;; CHECK-BIN-NODEBUG-NEXT: (local.set $scratch_2 ;; CHECK-BIN-NODEBUG-NEXT: (tuple.extract 3 0 -;; CHECK-BIN-NODEBUG-NEXT: (local.get $0) +;; CHECK-BIN-NODEBUG-NEXT: (local.tee $scratch +;; CHECK-BIN-NODEBUG-NEXT: (block (type $3) (result i32 (ref null $0) f64) +;; CHECK-BIN-NODEBUG-NEXT: (unreachable) +;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (drop ;; CHECK-BIN-NODEBUG-NEXT: (block (result (ref null $0)) -;; CHECK-BIN-NODEBUG-NEXT: (local.set $1 +;; CHECK-BIN-NODEBUG-NEXT: (local.set $scratch_1 ;; CHECK-BIN-NODEBUG-NEXT: (tuple.extract 3 1 -;; CHECK-BIN-NODEBUG-NEXT: (local.get $0) +;; CHECK-BIN-NODEBUG-NEXT: (local.get $scratch) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (drop ;; CHECK-BIN-NODEBUG-NEXT: (tuple.extract 3 2 -;; CHECK-BIN-NODEBUG-NEXT: (local.get $0) +;; CHECK-BIN-NODEBUG-NEXT: (local.get $scratch) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (local.get $1) +;; CHECK-BIN-NODEBUG-NEXT: (local.get $scratch_1) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (local.get $2) +;; CHECK-BIN-NODEBUG-NEXT: (local.get $scratch_2) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) diff --git a/test/lit/basic/unit.wat b/test/lit/basic/unit.wat index 5846febd5..43901e3bc 100644 --- a/test/lit/basic/unit.wat +++ b/test/lit/basic/unit.wat @@ -215,7 +215,7 @@ ;; CHECK-TEXT-NEXT: ) ;; CHECK-BIN: (func $importedDoubles (type $4) (result f64) ;; CHECK-BIN-NEXT: (local $temp f64) - ;; CHECK-BIN-NEXT: (block $label$1 (result f64) + ;; CHECK-BIN-NEXT: (block $block (result f64) ;; CHECK-BIN-NEXT: (local.set $temp ;; CHECK-BIN-NEXT: (f64.add ;; CHECK-BIN-NEXT: (f64.add @@ -248,7 +248,7 @@ ;; CHECK-BIN-NEXT: (i32.const 0) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (then - ;; CHECK-BIN-NEXT: (br $label$1 + ;; CHECK-BIN-NEXT: (br $block ;; CHECK-BIN-NEXT: (f64.const -3.4) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) @@ -261,7 +261,7 @@ ;; CHECK-BIN-NEXT: (f64.const 0) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (then - ;; CHECK-BIN-NEXT: (br $label$1 + ;; CHECK-BIN-NEXT: (br $block ;; CHECK-BIN-NEXT: (f64.const 5.6) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) @@ -381,14 +381,14 @@ ;; CHECK-BIN-NEXT: (local $t f64) ;; CHECK-BIN-NEXT: (local $Int f64) ;; CHECK-BIN-NEXT: (local $Double i32) - ;; CHECK-BIN-NEXT: (block $label$1 (result f64) + ;; CHECK-BIN-NEXT: (block $block (result f64) ;; CHECK-BIN-NEXT: (if ;; CHECK-BIN-NEXT: (f64.gt ;; CHECK-BIN-NEXT: (local.get $x) ;; CHECK-BIN-NEXT: (f64.const 0) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (then - ;; CHECK-BIN-NEXT: (br $label$1 + ;; CHECK-BIN-NEXT: (br $block ;; CHECK-BIN-NEXT: (f64.const 1.2) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) @@ -399,7 +399,7 @@ ;; CHECK-BIN-NEXT: (f64.const 0) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (then - ;; CHECK-BIN-NEXT: (br $label$1 + ;; CHECK-BIN-NEXT: (br $block ;; CHECK-BIN-NEXT: (f64.const -3.4) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) @@ -410,7 +410,7 @@ ;; CHECK-BIN-NEXT: (i32.const 0) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (then - ;; CHECK-BIN-NEXT: (br $label$1 + ;; CHECK-BIN-NEXT: (br $block ;; CHECK-BIN-NEXT: (f64.const 5.6) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) @@ -421,7 +421,7 @@ ;; CHECK-BIN-NEXT: (local.get $y) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (then - ;; CHECK-BIN-NEXT: (br $label$1 + ;; CHECK-BIN-NEXT: (br $block ;; CHECK-BIN-NEXT: (local.get $x) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) @@ -628,13 +628,13 @@ ;; CHECK-BIN-NEXT: (local $J f64) ;; CHECK-BIN-NEXT: (local.set $J ;; CHECK-BIN-NEXT: (f64.sub - ;; CHECK-BIN-NEXT: (block $label$1 (result f64) + ;; CHECK-BIN-NEXT: (block (result f64) ;; CHECK-BIN-NEXT: (drop ;; CHECK-BIN-NEXT: (f64.const 0.1) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (f64.const 5.1) ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (block $label$2 (result f64) + ;; CHECK-BIN-NEXT: (block (result f64) ;; CHECK-BIN-NEXT: (drop ;; CHECK-BIN-NEXT: (f64.const 3.2) ;; CHECK-BIN-NEXT: ) @@ -749,77 +749,80 @@ ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) ;; CHECK-BIN: (func $switcher (type $6) (param $x i32) (result i32) - ;; CHECK-BIN-NEXT: (block $label$1 (result i32) - ;; CHECK-BIN-NEXT: (block $label$2 - ;; CHECK-BIN-NEXT: (block $label$3 - ;; CHECK-BIN-NEXT: (block $label$4 - ;; CHECK-BIN-NEXT: (block $label$5 - ;; CHECK-BIN-NEXT: (br_table $label$5 $label$4 $label$3 + ;; CHECK-BIN-NEXT: (block $block3 (result i32) + ;; CHECK-BIN-NEXT: (block + ;; CHECK-BIN-NEXT: (block $block2 + ;; CHECK-BIN-NEXT: (block $block1 + ;; CHECK-BIN-NEXT: (block $block + ;; CHECK-BIN-NEXT: (br_table $block $block1 $block2 ;; CHECK-BIN-NEXT: (i32.sub ;; CHECK-BIN-NEXT: (local.get $x) ;; CHECK-BIN-NEXT: (i32.const 1) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (br $label$1 + ;; CHECK-BIN-NEXT: (br $block3 ;; CHECK-BIN-NEXT: (i32.const 1) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (br $label$1 + ;; CHECK-BIN-NEXT: (br $block3 ;; CHECK-BIN-NEXT: (i32.const 2) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (nop) ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (block $label$6 - ;; CHECK-BIN-NEXT: (block $label$7 - ;; CHECK-BIN-NEXT: (block $label$8 - ;; CHECK-BIN-NEXT: (block $label$9 - ;; CHECK-BIN-NEXT: (br_table $label$8 $label$7 $label$7 $label$7 $label$7 $label$7 $label$7 $label$9 $label$7 + ;; CHECK-BIN-NEXT: (block + ;; CHECK-BIN-NEXT: (block $block5 + ;; CHECK-BIN-NEXT: (block $block4 + ;; CHECK-BIN-NEXT: (block $block6 + ;; CHECK-BIN-NEXT: (br_table $block4 $block5 $block5 $block5 $block5 $block5 $block5 $block6 $block5 ;; CHECK-BIN-NEXT: (i32.sub ;; CHECK-BIN-NEXT: (local.get $x) ;; CHECK-BIN-NEXT: (i32.const 5) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (br $label$1 + ;; CHECK-BIN-NEXT: (br $block3 ;; CHECK-BIN-NEXT: (i32.const 121) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (br $label$1 + ;; CHECK-BIN-NEXT: (br $block3 ;; CHECK-BIN-NEXT: (i32.const 51) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (nop) ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (block $label$10 - ;; CHECK-BIN-NEXT: (block $label$11 - ;; CHECK-BIN-NEXT: (block $label$12 - ;; CHECK-BIN-NEXT: (block $label$13 - ;; CHECK-BIN-NEXT: (block $label$14 - ;; CHECK-BIN-NEXT: (block $label$15 - ;; CHECK-BIN-NEXT: (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 + ;; CHECK-BIN-NEXT: (block $block12 + ;; CHECK-BIN-NEXT: (block $block8 + ;; CHECK-BIN-NEXT: (block $block7 + ;; CHECK-BIN-NEXT: (block $block9 + ;; CHECK-BIN-NEXT: (block $block10 + ;; CHECK-BIN-NEXT: (block $block11 + ;; CHECK-BIN-NEXT: (br_table $block7 $block8 $block8 $block9 $block8 $block8 $block8 $block8 $block10 $block8 $block11 $block8 ;; CHECK-BIN-NEXT: (i32.sub ;; CHECK-BIN-NEXT: (local.get $x) ;; CHECK-BIN-NEXT: (i32.const 2) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (br $label$10) + ;; CHECK-BIN-NEXT: (br $block12) ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (br $label$10) + ;; CHECK-BIN-NEXT: (br $block12) ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (block $label$16 - ;; CHECK-BIN-NEXT: (loop $label$17 - ;; CHECK-BIN-NEXT: (br $label$16) + ;; CHECK-BIN-NEXT: (block $block13 + ;; CHECK-BIN-NEXT: (loop + ;; CHECK-BIN-NEXT: (br $block13) ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (unreachable) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (block $label$18 - ;; CHECK-BIN-NEXT: (loop $label$19 - ;; CHECK-BIN-NEXT: (br $label$10) + ;; CHECK-BIN-NEXT: (block + ;; CHECK-BIN-NEXT: (loop + ;; CHECK-BIN-NEXT: (br $block12) ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (unreachable) ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (unreachable) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (nop) ;; CHECK-BIN-NEXT: ) @@ -918,8 +921,8 @@ ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) ;; CHECK-BIN: (func $blocker (type $FUNCSIG$v) - ;; CHECK-BIN-NEXT: (block $label$1 - ;; CHECK-BIN-NEXT: (br $label$1) + ;; CHECK-BIN-NEXT: (block $block + ;; CHECK-BIN-NEXT: (br $block) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) (func $blocker (type $FUNCSIG$v) @@ -1115,7 +1118,7 @@ ;; CHECK-BIN-NEXT: (local $y f64) ;; CHECK-BIN-NEXT: (local $z f32) ;; CHECK-BIN-NEXT: (local.set $x - ;; CHECK-BIN-NEXT: (block $label$1 (result i32) + ;; CHECK-BIN-NEXT: (block (result i32) ;; CHECK-BIN-NEXT: (local.set $asm2wasm_i32_temp ;; CHECK-BIN-NEXT: (i32.const 0) ;; CHECK-BIN-NEXT: ) @@ -1337,11 +1340,11 @@ ;; CHECK-TEXT-NEXT: (i32.const 0) ;; CHECK-TEXT-NEXT: ) ;; CHECK-BIN: (func $block_and_after (type $5) (result i32) - ;; CHECK-BIN-NEXT: (block $label$1 + ;; CHECK-BIN-NEXT: (block $block ;; CHECK-BIN-NEXT: (drop ;; CHECK-BIN-NEXT: (i32.const 1) ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (br $label$1) + ;; CHECK-BIN-NEXT: (br $block) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (i32.const 0) ;; CHECK-BIN-NEXT: ) @@ -1363,7 +1366,7 @@ ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) ;; CHECK-BIN: (func $loop-roundtrip (type $7) (param $0 f64) (result f64) - ;; CHECK-BIN-NEXT: (loop $label$1 (result f64) + ;; CHECK-BIN-NEXT: (loop (result f64) ;; CHECK-BIN-NEXT: (drop ;; CHECK-BIN-NEXT: (local.get $0) ;; CHECK-BIN-NEXT: ) @@ -1514,11 +1517,11 @@ ;; CHECK-TEXT-NEXT: (i32.const 1) ;; CHECK-TEXT-NEXT: ) ;; CHECK-BIN: (func $unreachable-block-with-br (type $5) (result i32) - ;; CHECK-BIN-NEXT: (block $label$1 + ;; CHECK-BIN-NEXT: (block $block ;; CHECK-BIN-NEXT: (drop ;; CHECK-BIN-NEXT: (i32.const 1) ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (br $label$1) + ;; CHECK-BIN-NEXT: (br $block) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (i32.const 1) ;; CHECK-BIN-NEXT: ) @@ -1560,6 +1563,7 @@ ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (unreachable) ;; CHECK-BIN-NEXT: ) (func $unreachable-if (result i32) (f64.abs @@ -1603,6 +1607,7 @@ ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (unreachable) ;; CHECK-BIN-NEXT: ) (func $unreachable-if-toplevel (result i32) (if ;; note no type - valid in binaryen IR, in wasm must be i32 @@ -1626,12 +1631,13 @@ ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) ;; CHECK-BIN: (func $unreachable-loop (type $5) (result i32) - ;; CHECK-BIN-NEXT: (loop $label$1 + ;; CHECK-BIN-NEXT: (loop ;; CHECK-BIN-NEXT: (nop) ;; CHECK-BIN-NEXT: (return ;; CHECK-BIN-NEXT: (i32.const 1) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (unreachable) ;; CHECK-BIN-NEXT: ) (func $unreachable-loop (result i32) (f64.abs @@ -1651,11 +1657,12 @@ ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) ;; CHECK-BIN: (func $unreachable-loop0 (type $5) (result i32) - ;; CHECK-BIN-NEXT: (loop $label$1 + ;; CHECK-BIN-NEXT: (loop ;; CHECK-BIN-NEXT: (return ;; CHECK-BIN-NEXT: (i32.const 1) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (unreachable) ;; CHECK-BIN-NEXT: ) (func $unreachable-loop0 (result i32) (f64.abs @@ -1673,12 +1680,13 @@ ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) ;; CHECK-BIN: (func $unreachable-loop-toplevel (type $5) (result i32) - ;; CHECK-BIN-NEXT: (loop $label$1 + ;; CHECK-BIN-NEXT: (loop ;; CHECK-BIN-NEXT: (nop) ;; CHECK-BIN-NEXT: (return ;; CHECK-BIN-NEXT: (i32.const 1) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (unreachable) ;; CHECK-BIN-NEXT: ) (func $unreachable-loop-toplevel (result i32) (loop ;; note no type - valid in binaryen IR, in wasm must be i32 @@ -1694,11 +1702,12 @@ ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) ;; CHECK-BIN: (func $unreachable-loop0-toplevel (type $5) (result i32) - ;; CHECK-BIN-NEXT: (loop $label$1 + ;; CHECK-BIN-NEXT: (loop ;; CHECK-BIN-NEXT: (return ;; CHECK-BIN-NEXT: (i32.const 1) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (unreachable) ;; CHECK-BIN-NEXT: ) (func $unreachable-loop0-toplevel (result i32) (loop ;; note no type - valid in binaryen IR, in wasm must be i32 @@ -1870,7 +1879,7 @@ ;; CHECK-BIN-NODEBUG: (func $1 (type $3) (result f64) ;; CHECK-BIN-NODEBUG-NEXT: (local $0 f64) -;; CHECK-BIN-NODEBUG-NEXT: (block $label$1 (result f64) +;; CHECK-BIN-NODEBUG-NEXT: (block $block (result f64) ;; CHECK-BIN-NODEBUG-NEXT: (local.set $0 ;; CHECK-BIN-NODEBUG-NEXT: (f64.add ;; CHECK-BIN-NODEBUG-NEXT: (f64.add @@ -1903,7 +1912,7 @@ ;; CHECK-BIN-NODEBUG-NEXT: (i32.const 0) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (then -;; CHECK-BIN-NODEBUG-NEXT: (br $label$1 +;; CHECK-BIN-NODEBUG-NEXT: (br $block ;; CHECK-BIN-NODEBUG-NEXT: (f64.const -3.4) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) @@ -1916,7 +1925,7 @@ ;; CHECK-BIN-NODEBUG-NEXT: (f64.const 0) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (then -;; CHECK-BIN-NODEBUG-NEXT: (br $label$1 +;; CHECK-BIN-NODEBUG-NEXT: (br $block ;; CHECK-BIN-NODEBUG-NEXT: (f64.const 5.6) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) @@ -1929,14 +1938,14 @@ ;; CHECK-BIN-NODEBUG-NEXT: (local $2 f64) ;; CHECK-BIN-NODEBUG-NEXT: (local $3 f64) ;; CHECK-BIN-NODEBUG-NEXT: (local $4 i32) -;; CHECK-BIN-NODEBUG-NEXT: (block $label$1 (result f64) +;; CHECK-BIN-NODEBUG-NEXT: (block $block (result f64) ;; CHECK-BIN-NODEBUG-NEXT: (if ;; CHECK-BIN-NODEBUG-NEXT: (f64.gt ;; CHECK-BIN-NODEBUG-NEXT: (local.get $0) ;; CHECK-BIN-NODEBUG-NEXT: (f64.const 0) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (then -;; CHECK-BIN-NODEBUG-NEXT: (br $label$1 +;; CHECK-BIN-NODEBUG-NEXT: (br $block ;; CHECK-BIN-NODEBUG-NEXT: (f64.const 1.2) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) @@ -1947,7 +1956,7 @@ ;; CHECK-BIN-NODEBUG-NEXT: (f64.const 0) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (then -;; CHECK-BIN-NODEBUG-NEXT: (br $label$1 +;; CHECK-BIN-NODEBUG-NEXT: (br $block ;; CHECK-BIN-NODEBUG-NEXT: (f64.const -3.4) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) @@ -1958,7 +1967,7 @@ ;; CHECK-BIN-NODEBUG-NEXT: (i32.const 0) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (then -;; CHECK-BIN-NODEBUG-NEXT: (br $label$1 +;; CHECK-BIN-NODEBUG-NEXT: (br $block ;; CHECK-BIN-NODEBUG-NEXT: (f64.const 5.6) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) @@ -1969,7 +1978,7 @@ ;; CHECK-BIN-NODEBUG-NEXT: (local.get $1) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (then -;; CHECK-BIN-NODEBUG-NEXT: (br $label$1 +;; CHECK-BIN-NODEBUG-NEXT: (br $block ;; CHECK-BIN-NODEBUG-NEXT: (local.get $0) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) @@ -2025,13 +2034,13 @@ ;; CHECK-BIN-NODEBUG-NEXT: (local $0 f64) ;; CHECK-BIN-NODEBUG-NEXT: (local.set $0 ;; CHECK-BIN-NODEBUG-NEXT: (f64.sub -;; CHECK-BIN-NODEBUG-NEXT: (block $label$1 (result f64) +;; CHECK-BIN-NODEBUG-NEXT: (block (result f64) ;; CHECK-BIN-NODEBUG-NEXT: (drop ;; CHECK-BIN-NODEBUG-NEXT: (f64.const 0.1) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (f64.const 5.1) ;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (block $label$2 (result f64) +;; CHECK-BIN-NODEBUG-NEXT: (block (result f64) ;; CHECK-BIN-NODEBUG-NEXT: (drop ;; CHECK-BIN-NODEBUG-NEXT: (f64.const 3.2) ;; CHECK-BIN-NODEBUG-NEXT: ) @@ -2042,77 +2051,80 @@ ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $7 (type $6) (param $0 i32) (result i32) -;; CHECK-BIN-NODEBUG-NEXT: (block $label$1 (result i32) -;; CHECK-BIN-NODEBUG-NEXT: (block $label$2 -;; CHECK-BIN-NODEBUG-NEXT: (block $label$3 -;; CHECK-BIN-NODEBUG-NEXT: (block $label$4 -;; CHECK-BIN-NODEBUG-NEXT: (block $label$5 -;; CHECK-BIN-NODEBUG-NEXT: (br_table $label$5 $label$4 $label$3 +;; CHECK-BIN-NODEBUG-NEXT: (block $block3 (result i32) +;; CHECK-BIN-NODEBUG-NEXT: (block +;; CHECK-BIN-NODEBUG-NEXT: (block $block2 +;; CHECK-BIN-NODEBUG-NEXT: (block $block1 +;; CHECK-BIN-NODEBUG-NEXT: (block $block +;; CHECK-BIN-NODEBUG-NEXT: (br_table $block $block1 $block2 ;; CHECK-BIN-NODEBUG-NEXT: (i32.sub ;; CHECK-BIN-NODEBUG-NEXT: (local.get $0) ;; CHECK-BIN-NODEBUG-NEXT: (i32.const 1) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (br $label$1 +;; CHECK-BIN-NODEBUG-NEXT: (br $block3 ;; CHECK-BIN-NODEBUG-NEXT: (i32.const 1) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (br $label$1 +;; CHECK-BIN-NODEBUG-NEXT: (br $block3 ;; CHECK-BIN-NODEBUG-NEXT: (i32.const 2) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (nop) ;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (block $label$6 -;; CHECK-BIN-NODEBUG-NEXT: (block $label$7 -;; CHECK-BIN-NODEBUG-NEXT: (block $label$8 -;; CHECK-BIN-NODEBUG-NEXT: (block $label$9 -;; CHECK-BIN-NODEBUG-NEXT: (br_table $label$8 $label$7 $label$7 $label$7 $label$7 $label$7 $label$7 $label$9 $label$7 +;; CHECK-BIN-NODEBUG-NEXT: (block +;; CHECK-BIN-NODEBUG-NEXT: (block $block5 +;; CHECK-BIN-NODEBUG-NEXT: (block $block4 +;; CHECK-BIN-NODEBUG-NEXT: (block $block6 +;; CHECK-BIN-NODEBUG-NEXT: (br_table $block4 $block5 $block5 $block5 $block5 $block5 $block5 $block6 $block5 ;; CHECK-BIN-NODEBUG-NEXT: (i32.sub ;; CHECK-BIN-NODEBUG-NEXT: (local.get $0) ;; CHECK-BIN-NODEBUG-NEXT: (i32.const 5) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (br $label$1 +;; CHECK-BIN-NODEBUG-NEXT: (br $block3 ;; CHECK-BIN-NODEBUG-NEXT: (i32.const 121) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (br $label$1 +;; CHECK-BIN-NODEBUG-NEXT: (br $block3 ;; CHECK-BIN-NODEBUG-NEXT: (i32.const 51) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (nop) ;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (block $label$10 -;; CHECK-BIN-NODEBUG-NEXT: (block $label$11 -;; CHECK-BIN-NODEBUG-NEXT: (block $label$12 -;; CHECK-BIN-NODEBUG-NEXT: (block $label$13 -;; CHECK-BIN-NODEBUG-NEXT: (block $label$14 -;; CHECK-BIN-NODEBUG-NEXT: (block $label$15 -;; CHECK-BIN-NODEBUG-NEXT: (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 +;; CHECK-BIN-NODEBUG-NEXT: (block $block12 +;; CHECK-BIN-NODEBUG-NEXT: (block $block8 +;; CHECK-BIN-NODEBUG-NEXT: (block $block7 +;; CHECK-BIN-NODEBUG-NEXT: (block $block9 +;; CHECK-BIN-NODEBUG-NEXT: (block $block10 +;; CHECK-BIN-NODEBUG-NEXT: (block $block11 +;; CHECK-BIN-NODEBUG-NEXT: (br_table $block7 $block8 $block8 $block9 $block8 $block8 $block8 $block8 $block10 $block8 $block11 $block8 ;; CHECK-BIN-NODEBUG-NEXT: (i32.sub ;; CHECK-BIN-NODEBUG-NEXT: (local.get $0) ;; CHECK-BIN-NODEBUG-NEXT: (i32.const 2) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (br $label$10) +;; CHECK-BIN-NODEBUG-NEXT: (br $block12) ;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (br $label$10) +;; CHECK-BIN-NODEBUG-NEXT: (br $block12) ;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (block $label$16 -;; CHECK-BIN-NODEBUG-NEXT: (loop $label$17 -;; CHECK-BIN-NODEBUG-NEXT: (br $label$16) +;; CHECK-BIN-NODEBUG-NEXT: (block $block13 +;; CHECK-BIN-NODEBUG-NEXT: (loop +;; CHECK-BIN-NODEBUG-NEXT: (br $block13) ;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (unreachable) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (block $label$18 -;; CHECK-BIN-NODEBUG-NEXT: (loop $label$19 -;; CHECK-BIN-NODEBUG-NEXT: (br $label$10) +;; CHECK-BIN-NODEBUG-NEXT: (block +;; CHECK-BIN-NODEBUG-NEXT: (loop +;; CHECK-BIN-NODEBUG-NEXT: (br $block12) ;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (unreachable) ;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (unreachable) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (nop) ;; CHECK-BIN-NODEBUG-NEXT: ) @@ -2121,8 +2133,8 @@ ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $8 (type $1) -;; CHECK-BIN-NODEBUG-NEXT: (block $label$1 -;; CHECK-BIN-NODEBUG-NEXT: (br $label$1) +;; CHECK-BIN-NODEBUG-NEXT: (block $block +;; CHECK-BIN-NODEBUG-NEXT: (br $block) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) @@ -2182,7 +2194,7 @@ ;; CHECK-BIN-NODEBUG-NEXT: (local $2 f64) ;; CHECK-BIN-NODEBUG-NEXT: (local $3 f32) ;; CHECK-BIN-NODEBUG-NEXT: (local.set $0 -;; CHECK-BIN-NODEBUG-NEXT: (block $label$1 (result i32) +;; CHECK-BIN-NODEBUG-NEXT: (block (result i32) ;; CHECK-BIN-NODEBUG-NEXT: (local.set $1 ;; CHECK-BIN-NODEBUG-NEXT: (i32.const 0) ;; CHECK-BIN-NODEBUG-NEXT: ) @@ -2265,17 +2277,17 @@ ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $19 (type $0) (result i32) -;; CHECK-BIN-NODEBUG-NEXT: (block $label$1 +;; CHECK-BIN-NODEBUG-NEXT: (block $block ;; CHECK-BIN-NODEBUG-NEXT: (drop ;; CHECK-BIN-NODEBUG-NEXT: (i32.const 1) ;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (br $label$1) +;; CHECK-BIN-NODEBUG-NEXT: (br $block) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (i32.const 0) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $20 (type $7) (param $0 f64) (result f64) -;; CHECK-BIN-NODEBUG-NEXT: (loop $label$1 (result f64) +;; CHECK-BIN-NODEBUG-NEXT: (loop (result f64) ;; CHECK-BIN-NODEBUG-NEXT: (drop ;; CHECK-BIN-NODEBUG-NEXT: (local.get $0) ;; CHECK-BIN-NODEBUG-NEXT: ) @@ -2331,11 +2343,11 @@ ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $28 (type $0) (result i32) -;; CHECK-BIN-NODEBUG-NEXT: (block $label$1 +;; CHECK-BIN-NODEBUG-NEXT: (block $block ;; CHECK-BIN-NODEBUG-NEXT: (drop ;; CHECK-BIN-NODEBUG-NEXT: (i32.const 1) ;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (br $label$1) +;; CHECK-BIN-NODEBUG-NEXT: (br $block) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (i32.const 1) ;; CHECK-BIN-NODEBUG-NEXT: ) @@ -2354,6 +2366,7 @@ ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (unreachable) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $30 (type $0) (result i32) @@ -2370,40 +2383,45 @@ ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (unreachable) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $31 (type $0) (result i32) -;; CHECK-BIN-NODEBUG-NEXT: (loop $label$1 +;; CHECK-BIN-NODEBUG-NEXT: (loop ;; CHECK-BIN-NODEBUG-NEXT: (nop) ;; CHECK-BIN-NODEBUG-NEXT: (return ;; CHECK-BIN-NODEBUG-NEXT: (i32.const 1) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (unreachable) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $32 (type $0) (result i32) -;; CHECK-BIN-NODEBUG-NEXT: (loop $label$1 +;; CHECK-BIN-NODEBUG-NEXT: (loop ;; CHECK-BIN-NODEBUG-NEXT: (return ;; CHECK-BIN-NODEBUG-NEXT: (i32.const 1) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (unreachable) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $33 (type $0) (result i32) -;; CHECK-BIN-NODEBUG-NEXT: (loop $label$1 +;; CHECK-BIN-NODEBUG-NEXT: (loop ;; CHECK-BIN-NODEBUG-NEXT: (nop) ;; CHECK-BIN-NODEBUG-NEXT: (return ;; CHECK-BIN-NODEBUG-NEXT: (i32.const 1) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (unreachable) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $34 (type $0) (result i32) -;; CHECK-BIN-NODEBUG-NEXT: (loop $label$1 +;; CHECK-BIN-NODEBUG-NEXT: (loop ;; CHECK-BIN-NODEBUG-NEXT: (return ;; CHECK-BIN-NODEBUG-NEXT: (i32.const 1) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (unreachable) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $35 (type $1) diff --git a/test/lit/basic/unreachable-code.wast b/test/lit/basic/unreachable-code.wast index 0dfb00c40..baf156496 100644 --- a/test/lit/basic/unreachable-code.wast +++ b/test/lit/basic/unreachable-code.wast @@ -59,6 +59,7 @@ ;; CHECK-BIN-NEXT: (unreachable) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (unreachable) ;; CHECK-BIN-NEXT: ) (func $b (if (i32.const 1) @@ -118,6 +119,7 @@ ;; CHECK-BIN-NEXT: (unreachable) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (unreachable) ;; CHECK-BIN-NEXT: ) (func $b-block (block @@ -186,6 +188,7 @@ ;; CHECK-BIN-NEXT: (unreachable) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (unreachable) ;; CHECK-BIN-NEXT: ) (func $b-prepost (nop) @@ -260,6 +263,7 @@ ;; CHECK-BIN-NEXT: (unreachable) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (unreachable) ;; CHECK-BIN-NEXT: ) (func $b-block-prepost (nop) @@ -289,9 +293,9 @@ ;; CHECK-TEXT-NEXT: ) ;; CHECK-BIN: (func $recurse (type $0) ;; CHECK-BIN-NEXT: (nop) - ;; CHECK-BIN-NEXT: (block $label$1 + ;; CHECK-BIN-NEXT: (block $block ;; CHECK-BIN-NEXT: (nop) - ;; CHECK-BIN-NEXT: (br $label$1) + ;; CHECK-BIN-NEXT: (br $block) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (nop) ;; CHECK-BIN-NEXT: ) @@ -319,12 +323,13 @@ ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) ;; CHECK-BIN: (func $recurse-b (type $0) - ;; CHECK-BIN-NEXT: (block $label$1 + ;; CHECK-BIN-NEXT: (block $block ;; CHECK-BIN-NEXT: (nop) - ;; CHECK-BIN-NEXT: (block $label$2 + ;; CHECK-BIN-NEXT: (block ;; CHECK-BIN-NEXT: (nop) - ;; CHECK-BIN-NEXT: (br $label$1) + ;; CHECK-BIN-NEXT: (br $block) ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (unreachable) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) (func $recurse-b @@ -360,6 +365,7 @@ ;; CHECK-BIN-NODEBUG-NEXT: (unreachable) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (unreachable) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $2 (type $0) @@ -381,6 +387,7 @@ ;; CHECK-BIN-NODEBUG-NEXT: (unreachable) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (unreachable) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $4 (type $0) @@ -405,6 +412,7 @@ ;; CHECK-BIN-NODEBUG-NEXT: (unreachable) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (unreachable) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $6 (type $0) @@ -429,23 +437,25 @@ ;; CHECK-BIN-NODEBUG-NEXT: (unreachable) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (unreachable) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $8 (type $0) ;; CHECK-BIN-NODEBUG-NEXT: (nop) -;; CHECK-BIN-NODEBUG-NEXT: (block $label$1 +;; CHECK-BIN-NODEBUG-NEXT: (block $block ;; CHECK-BIN-NODEBUG-NEXT: (nop) -;; CHECK-BIN-NODEBUG-NEXT: (br $label$1) +;; CHECK-BIN-NODEBUG-NEXT: (br $block) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (nop) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG: (func $9 (type $0) -;; CHECK-BIN-NODEBUG-NEXT: (block $label$1 +;; CHECK-BIN-NODEBUG-NEXT: (block $block ;; CHECK-BIN-NODEBUG-NEXT: (nop) -;; CHECK-BIN-NODEBUG-NEXT: (block $label$2 +;; CHECK-BIN-NODEBUG-NEXT: (block ;; CHECK-BIN-NODEBUG-NEXT: (nop) -;; CHECK-BIN-NODEBUG-NEXT: (br $label$1) +;; CHECK-BIN-NODEBUG-NEXT: (br $block) ;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (unreachable) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) diff --git a/test/lit/basic/untaken-br_if.wast b/test/lit/basic/untaken-br_if.wast index bf2ad1ce3..4d9826549 100644 --- a/test/lit/basic/untaken-br_if.wast +++ b/test/lit/basic/untaken-br_if.wast @@ -37,12 +37,10 @@ ;; CHECK-BIN-NEXT: (unreachable) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: (else - ;; CHECK-BIN-NEXT: (block $label$3 (result f32) - ;; CHECK-BIN-NEXT: (drop - ;; CHECK-BIN-NEXT: (f32.const 1) - ;; CHECK-BIN-NEXT: ) - ;; CHECK-BIN-NEXT: (unreachable) + ;; CHECK-BIN-NEXT: (drop + ;; CHECK-BIN-NEXT: (f32.const 1) ;; CHECK-BIN-NEXT: ) + ;; CHECK-BIN-NEXT: (unreachable) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) ;; CHECK-BIN-NEXT: ) @@ -72,12 +70,10 @@ ;; CHECK-BIN-NODEBUG-NEXT: (unreachable) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: (else -;; CHECK-BIN-NODEBUG-NEXT: (block $label$3 (result f32) -;; CHECK-BIN-NODEBUG-NEXT: (drop -;; CHECK-BIN-NODEBUG-NEXT: (f32.const 1) -;; CHECK-BIN-NODEBUG-NEXT: ) -;; CHECK-BIN-NODEBUG-NEXT: (unreachable) +;; CHECK-BIN-NODEBUG-NEXT: (drop +;; CHECK-BIN-NODEBUG-NEXT: (f32.const 1) ;; CHECK-BIN-NODEBUG-NEXT: ) +;; CHECK-BIN-NODEBUG-NEXT: (unreachable) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) ;; CHECK-BIN-NODEBUG-NEXT: ) diff --git a/test/lit/binary/bad-delegate.test b/test/lit/binary/bad-delegate.test deleted file mode 100644 index 8e6a011a5..000000000 --- a/test/lit/binary/bad-delegate.test +++ /dev/null @@ -1,17 +0,0 @@ -;; Test that we error properly on a file with a bad delegate (a delegate of an -;; index that does not refer to a valid try-catch). - -;; Disassembled binary from wabt: -;; -;; (module -;; (type (;0;) (func)) -;; (func (;0;) (type 0) -;; block ;; label = @1 -;; try ;; label = @2 -;; nop -;; delegate 0 -;; end)) - -;; RUN: not wasm-opt -all %s.wasm 2>&1 | filecheck %s - -;; CHECK: exceptionTargetNames not empty - invalid delegate diff --git a/test/lit/binary/declarative-element-use-expr.test b/test/lit/binary/declarative-element-use-expr.test index aecdf9ebd..fa0eb965f 100644 --- a/test/lit/binary/declarative-element-use-expr.test +++ b/test/lit/binary/declarative-element-use-expr.test @@ -13,16 +13,14 @@ ;; preserve declarative segments. This is fine, as we test that the ;; binary parser can parse it correctly. -;; RUN: wasm-opt -all %s.wasm -all --print | filecheck %s +;; RUN: wasm-opt -all %s.wasm -S -o - | filecheck %s ;; CHECK: (module ;; CHECK-NEXT: (type $0 (func)) ;; CHECK-NEXT: (elem declare func $0) ;; CHECK-NEXT: (func $0 (type $0) -;; CHECK-NEXT: (block $label$1 -;; CHECK-NEXT: (drop -;; CHECK-NEXT: (ref.func $0) -;; CHECK-NEXT: ) +;; CHECK-NEXT: (drop +;; CHECK-NEXT: (ref.func $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/binary/delegate-block.test b/test/lit/binary/delegate-block.test new file mode 100644 index 000000000..7da386cb0 --- /dev/null +++ b/test/lit/binary/delegate-block.test @@ -0,0 +1,27 @@ +;; NOTE: Assertions have been generated by update_lit_checks.py --all-items and should not be edited. + +;; Test that we can parse a binary with a delegate that targets a block instead +;; of a try-catch. + +;; Disassembled binary from wabt: +;; +;; (module +;; (type (;0;) (func)) +;; (func (;0;) (type 0) +;; block ;; label = @1 +;; try ;; label = @2 +;; nop +;; delegate 0 +;; end)) + +;; RUN: wasm-opt -all %s.wasm -S -o - | filecheck %s +;; CHECK: (type $0 (func)) + +;; CHECK: (func $0 (type $0) +;; CHECK-NEXT: (try +;; CHECK-NEXT: (do +;; CHECK-NEXT: (nop) +;; CHECK-NEXT: ) +;; CHECK-NEXT: (delegate 0) +;; CHECK-NEXT: ) +;; CHECK-NEXT: ) diff --git a/test/lit/binary/bad-delegate.test.wasm b/test/lit/binary/delegate-block.test.wasm Binary files differindex db9645e35..db9645e35 100644 --- a/test/lit/binary/bad-delegate.test.wasm +++ b/test/lit/binary/delegate-block.test.wasm diff --git a/test/lit/binary/dwarf-multivalue.test b/test/lit/binary/dwarf-multivalue.test index c803dea14..250a861bf 100644 --- a/test/lit/binary/dwarf-multivalue.test +++ b/test/lit/binary/dwarf-multivalue.test @@ -39,8 +39,8 @@ ;; (local $10 f32) ;; If we parse this wasm file into Binaryen IR, two locals are added in the -;; process. Here $11 is added for tuple parsing and $12 is added for stacky IR -;; resolving during binary reading process. +;; process. Here $scratch is added for tuple parsing and $scratch_12 is added +;; for stacky IR resolving during binary reading process. ;; RUN: wasm-dis %s.wasm -o - | filecheck %s --check-prefix=ORIG ;; ORIG: (func $test ;; ORIG-NEXT: (local $0 i32) @@ -54,8 +54,8 @@ ;; ORIG-NEXT: (local $8 f32) ;; ORIG-NEXT: (local $9 i32) ;; ORIG-NEXT: (local $10 f32) -;; ORIG-NEXT: (local $11 (tuple i32 f32)) -;; ORIG-NEXT: (local $12 i32) +;; ORIG-NEXT: (local $scratch (tuple i32 f32)) +;; ORIG-NEXT: (local $scratch_12 i32) ;; If we write this IR into binary, even if this cannot be displayed in the wast ;; format, the local order of $test will look like this, because we don't @@ -92,11 +92,11 @@ ;; ROUNDTRIP-NEXT: (local $8 f32) ;; ROUNDTRIP-NEXT: (local $9 i32) ;; ROUNDTRIP-NEXT: (local $10 f32) -;; ROUNDTRIP-NEXT: (local $11 i32) +;; ROUNDTRIP-NEXT: (local $scratch i32) ;; ROUNDTRIP-NEXT: (local $12 f32) -;; ROUNDTRIP-NEXT: (local $13 i32) -;; ROUNDTRIP-NEXT: (local $14 (tuple i32 f32)) -;; ROUNDTRIP-NEXT: (local $15 i32) +;; ROUNDTRIP-NEXT: (local $scratch_12 i32) +;; ROUNDTRIP-NEXT: (local $scratch_14 (tuple i32 f32)) +;; ROUNDTRIP-NEXT: (local $scratch_15 i32) ;; We can see that we don't reorder the locals during the process and the ;; original list of locals, local $0~$10, is untouched, to NOT invalidate DWARF diff --git a/test/lit/binary/stacky-eh-legacy.test b/test/lit/binary/stacky-eh-legacy.test index c22a5165d..c77435f0b 100644 --- a/test/lit/binary/stacky-eh-legacy.test +++ b/test/lit/binary/stacky-eh-legacy.test @@ -1,3 +1,4 @@ +;; NOTE: Assertions have been generated by update_lit_checks.py --all-items and should not be edited. ;; Verify stacky EH binary can be parsed correctly. ;; ;; stacky-eh-old.test.wasm contains below: @@ -34,15 +35,21 @@ ;; The fixup will hoist the 'pop' and create another local to store it right ;; after 'catch'. -RUN: wasm-opt -all %s.wasm --print | filecheck %s +;; RUN: wasm-opt -all %s.wasm -S -o - | filecheck %s -;; CHECK: (func $0 +;; CHECK: (type $0 (func (param i32))) + +;; CHECK: (type $1 (func)) + +;; CHECK: (tag $tag$0 (param i32)) + +;; CHECK: (func $0 (type $1) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (local $1 i32) ;; CHECK-NEXT: (local $2 i32) -;; CHECK-NEXT: (local $3 i32) +;; CHECK-NEXT: (local $scratch i32) ;; CHECK-NEXT: (local $4 i32) -;; CHECK-NEXT: (try $label$3 +;; CHECK-NEXT: (try ;; CHECK-NEXT: (do ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) @@ -52,13 +59,13 @@ RUN: wasm-opt -all %s.wasm --print | filecheck %s ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $2 ;; CHECK-NEXT: (block (result i32) -;; CHECK-NEXT: (local.set $3 +;; CHECK-NEXT: (local.set $scratch ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) -;; CHECK-NEXT: (local.get $3) +;; CHECK-NEXT: (local.get $scratch) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/binary/stacky-nn-tuple.test b/test/lit/binary/stacky-nn-tuple.test index e8a0475b5..1f6b5bb59 100644 --- a/test/lit/binary/stacky-nn-tuple.test +++ b/test/lit/binary/stacky-nn-tuple.test @@ -1,112 +1,120 @@ -# Verify stacky non-nullable tuples binary can be parsed correctly. The wasm -# contains code that uses pops to get a tuple and store it in a local, then -# reads those values. The file contains this: -# -# (module -# (type $A (struct (field (mut i32)))) -# (type $B (struct (field (mut i32)) (field (mut i32)))) -# (tag $tag$0 (param (ref $A) (ref $B))) -# (func $foo -# (local $temp ((ref null $A) (ref null $B))) -# (try $label$3 -# (do -# (nop) -# ) -# (catch $tag$0 -# (local.set $temp -# (pop (ref $A) (ref $B)) -# ) -# (drop -# (ref.as_non_null -# (tuple.extract 0 -# (local.get $temp) -# ) -# ) -# ) -# (drop -# (ref.as_non_null -# (tuple.extract 1 -# (local.get $temp) -# ) -# ) -# ) -# (unreachable) -# ) -# ) -# ) -# ) +;; NOTE: Assertions have been generated by update_lit_checks.py --all-items and should not be edited. +;; Verify stacky non-nullable tuples binary can be parsed correctly. The wasm +;; contains code that uses pops to get a tuple and store it in a local, then +;; reads those values. The file contains this: +;; +;; (module +;; (type $A (struct (field (mut i32)))) +;; (type $B (struct (field (mut i32)) (field (mut i32)))) +;; (tag $tag$0 (param (ref $A) (ref $B))) +;; (func $foo +;; (local $temp ((ref null $A) (ref null $B))) +;; (try $label$3 +;; (do +;; (nop) +;; ) +;; (catch $tag$0 +;; (local.set $temp +;; (pop (ref $A) (ref $B)) +;; ) +;; (drop +;; (ref.as_non_null +;; (tuple.extract 0 +;; (local.get $temp) +;; ) +;; ) +;; ) +;; (drop +;; (ref.as_non_null +;; (tuple.extract 1 +;; (local.get $temp) +;; ) +;; ) +;; ) +;; (unreachable) +;; ) +;; ) +;; ) +;; ) -RUN: wasm-opt -all %s.wasm -all --print +;; RUN: wasm-opt -all %s.wasm -all -S -o - | filecheck %s -# CHECK: (module -# CHECK-NEXT: (type ${mut:i32} (struct (field (mut i32)))) -# CHECK-NEXT: (type ${mut:i32_mut:i32} (struct (field (mut i32)) (field (mut i32)))) -# CHECK-NEXT: (type $ref|{mut:i32}|_ref|{mut:i32_mut:i32}|_=>_none (func (param (ref ${mut:i32}) (ref ${mut:i32_mut:i32})))) -# CHECK-NEXT: (type $none_=>_none (func)) -# CHECK-NEXT: (tag $tag$0 (param (ref ${mut:i32}) (ref ${mut:i32_mut:i32}))) -# CHECK-NEXT: (func $0 -# CHECK-NEXT: (local $0 (ref null ${mut:i32})) -# CHECK-NEXT: (local $1 (ref null ${mut:i32_mut:i32})) -# CHECK-NEXT: (local $2 (ref null ${mut:i32_mut:i32})) -# CHECK-NEXT: (local $3 ((ref ${mut:i32}) (ref ${mut:i32_mut:i32}))) -# CHECK-NEXT: (local $4 (ref ${mut:i32})) -# CHECK-NEXT: (local $5 (ref null ${mut:i32})) -# CHECK-NEXT: (local $6 (ref null ${mut:i32})) -# CHECK-NEXT: (try $label$3 -# CHECK-NEXT: (do -# CHECK-NEXT: (nop) -# CHECK-NEXT: ) -# CHECK-NEXT: (catch $tag$0 -# CHECK-NEXT: (local.set $3 -# CHECK-NEXT: (pop (ref ${mut:i32}) (ref ${mut:i32_mut:i32})) -# CHECK-NEXT: ) -# CHECK-NEXT: (local.set $0 -# CHECK-NEXT: (block (result (ref ${mut:i32})) -# CHECK-NEXT: (local.set $4 -# CHECK-NEXT: (tuple.extract 0 -# CHECK-NEXT: (local.get $3) -# CHECK-NEXT: ) -# CHECK-NEXT: ) -# CHECK-NEXT: (local.set $1 -# CHECK-NEXT: (tuple.extract 1 -# CHECK-NEXT: (local.get $3) -# CHECK-NEXT: ) -# CHECK-NEXT: ) -# CHECK-NEXT: (local.get $4) -# CHECK-NEXT: ) -# CHECK-NEXT: ) -# CHECK-NEXT: (drop -# CHECK-NEXT: (ref.as_non_null -# CHECK-NEXT: (block (result (ref null ${mut:i32})) -# CHECK-NEXT: (local.set $5 -# CHECK-NEXT: (local.get $0) -# CHECK-NEXT: ) -# CHECK-NEXT: (drop -# CHECK-NEXT: (local.get $1) -# CHECK-NEXT: ) -# CHECK-NEXT: (local.get $5) -# CHECK-NEXT: ) -# CHECK-NEXT: ) -# CHECK-NEXT: ) -# CHECK-NEXT: (drop -# CHECK-NEXT: (block (result (ref null ${mut:i32})) -# CHECK-NEXT: (local.set $6 -# CHECK-NEXT: (local.get $0) -# CHECK-NEXT: ) -# CHECK-NEXT: (local.set $2 -# CHECK-NEXT: (local.get $1) -# CHECK-NEXT: ) -# CHECK-NEXT: (local.get $6) -# CHECK-NEXT: ) -# CHECK-NEXT: ) -# CHECK-NEXT: (drop -# CHECK-NEXT: (ref.as_non_null -# CHECK-NEXT: (local.get $2) -# CHECK-NEXT: ) -# CHECK-NEXT: ) -# CHECK-NEXT: (unreachable) -# CHECK-NEXT: ) -# CHECK-NEXT: ) -# CHECK-NEXT: ) -# CHECK-NEXT: ) -# CHECK-NEXT: +;; CHECK: (type $0 (struct (field (mut i32)))) + +;; CHECK: (type $1 (struct (field (mut i32)) (field (mut i32)))) + +;; CHECK: (type $2 (func (param (ref null $0) (ref null $1)))) + +;; CHECK: (type $3 (func)) + +;; CHECK: (tag $tag$0 (param (ref null $0) (ref null $1))) + +;; CHECK: (func $0 (type $3) +;; CHECK-NEXT: (local $0 (ref null $0)) +;; CHECK-NEXT: (local $1 (ref null $1)) +;; CHECK-NEXT: (local $2 (ref null $1)) +;; CHECK-NEXT: (local $scratch (tuple (ref null $0) (ref null $1))) +;; CHECK-NEXT: (local $scratch_4 (ref null $0)) +;; CHECK-NEXT: (local $scratch_5 (ref null $0)) +;; CHECK-NEXT: (local $scratch_6 (ref null $0)) +;; CHECK-NEXT: (local $7 (tuple (ref null $0) (ref null $1))) +;; CHECK-NEXT: (try +;; CHECK-NEXT: (do +;; CHECK-NEXT: (nop) +;; CHECK-NEXT: ) +;; CHECK-NEXT: (catch $tag$0 +;; CHECK-NEXT: (local.set $7 +;; CHECK-NEXT: (pop (tuple (ref null $0) (ref null $1))) +;; CHECK-NEXT: ) +;; CHECK-NEXT: (block +;; CHECK-NEXT: (local.set $0 +;; CHECK-NEXT: (block (result (ref null $0)) +;; CHECK-NEXT: (local.set $scratch_4 +;; CHECK-NEXT: (tuple.extract 2 0 +;; CHECK-NEXT: (local.tee $scratch +;; CHECK-NEXT: (local.get $7) +;; CHECK-NEXT: ) +;; CHECK-NEXT: ) +;; CHECK-NEXT: ) +;; CHECK-NEXT: (local.set $1 +;; CHECK-NEXT: (tuple.extract 2 1 +;; CHECK-NEXT: (local.get $scratch) +;; CHECK-NEXT: ) +;; CHECK-NEXT: ) +;; CHECK-NEXT: (local.get $scratch_4) +;; CHECK-NEXT: ) +;; CHECK-NEXT: ) +;; CHECK-NEXT: (drop +;; CHECK-NEXT: (ref.as_non_null +;; CHECK-NEXT: (block (result (ref null $0)) +;; CHECK-NEXT: (local.set $scratch_5 +;; CHECK-NEXT: (local.get $0) +;; CHECK-NEXT: ) +;; CHECK-NEXT: (drop +;; CHECK-NEXT: (local.get $1) +;; CHECK-NEXT: ) +;; CHECK-NEXT: (local.get $scratch_5) +;; CHECK-NEXT: ) +;; CHECK-NEXT: ) +;; CHECK-NEXT: ) +;; CHECK-NEXT: (drop +;; CHECK-NEXT: (block (result (ref null $0)) +;; CHECK-NEXT: (local.set $scratch_6 +;; CHECK-NEXT: (local.get $0) +;; CHECK-NEXT: ) +;; CHECK-NEXT: (local.set $2 +;; CHECK-NEXT: (local.get $1) +;; CHECK-NEXT: ) +;; CHECK-NEXT: (local.get $scratch_6) +;; CHECK-NEXT: ) +;; CHECK-NEXT: ) +;; CHECK-NEXT: (drop +;; CHECK-NEXT: (ref.as_non_null +;; CHECK-NEXT: (local.get $2) +;; CHECK-NEXT: ) +;; CHECK-NEXT: ) +;; CHECK-NEXT: (unreachable) +;; CHECK-NEXT: ) +;; CHECK-NEXT: ) +;; CHECK-NEXT: ) +;; CHECK-NEXT: ) diff --git a/test/lit/blocktype.wast b/test/lit/blocktype.wast index 0150f0a37..805d5d07e 100644 --- a/test/lit/blocktype.wast +++ b/test/lit/blocktype.wast @@ -25,30 +25,8 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; RTRIP: (func $f1 (type $f1) (result (ref $f1) (ref $f2)) - ;; RTRIP-NEXT: (local $0 (tuple (ref $f1) (ref $f2))) - ;; RTRIP-NEXT: (local $1 (tuple (ref $f1) (ref $f2))) - ;; RTRIP-NEXT: (local.set $1 - ;; RTRIP-NEXT: (loop $label$1 (type $f1) (result (ref $f1) (ref $f2)) - ;; RTRIP-NEXT: (local.set $0 - ;; RTRIP-NEXT: (call $f1) - ;; RTRIP-NEXT: ) - ;; RTRIP-NEXT: (tuple.make 2 - ;; RTRIP-NEXT: (tuple.extract 2 0 - ;; RTRIP-NEXT: (local.get $0) - ;; RTRIP-NEXT: ) - ;; RTRIP-NEXT: (tuple.extract 2 1 - ;; RTRIP-NEXT: (local.get $0) - ;; RTRIP-NEXT: ) - ;; RTRIP-NEXT: ) - ;; RTRIP-NEXT: ) - ;; RTRIP-NEXT: ) - ;; RTRIP-NEXT: (tuple.make 2 - ;; RTRIP-NEXT: (tuple.extract 2 0 - ;; RTRIP-NEXT: (local.get $1) - ;; RTRIP-NEXT: ) - ;; RTRIP-NEXT: (tuple.extract 2 1 - ;; RTRIP-NEXT: (local.get $1) - ;; RTRIP-NEXT: ) + ;; RTRIP-NEXT: (loop (type $f1) (result (ref $f1) (ref $f2)) + ;; RTRIP-NEXT: (call $f1) ;; RTRIP-NEXT: ) ;; RTRIP-NEXT: ) (func $f1 (type $f1) (result (ref $f1) (ref $f2)) @@ -64,30 +42,8 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; RTRIP: (func $f2 (type $f2) (result (ref $f2) (ref $f1)) - ;; RTRIP-NEXT: (local $0 (tuple (ref $f2) (ref $f1))) - ;; RTRIP-NEXT: (local $1 (tuple (ref $f2) (ref $f1))) - ;; RTRIP-NEXT: (local.set $1 - ;; RTRIP-NEXT: (loop $label$1 (type $f2) (result (ref $f2) (ref $f1)) - ;; RTRIP-NEXT: (local.set $0 - ;; RTRIP-NEXT: (call $f2) - ;; RTRIP-NEXT: ) - ;; RTRIP-NEXT: (tuple.make 2 - ;; RTRIP-NEXT: (tuple.extract 2 0 - ;; RTRIP-NEXT: (local.get $0) - ;; RTRIP-NEXT: ) - ;; RTRIP-NEXT: (tuple.extract 2 1 - ;; RTRIP-NEXT: (local.get $0) - ;; RTRIP-NEXT: ) - ;; RTRIP-NEXT: ) - ;; RTRIP-NEXT: ) - ;; RTRIP-NEXT: ) - ;; RTRIP-NEXT: (tuple.make 2 - ;; RTRIP-NEXT: (tuple.extract 2 0 - ;; RTRIP-NEXT: (local.get $1) - ;; RTRIP-NEXT: ) - ;; RTRIP-NEXT: (tuple.extract 2 1 - ;; RTRIP-NEXT: (local.get $1) - ;; RTRIP-NEXT: ) + ;; RTRIP-NEXT: (loop (type $f2) (result (ref $f2) (ref $f1)) + ;; RTRIP-NEXT: (call $f2) ;; RTRIP-NEXT: ) ;; RTRIP-NEXT: ) (func $f2 (type $f2) (result (ref $f2) (ref $f1)) diff --git a/test/lit/cast-and-recast-tuple.wast b/test/lit/cast-and-recast-tuple.wast index 3febcbff7..6ceefe7d6 100644 --- a/test/lit/cast-and-recast-tuple.wast +++ b/test/lit/cast-and-recast-tuple.wast @@ -16,46 +16,34 @@ (type $B (sub $A (struct))) ) - ;; CHECK: (func $test-local-tuple-1 (type $5) (param $B (ref $B)) (param $x i32) (result anyref i32) - ;; CHECK-NEXT: (local $2 (tuple (ref $B) i32)) - ;; CHECK-NEXT: (local $3 (ref $B)) - ;; CHECK-NEXT: (local $4 (tuple (ref $A) i32)) - ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (block $label$1 (type $3) (result (ref $A) i32) - ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (br_if $label$1 - ;; CHECK-NEXT: (tuple.make 2 - ;; CHECK-NEXT: (local.get $B) - ;; CHECK-NEXT: (i32.const 3) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $x) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (block (result (ref $B)) - ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (tuple.extract 2 0 - ;; CHECK-NEXT: (local.get $2) + ;; CHECK: (func $test-local-tuple-1 (type $3) (param $B (ref $B)) (param $x i32) (result anyref i32) + ;; CHECK-NEXT: (local $scratch (tuple (ref $B) i32)) + ;; CHECK-NEXT: (local $scratch_3 (ref $B)) + ;; CHECK-NEXT: (block $block (type $2) (result (ref $A) i32) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (block (result (ref $B)) + ;; CHECK-NEXT: (local.set $scratch_3 + ;; CHECK-NEXT: (tuple.extract 2 0 + ;; CHECK-NEXT: (local.tee $scratch + ;; CHECK-NEXT: (br_if $block + ;; CHECK-NEXT: (tuple.make 2 + ;; CHECK-NEXT: (local.get $B) + ;; CHECK-NEXT: (i32.const 3) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.get $x) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (tuple.extract 2 1 - ;; CHECK-NEXT: (local.get $2) - ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (tuple.extract 2 1 + ;; CHECK-NEXT: (local.get $scratch) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.get $scratch_3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (unreachable) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (tuple.make 2 - ;; CHECK-NEXT: (tuple.extract 2 0 - ;; CHECK-NEXT: (local.get $4) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (tuple.extract 2 1 - ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) (func $test-local-tuple-1 (param $B (ref $B)) (param $x i32) (result anyref i32) @@ -77,48 +65,36 @@ ) ) - ;; CHECK: (func $test-local-tuple-2 (type $9) (param $B (ref $B)) (param $x i32) (result i32 i32) + ;; CHECK: (func $test-local-tuple-2 (type $7) (param $B (ref $B)) (param $x i32) (result i32 i32) ;; CHECK-NEXT: (local $temp i32) ;; CHECK-NEXT: (local $3 i32) - ;; CHECK-NEXT: (local $4 (tuple i32 i32)) - ;; CHECK-NEXT: (local $5 i32) - ;; CHECK-NEXT: (local $6 (tuple i32 i32)) - ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (block $label$1 (type $4) (result i32 i32) - ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (br_if $label$1 - ;; CHECK-NEXT: (tuple.make 2 - ;; CHECK-NEXT: (i32.const -1) - ;; CHECK-NEXT: (i32.const 3) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $x) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $temp - ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (tuple.extract 2 0 - ;; CHECK-NEXT: (local.get $4) + ;; CHECK-NEXT: (local $scratch (tuple i32 i32)) + ;; CHECK-NEXT: (local $scratch_5 i32) + ;; CHECK-NEXT: (block $block (type $4) (result i32 i32) + ;; CHECK-NEXT: (local.set $temp + ;; CHECK-NEXT: (block (result i32) + ;; CHECK-NEXT: (local.set $scratch_5 + ;; CHECK-NEXT: (tuple.extract 2 0 + ;; CHECK-NEXT: (local.tee $scratch + ;; CHECK-NEXT: (br_if $block + ;; CHECK-NEXT: (tuple.make 2 + ;; CHECK-NEXT: (i32.const -1) + ;; CHECK-NEXT: (i32.const 3) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.get $x) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (tuple.extract 2 1 - ;; CHECK-NEXT: (local.get $4) - ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.set $3 + ;; CHECK-NEXT: (tuple.extract 2 1 + ;; CHECK-NEXT: (local.get $scratch) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.get $scratch_5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (unreachable) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (tuple.make 2 - ;; CHECK-NEXT: (tuple.extract 2 0 - ;; CHECK-NEXT: (local.get $6) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (tuple.extract 2 1 - ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) (func $test-local-tuple-2 (param $B (ref $B)) (param $x i32) (result i32 i32) @@ -139,48 +115,36 @@ ) ) - ;; CHECK: (func $test-local-tuple-3 (type $5) (param $B (ref $B)) (param $x i32) (result anyref i32) + ;; CHECK: (func $test-local-tuple-3 (type $3) (param $B (ref $B)) (param $x i32) (result anyref i32) ;; CHECK-NEXT: (local $temp (ref $B)) ;; CHECK-NEXT: (local $3 i32) - ;; CHECK-NEXT: (local $4 (tuple (ref $B) i32)) - ;; CHECK-NEXT: (local $5 (ref $B)) - ;; CHECK-NEXT: (local $6 (tuple (ref $B) i32)) - ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (block $label$1 (type $6) (result (ref $B) i32) - ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (br_if $label$1 - ;; CHECK-NEXT: (tuple.make 2 - ;; CHECK-NEXT: (local.get $B) - ;; CHECK-NEXT: (i32.const 3) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $x) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $temp - ;; CHECK-NEXT: (block (result (ref $B)) - ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (tuple.extract 2 0 - ;; CHECK-NEXT: (local.get $4) + ;; CHECK-NEXT: (local $scratch (tuple (ref $B) i32)) + ;; CHECK-NEXT: (local $scratch_5 (ref $B)) + ;; CHECK-NEXT: (block $block (type $5) (result (ref $B) i32) + ;; CHECK-NEXT: (local.set $temp + ;; CHECK-NEXT: (block (result (ref $B)) + ;; CHECK-NEXT: (local.set $scratch_5 + ;; CHECK-NEXT: (tuple.extract 2 0 + ;; CHECK-NEXT: (local.tee $scratch + ;; CHECK-NEXT: (br_if $block + ;; CHECK-NEXT: (tuple.make 2 + ;; CHECK-NEXT: (local.get $B) + ;; CHECK-NEXT: (i32.const 3) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.get $x) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (tuple.extract 2 1 - ;; CHECK-NEXT: (local.get $4) - ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.set $3 + ;; CHECK-NEXT: (tuple.extract 2 1 + ;; CHECK-NEXT: (local.get $scratch) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $5) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.get $scratch_5) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (unreachable) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (tuple.make 2 - ;; CHECK-NEXT: (tuple.extract 2 0 - ;; CHECK-NEXT: (local.get $6) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (tuple.extract 2 1 - ;; CHECK-NEXT: (local.get $6) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) (func $test-local-tuple-3 (param $B (ref $B)) (param $x i32) (result anyref i32) @@ -201,64 +165,52 @@ ) ) - ;; CHECK: (func $test-local-tuple-4-bad (type $5) (param $B (ref $B)) (param $x i32) (result anyref i32) + ;; CHECK: (func $test-local-tuple-4-bad (type $3) (param $B (ref $B)) (param $x i32) (result anyref i32) ;; CHECK-NEXT: (local $temp (ref $B)) ;; CHECK-NEXT: (local $3 (ref $A)) ;; CHECK-NEXT: (local $4 i32) ;; CHECK-NEXT: (local $5 i32) - ;; CHECK-NEXT: (local $6 (tuple (ref $B) i32)) - ;; CHECK-NEXT: (local $7 (ref $B)) - ;; CHECK-NEXT: (local $8 (ref $B)) - ;; CHECK-NEXT: (local $9 (tuple (ref $A) i32)) - ;; CHECK-NEXT: (local.set $9 - ;; CHECK-NEXT: (block $label$1 (type $3) (result (ref $A) i32) - ;; CHECK-NEXT: (local.set $6 - ;; CHECK-NEXT: (br_if $label$1 - ;; CHECK-NEXT: (tuple.make 2 - ;; CHECK-NEXT: (local.get $B) - ;; CHECK-NEXT: (i32.const 3) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $x) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (block (result (ref $B)) - ;; CHECK-NEXT: (local.set $7 - ;; CHECK-NEXT: (tuple.extract 2 0 - ;; CHECK-NEXT: (local.get $6) + ;; CHECK-NEXT: (local $scratch (tuple (ref $B) i32)) + ;; CHECK-NEXT: (local $scratch_7 (ref $B)) + ;; CHECK-NEXT: (local $scratch_8 (ref $B)) + ;; CHECK-NEXT: (block $block (type $2) (result (ref $A) i32) + ;; CHECK-NEXT: (local.set $3 + ;; CHECK-NEXT: (block (result (ref $B)) + ;; CHECK-NEXT: (local.set $scratch_7 + ;; CHECK-NEXT: (tuple.extract 2 0 + ;; CHECK-NEXT: (local.tee $scratch + ;; CHECK-NEXT: (br_if $block + ;; CHECK-NEXT: (tuple.make 2 + ;; CHECK-NEXT: (local.get $B) + ;; CHECK-NEXT: (i32.const 3) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.get $x) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (tuple.extract 2 1 - ;; CHECK-NEXT: (local.get $6) - ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.set $5 + ;; CHECK-NEXT: (tuple.extract 2 1 + ;; CHECK-NEXT: (local.get $scratch) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $7) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.get $scratch_7) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $temp - ;; CHECK-NEXT: (block (result (ref $B)) - ;; CHECK-NEXT: (local.set $8 - ;; CHECK-NEXT: (ref.cast (ref $B) - ;; CHECK-NEXT: (local.get $3) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (local.get $5) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.set $temp + ;; CHECK-NEXT: (block (result (ref $B)) + ;; CHECK-NEXT: (local.set $scratch_8 + ;; CHECK-NEXT: (ref.cast (ref $B) + ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $8) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.set $4 + ;; CHECK-NEXT: (local.get $5) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.get $scratch_8) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (unreachable) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (tuple.make 2 - ;; CHECK-NEXT: (tuple.extract 2 0 - ;; CHECK-NEXT: (local.get $9) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (tuple.extract 2 1 - ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) (func $test-local-tuple-4-bad (param $B (ref $B)) (param $x i32) (result anyref i32) @@ -284,7 +236,7 @@ ) ) - ;; CHECK: (func $test-local-tuple-4-bad-dupes (type $10) (param $B (ref $B)) (param $x i32) (result i32 anyref i32) + ;; CHECK: (func $test-local-tuple-4-bad-dupes (type $8) (param $B (ref $B)) (param $x i32) (result i32 anyref i32) ;; CHECK-NEXT: (local $temp (ref $B)) ;; CHECK-NEXT: (local $3 (ref $B)) ;; CHECK-NEXT: (local $4 (ref $A)) @@ -293,97 +245,82 @@ ;; CHECK-NEXT: (local $7 i32) ;; CHECK-NEXT: (local $8 i32) ;; CHECK-NEXT: (local $9 i32) - ;; CHECK-NEXT: (local $10 (tuple i32 (ref $B) i32)) - ;; CHECK-NEXT: (local $11 (ref $B)) - ;; CHECK-NEXT: (local $12 i32) - ;; CHECK-NEXT: (local $13 (ref $B)) - ;; CHECK-NEXT: (local $14 i32) - ;; CHECK-NEXT: (local $15 (ref $B)) - ;; CHECK-NEXT: (local $16 (tuple i32 (ref $A) i32)) - ;; CHECK-NEXT: (local.set $16 - ;; CHECK-NEXT: (block $label$1 (type $7) (result i32 (ref $A) i32) - ;; CHECK-NEXT: (local.set $10 - ;; CHECK-NEXT: (br_if $label$1 - ;; CHECK-NEXT: (tuple.make 3 - ;; CHECK-NEXT: (i32.const -3) - ;; CHECK-NEXT: (local.get $B) - ;; CHECK-NEXT: (i32.const 3) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $x) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $9 - ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (local.set $12 - ;; CHECK-NEXT: (tuple.extract 3 0 - ;; CHECK-NEXT: (local.get $10) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $4 - ;; CHECK-NEXT: (block (result (ref $B)) - ;; CHECK-NEXT: (local.set $11 - ;; CHECK-NEXT: (tuple.extract 3 1 - ;; CHECK-NEXT: (local.get $10) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $8 - ;; CHECK-NEXT: (tuple.extract 3 2 - ;; CHECK-NEXT: (local.get $10) + ;; CHECK-NEXT: (local $scratch_10 (tuple i32 (ref $B) i32)) + ;; CHECK-NEXT: (local $scratch_11 (ref $B)) + ;; CHECK-NEXT: (local $scratch_12 i32) + ;; CHECK-NEXT: (local $scratch_13 (ref $B)) + ;; CHECK-NEXT: (local $scratch_14 i32) + ;; CHECK-NEXT: (local $scratch_15 (ref $B)) + ;; CHECK-NEXT: (block $block (type $6) (result i32 (ref $A) i32) + ;; CHECK-NEXT: (local.set $9 + ;; CHECK-NEXT: (block (result i32) + ;; CHECK-NEXT: (local.set $scratch_12 + ;; CHECK-NEXT: (tuple.extract 3 0 + ;; CHECK-NEXT: (local.tee $scratch_10 + ;; CHECK-NEXT: (br_if $block + ;; CHECK-NEXT: (tuple.make 3 + ;; CHECK-NEXT: (i32.const -3) + ;; CHECK-NEXT: (local.get $B) + ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $11) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $12) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (local.tee $scratch - ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (local.set $14 - ;; CHECK-NEXT: (local.get $9) + ;; CHECK-NEXT: (local.set $4 + ;; CHECK-NEXT: (block (result (ref $B)) + ;; CHECK-NEXT: (local.set $scratch_11 + ;; CHECK-NEXT: (tuple.extract 3 1 + ;; CHECK-NEXT: (local.get $scratch_10) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (block (result (ref $B)) - ;; CHECK-NEXT: (local.set $13 - ;; CHECK-NEXT: (ref.cast (ref $B) - ;; CHECK-NEXT: (local.get $4) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $7 - ;; CHECK-NEXT: (local.get $8) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $13) + ;; CHECK-NEXT: (local.set $8 + ;; CHECK-NEXT: (tuple.extract 3 2 + ;; CHECK-NEXT: (local.get $scratch_10) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $14) + ;; CHECK-NEXT: (local.get $scratch_11) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.get $scratch_12) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $temp - ;; CHECK-NEXT: (block (result (ref $B)) - ;; CHECK-NEXT: (local.set $15 - ;; CHECK-NEXT: (local.get $3) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (local.tee $scratch + ;; CHECK-NEXT: (block (result i32) + ;; CHECK-NEXT: (local.set $scratch_14 + ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.set $5 - ;; CHECK-NEXT: (local.get $7) + ;; CHECK-NEXT: (local.set $3 + ;; CHECK-NEXT: (block (result (ref $B)) + ;; CHECK-NEXT: (local.set $scratch_13 + ;; CHECK-NEXT: (ref.cast (ref $B) + ;; CHECK-NEXT: (local.get $4) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.set $7 + ;; CHECK-NEXT: (local.get $8) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.get $scratch_13) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $15) + ;; CHECK-NEXT: (local.get $scratch_14) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (unreachable) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (tuple.make 3 - ;; CHECK-NEXT: (tuple.extract 3 0 - ;; CHECK-NEXT: (local.get $16) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (tuple.extract 3 1 - ;; CHECK-NEXT: (local.get $16) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (tuple.extract 3 2 - ;; CHECK-NEXT: (local.get $16) + ;; CHECK-NEXT: (local.set $temp + ;; CHECK-NEXT: (block (result (ref $B)) + ;; CHECK-NEXT: (local.set $scratch_15 + ;; CHECK-NEXT: (local.get $3) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.set $5 + ;; CHECK-NEXT: (local.get $7) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.get $scratch_15) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) (func $test-local-tuple-4-bad-dupes (param $B (ref $B)) (param $x i32) (result i32 anyref i32) diff --git a/test/lit/cast-and-recast.wast b/test/lit/cast-and-recast.wast index a2fe43711..ce2af9d98 100644 --- a/test/lit/cast-and-recast.wast +++ b/test/lit/cast-and-recast.wast @@ -19,9 +19,9 @@ ) ;; CHECK: (func $test (type $3) (param $B (ref $B)) (param $x i32) (result anyref) - ;; CHECK-NEXT: (block $label$1 (result (ref $A)) + ;; CHECK-NEXT: (block $block (result (ref $A)) ;; CHECK-NEXT: (ref.cast (ref $B) - ;; CHECK-NEXT: (br_if $label$1 + ;; CHECK-NEXT: (br_if $block ;; CHECK-NEXT: (local.get $B) ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) @@ -41,9 +41,9 @@ ) ;; CHECK: (func $test-cast (type $3) (param $B (ref $B)) (param $x i32) (result anyref) - ;; CHECK-NEXT: (block $label$1 (result (ref $A)) + ;; CHECK-NEXT: (block $block (result (ref $A)) ;; CHECK-NEXT: (ref.cast (ref $B) - ;; CHECK-NEXT: (br_if $label$1 + ;; CHECK-NEXT: (br_if $block ;; CHECK-NEXT: (local.get $B) ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) @@ -64,9 +64,9 @@ ) ;; CHECK: (func $test-cast-more (type $3) (param $B (ref $B)) (param $x i32) (result anyref) - ;; CHECK-NEXT: (block $label$1 (result (ref $A)) + ;; CHECK-NEXT: (block $block (result (ref $A)) ;; CHECK-NEXT: (ref.cast (ref $C) - ;; CHECK-NEXT: (br_if $label$1 + ;; CHECK-NEXT: (br_if $block ;; CHECK-NEXT: (local.get $B) ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) @@ -87,9 +87,9 @@ ) ;; CHECK: (func $test-cast-less (type $3) (param $B (ref $B)) (param $x i32) (result anyref) - ;; CHECK-NEXT: (block $label$1 (result (ref $A)) + ;; CHECK-NEXT: (block $block (result (ref $A)) ;; CHECK-NEXT: (ref.cast (ref $B) - ;; CHECK-NEXT: (br_if $label$1 + ;; CHECK-NEXT: (br_if $block ;; CHECK-NEXT: (local.get $B) ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) @@ -112,10 +112,10 @@ ;; CHECK: (func $test-local (type $3) (param $B (ref $B)) (param $x i32) (result anyref) ;; CHECK-NEXT: (local $temp (ref $B)) - ;; CHECK-NEXT: (block $label$1 (result (ref $A)) + ;; CHECK-NEXT: (block $block (result (ref $A)) ;; CHECK-NEXT: (local.set $temp ;; CHECK-NEXT: (ref.cast (ref $B) - ;; CHECK-NEXT: (br_if $label$1 + ;; CHECK-NEXT: (br_if $block ;; CHECK-NEXT: (local.get $B) ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) @@ -140,9 +140,9 @@ ) ;; CHECK: (func $test-drop (type $3) (param $B (ref $B)) (param $x i32) (result anyref) - ;; CHECK-NEXT: (block $label$1 (result (ref $A)) + ;; CHECK-NEXT: (block $block (result (ref $A)) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (br_if $label$1 + ;; CHECK-NEXT: (br_if $block ;; CHECK-NEXT: (local.get $B) ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) @@ -164,8 +164,8 @@ ) ;; CHECK: (func $test-same (type $4) (param $A (ref $A)) (param $x i32) (result anyref) - ;; CHECK-NEXT: (block $label$1 (result (ref $A)) - ;; CHECK-NEXT: (br_if $label$1 + ;; CHECK-NEXT: (block $block (result (ref $A)) + ;; CHECK-NEXT: (br_if $block ;; CHECK-NEXT: (local.get $A) ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) diff --git a/test/lit/cast-to-basic.wast b/test/lit/cast-to-basic.wast index 4c2e7c047..7c45cf8a3 100644 --- a/test/lit/cast-to-basic.wast +++ b/test/lit/cast-to-basic.wast @@ -33,9 +33,9 @@ ;; CHECK: (func $br (type $0) (param $anyref anyref) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (block $label$1 (result structref) + ;; CHECK-NEXT: (block $block (result structref) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (br_on_cast $label$1 anyref (ref struct) + ;; CHECK-NEXT: (br_on_cast $block anyref (ref struct) ;; CHECK-NEXT: (local.get $anyref) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -58,9 +58,9 @@ ;; CHECK: (func $br-null (type $0) (param $anyref anyref) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (block $label$1 (result structref) + ;; CHECK-NEXT: (block $block (result structref) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (br_on_cast $label$1 anyref structref + ;; CHECK-NEXT: (br_on_cast $block anyref structref ;; CHECK-NEXT: (local.get $anyref) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -83,9 +83,9 @@ ;; CHECK: (func $br-fail-null (type $0) (param $anyref anyref) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (block $label$1 (result anyref) + ;; CHECK-NEXT: (block $block (result anyref) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (br_on_cast_fail $label$1 anyref structref + ;; CHECK-NEXT: (br_on_cast_fail $block anyref structref ;; CHECK-NEXT: (local.get $anyref) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/debug/source-map-stop.wast b/test/lit/debug/source-map-stop.wast index 95545e65a..04a77d9ea 100644 --- a/test/lit/debug/source-map-stop.wast +++ b/test/lit/debug/source-map-stop.wast @@ -142,6 +142,8 @@ ;; CHECK-NEXT: (return) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ;;@ + ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) (func $foo (param $x i32) (param $y i32) ;;@ src.cpp:90:1 diff --git a/test/lit/downgrade-reftypes.wast b/test/lit/downgrade-reftypes.wast index 76d8d9975..71d009dee 100644 --- a/test/lit/downgrade-reftypes.wast +++ b/test/lit/downgrade-reftypes.wast @@ -13,29 +13,29 @@ ;; CHECK: (func $foo (type $f) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (block $label$1 (result funcref) - ;; CHECK-NEXT: (br $label$1 + ;; CHECK-NEXT: (block $block (result funcref) + ;; CHECK-NEXT: (br $block ;; CHECK-NEXT: (ref.func $foo) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (block $label$2 (result funcref) - ;; CHECK-NEXT: (br $label$2 + ;; CHECK-NEXT: (block $block1 (result funcref) + ;; CHECK-NEXT: (br $block1 ;; CHECK-NEXT: (ref.null nofunc) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (block $label$3 (result externref) - ;; CHECK-NEXT: (br $label$3 + ;; CHECK-NEXT: (block $block2 (result externref) + ;; CHECK-NEXT: (br $block2 ;; CHECK-NEXT: (ref.null noextern) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (block $label$4 (result stringref) - ;; CHECK-NEXT: (br $label$4 + ;; CHECK-NEXT: (block $block3 (result stringref) + ;; CHECK-NEXT: (br $block3 ;; CHECK-NEXT: (string.const "hello world") ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/multivalue-stack-ir.wast b/test/lit/multivalue-stack-ir.wast index b4a394a05..97c353eb4 100644 --- a/test/lit/multivalue-stack-ir.wast +++ b/test/lit/multivalue-stack-ir.wast @@ -9,16 +9,16 @@ ;; CHECK-NEXT: (local $pair f32) ;; CHECK-NEXT: (local $f32 f32) ;; CHECK-NEXT: (local $2 i32) - ;; CHECK-NEXT: (local $3 f32) + ;; CHECK-NEXT: (local $scratch f32) ;; CHECK-NEXT: (local.set $pair ;; CHECK-NEXT: (block (result f32) - ;; CHECK-NEXT: (local.set $3 + ;; CHECK-NEXT: (local.set $scratch ;; CHECK-NEXT: (f32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $2 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $3) + ;; CHECK-NEXT: (local.get $scratch) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $f32 diff --git a/test/lit/multivalue.wast b/test/lit/multivalue.wast index 0cfafb2a9..d9cc14e05 100644 --- a/test/lit/multivalue.wast +++ b/test/lit/multivalue.wast @@ -28,35 +28,32 @@ ) ;; CHECK: (func $get-first (type $6) (result i32) - ;; CHECK-NEXT: (local $0 (tuple i32 i64 f32)) - ;; CHECK-NEXT: (local $1 i64) - ;; CHECK-NEXT: (local $2 i32) - ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (call $triple) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (local.set $2 - ;; CHECK-NEXT: (tuple.extract 3 0 - ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local $scratch (tuple i32 i64 f32)) + ;; CHECK-NEXT: (local $scratch_1 i64) + ;; CHECK-NEXT: (local $scratch_2 i32) + ;; CHECK-NEXT: (local.set $scratch_2 + ;; CHECK-NEXT: (tuple.extract 3 0 + ;; CHECK-NEXT: (local.tee $scratch + ;; CHECK-NEXT: (call $triple) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (block (result i64) - ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (tuple.extract 3 1 - ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (block (result i64) + ;; CHECK-NEXT: (local.set $scratch_1 + ;; CHECK-NEXT: (tuple.extract 3 1 + ;; CHECK-NEXT: (local.get $scratch) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (tuple.extract 3 2 - ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (tuple.extract 3 2 + ;; CHECK-NEXT: (local.get $scratch) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.get $scratch_1) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local.get $scratch_2) ;; CHECK-NEXT: ) (func $get-first (result i32) (tuple.extract 3 0 @@ -64,37 +61,36 @@ ) ) - ;; CHECK: (func $get-second (type $3) (result i64) + ;; CHECK: (func $get-second (type $2) (result i64) ;; CHECK-NEXT: (local $0 i64) - ;; CHECK-NEXT: (local $1 (tuple i32 i64 f32)) - ;; CHECK-NEXT: (local $2 i64) - ;; CHECK-NEXT: (local $3 i32) - ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (call $triple) - ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local $scratch (tuple i32 i64 f32)) + ;; CHECK-NEXT: (local $scratch_2 i64) + ;; CHECK-NEXT: (local $scratch_3 i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (local.set $3 + ;; CHECK-NEXT: (local.set $scratch_3 ;; CHECK-NEXT: (tuple.extract 3 0 - ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: (local.tee $scratch + ;; CHECK-NEXT: (call $triple) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (block (result i64) - ;; CHECK-NEXT: (local.set $2 + ;; CHECK-NEXT: (local.set $scratch_2 ;; CHECK-NEXT: (tuple.extract 3 1 - ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: (local.get $scratch) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (tuple.extract 3 2 - ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: (local.get $scratch) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $2) + ;; CHECK-NEXT: (local.get $scratch_2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $3) + ;; CHECK-NEXT: (local.get $scratch_3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) @@ -107,35 +103,34 @@ ;; CHECK: (func $get-third (type $7) (result f32) ;; CHECK-NEXT: (local $0 f32) - ;; CHECK-NEXT: (local $1 (tuple i32 i64 f32)) - ;; CHECK-NEXT: (local $2 i64) - ;; CHECK-NEXT: (local $3 i32) - ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (call $triple) - ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local $scratch (tuple i32 i64 f32)) + ;; CHECK-NEXT: (local $scratch_2 i64) + ;; CHECK-NEXT: (local $scratch_3 i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (local.set $3 + ;; CHECK-NEXT: (local.set $scratch_3 ;; CHECK-NEXT: (tuple.extract 3 0 - ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: (local.tee $scratch + ;; CHECK-NEXT: (call $triple) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result i64) - ;; CHECK-NEXT: (local.set $2 + ;; CHECK-NEXT: (local.set $scratch_2 ;; CHECK-NEXT: (tuple.extract 3 1 - ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: (local.get $scratch) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (tuple.extract 3 2 - ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: (local.get $scratch) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $2) + ;; CHECK-NEXT: (local.get $scratch_2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $3) + ;; CHECK-NEXT: (local.get $scratch_3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) @@ -146,39 +141,38 @@ ) ) - ;; CHECK: (func $reverse (type $4) (result f32 i64 i32) + ;; CHECK: (func $reverse (type $3) (result f32 i64 i32) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (local $1 i64) ;; CHECK-NEXT: (local $2 f32) - ;; CHECK-NEXT: (local $3 (tuple i32 i64 f32)) - ;; CHECK-NEXT: (local $4 i64) - ;; CHECK-NEXT: (local $5 i32) - ;; CHECK-NEXT: (local.set $3 - ;; CHECK-NEXT: (call $triple) - ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local $scratch (tuple i32 i64 f32)) + ;; CHECK-NEXT: (local $scratch_4 i64) + ;; CHECK-NEXT: (local $scratch_5 i32) ;; CHECK-NEXT: (local.set $x ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (local.set $5 + ;; CHECK-NEXT: (local.set $scratch_5 ;; CHECK-NEXT: (tuple.extract 3 0 - ;; CHECK-NEXT: (local.get $3) + ;; CHECK-NEXT: (local.tee $scratch + ;; CHECK-NEXT: (call $triple) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $1 ;; CHECK-NEXT: (block (result i64) - ;; CHECK-NEXT: (local.set $4 + ;; CHECK-NEXT: (local.set $scratch_4 ;; CHECK-NEXT: (tuple.extract 3 1 - ;; CHECK-NEXT: (local.get $3) + ;; CHECK-NEXT: (local.get $scratch) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $2 ;; CHECK-NEXT: (tuple.extract 3 2 - ;; CHECK-NEXT: (local.get $3) + ;; CHECK-NEXT: (local.get $scratch) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $4) + ;; CHECK-NEXT: (local.get $scratch_4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $5) + ;; CHECK-NEXT: (local.get $scratch_5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (tuple.make 3 @@ -205,7 +199,7 @@ ) ) - ;; CHECK: (func $unreachable (type $3) (result i64) + ;; CHECK: (func $unreachable (type $2) (result i64) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.const 42) ;; CHECK-NEXT: ) @@ -226,16 +220,16 @@ ;; Test multivalue globals ;; CHECK: (func $global (type $0) (result i32 i64) - ;; CHECK-NEXT: (local $0 i32) + ;; CHECK-NEXT: (local $scratch i32) ;; CHECK-NEXT: (global.set $g1 ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (local.set $0 + ;; CHECK-NEXT: (local.set $scratch ;; CHECK-NEXT: (i32.const 42) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (global.set $g2 ;; CHECK-NEXT: (i64.const 7) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $scratch) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop @@ -263,24 +257,23 @@ ;; Test lowering of multivalue drops ;; CHECK: (func $drop-call (type $1) - ;; CHECK-NEXT: (local $0 (tuple i32 i64)) - ;; CHECK-NEXT: (local $1 i32) - ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (call $pair) - ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local $scratch (tuple i32 i64)) + ;; CHECK-NEXT: (local $scratch_1 i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (local.set $1 + ;; CHECK-NEXT: (local.set $scratch_1 ;; CHECK-NEXT: (tuple.extract 2 0 - ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.tee $scratch + ;; CHECK-NEXT: (call $pair) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (tuple.extract 2 1 - ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $scratch) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: (local.get $scratch_1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -291,16 +284,16 @@ ) ;; CHECK: (func $drop-tuple-make (type $1) - ;; CHECK-NEXT: (local $0 i32) + ;; CHECK-NEXT: (local $scratch i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (local.set $0 + ;; CHECK-NEXT: (local.set $scratch ;; CHECK-NEXT: (i32.const 42) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i64.const 42) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $scratch) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -314,29 +307,28 @@ ) ;; CHECK: (func $drop-block (type $1) - ;; CHECK-NEXT: (local $0 (tuple i32 i64)) - ;; CHECK-NEXT: (local $1 i32) - ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (block $label$1 (type $0) (result i32 i64) - ;; CHECK-NEXT: (tuple.make 2 - ;; CHECK-NEXT: (i32.const 42) - ;; CHECK-NEXT: (i64.const 42) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local $scratch (tuple i32 i64)) + ;; CHECK-NEXT: (local $scratch_1 i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result i32) - ;; CHECK-NEXT: (local.set $1 + ;; CHECK-NEXT: (local.set $scratch_1 ;; CHECK-NEXT: (tuple.extract 2 0 - ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.tee $scratch + ;; CHECK-NEXT: (block (type $0) (result i32 i64) + ;; CHECK-NEXT: (tuple.make 2 + ;; CHECK-NEXT: (i32.const 42) + ;; CHECK-NEXT: (i64.const 42) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (tuple.extract 2 1 - ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $scratch) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: (local.get $scratch_1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -389,25 +381,14 @@ ) ;; CHECK: (func $mv-block-break (type $0) (result i32 i64) - ;; CHECK-NEXT: (local $0 (tuple i32 i64)) - ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (block $label$1 (type $0) (result i32 i64) - ;; CHECK-NEXT: (br $label$1 - ;; CHECK-NEXT: (tuple.make 2 - ;; CHECK-NEXT: (i32.const 42) - ;; CHECK-NEXT: (i64.const 42) - ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (block $block (type $0) (result i32 i64) + ;; CHECK-NEXT: (br $block + ;; CHECK-NEXT: (tuple.make 2 + ;; CHECK-NEXT: (i32.const 42) + ;; CHECK-NEXT: (i64.const 42) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (tuple.make 2 - ;; CHECK-NEXT: (tuple.extract 2 0 - ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (tuple.extract 2 1 - ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) (func $mv-block-break (result i32 i64) (block $l (result i32 i64) @@ -421,35 +402,13 @@ ) ;; CHECK: (func $mv-block-br-if (type $0) (result i32 i64) - ;; CHECK-NEXT: (local $0 (tuple i32 i64)) - ;; CHECK-NEXT: (local $1 (tuple i32 i64)) - ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (block $label$1 (type $0) (result i32 i64) - ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (br_if $label$1 - ;; CHECK-NEXT: (tuple.make 2 - ;; CHECK-NEXT: (i32.const 42) - ;; CHECK-NEXT: (i64.const 42) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 1) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (block $block (type $0) (result i32 i64) + ;; CHECK-NEXT: (br_if $block ;; CHECK-NEXT: (tuple.make 2 - ;; CHECK-NEXT: (tuple.extract 2 0 - ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (tuple.extract 2 1 - ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.const 42) + ;; CHECK-NEXT: (i64.const 42) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (tuple.make 2 - ;; CHECK-NEXT: (tuple.extract 2 0 - ;; CHECK-NEXT: (local.get $1) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (tuple.extract 2 1 - ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -465,36 +424,22 @@ ) ) - ;; CHECK: (func $mv-if (type $2) (result i32 i64 externref) - ;; CHECK-NEXT: (local $0 (tuple i32 i64 externref)) - ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (if (type $2) (result i32 i64 externref) - ;; CHECK-NEXT: (i32.const 1) - ;; CHECK-NEXT: (then - ;; CHECK-NEXT: (tuple.make 3 - ;; CHECK-NEXT: (i32.const 42) - ;; CHECK-NEXT: (i64.const 42) - ;; CHECK-NEXT: (ref.null noextern) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (else - ;; CHECK-NEXT: (tuple.make 3 - ;; CHECK-NEXT: (i32.const 42) - ;; CHECK-NEXT: (i64.const 42) - ;; CHECK-NEXT: (ref.null noextern) - ;; CHECK-NEXT: ) + ;; CHECK: (func $mv-if (type $4) (result i32 i64 externref) + ;; CHECK-NEXT: (if (type $4) (result i32 i64 externref) + ;; CHECK-NEXT: (i32.const 1) + ;; CHECK-NEXT: (then + ;; CHECK-NEXT: (tuple.make 3 + ;; CHECK-NEXT: (i32.const 42) + ;; CHECK-NEXT: (i64.const 42) + ;; CHECK-NEXT: (ref.null noextern) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (tuple.make 3 - ;; CHECK-NEXT: (tuple.extract 3 0 - ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (tuple.extract 3 1 - ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (tuple.extract 3 2 - ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (else + ;; CHECK-NEXT: (tuple.make 3 + ;; CHECK-NEXT: (i32.const 42) + ;; CHECK-NEXT: (i64.const 42) + ;; CHECK-NEXT: (ref.null noextern) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -519,21 +464,10 @@ ) ;; CHECK: (func $mv-loop (type $0) (result i32 i64) - ;; CHECK-NEXT: (local $0 (tuple i32 i64)) - ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (loop $label$1 (type $0) (result i32 i64) - ;; CHECK-NEXT: (tuple.make 2 - ;; CHECK-NEXT: (i32.const 42) - ;; CHECK-NEXT: (i64.const 42) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (tuple.make 2 - ;; CHECK-NEXT: (tuple.extract 2 0 - ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (tuple.extract 2 1 - ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (loop (type $0) (result i32 i64) + ;; CHECK-NEXT: (tuple.make 2 + ;; CHECK-NEXT: (i32.const 42) + ;; CHECK-NEXT: (i64.const 42) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) @@ -547,39 +481,17 @@ ) ;; CHECK: (func $mv-switch (type $0) (result i32 i64) - ;; CHECK-NEXT: (local $0 (tuple i32 i64)) - ;; CHECK-NEXT: (local $1 (tuple i32 i64)) - ;; CHECK-NEXT: (local.set $1 - ;; CHECK-NEXT: (block $label$1 (type $0) (result i32 i64) - ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (block $label$2 (type $0) (result i32 i64) - ;; CHECK-NEXT: (br_table $label$1 $label$2 - ;; CHECK-NEXT: (tuple.make 2 - ;; CHECK-NEXT: (i32.const 42) - ;; CHECK-NEXT: (i64.const 42) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (i32.const 0) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (tuple.make 2 - ;; CHECK-NEXT: (tuple.extract 2 0 - ;; CHECK-NEXT: (local.get $0) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (tuple.extract 2 1 - ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (block $block (type $0) (result i32 i64) + ;; CHECK-NEXT: (block $block1 (type $0) (result i32 i64) + ;; CHECK-NEXT: (br_table $block $block1 + ;; CHECK-NEXT: (tuple.make 2 + ;; CHECK-NEXT: (i32.const 42) + ;; CHECK-NEXT: (i64.const 42) ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (tuple.make 2 - ;; CHECK-NEXT: (tuple.extract 2 0 - ;; CHECK-NEXT: (local.get $1) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (tuple.extract 2 1 - ;; CHECK-NEXT: (local.get $1) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) (func $mv-switch (result i32 i64) (block $a (result i32 i64) diff --git a/test/lit/parse-double-unreachable.wast b/test/lit/parse-double-unreachable.wast index b232a40fb..9b0e8f573 100644 --- a/test/lit/parse-double-unreachable.wast +++ b/test/lit/parse-double-unreachable.wast @@ -15,7 +15,24 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.null nofunc) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (unreachable) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (unreachable) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (local.get $x) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (ref.null nofunc) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (block ;; (replaces unreachable ArrayGet we can't emit) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (unreachable) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (unreachable) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (unreachable) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) (func $double-unreachable (param $x (ref $array)) (result i32) diff --git a/test/lit/passes/roundtrip-gc.wast b/test/lit/passes/roundtrip-gc.wast index 57300def5..d2c32542c 100644 --- a/test/lit/passes/roundtrip-gc.wast +++ b/test/lit/passes/roundtrip-gc.wast @@ -6,14 +6,14 @@ ;; CHECK: (export "export" (func $test)) (export "export" (func $test)) ;; CHECK: (func $test (type $1) - ;; CHECK-NEXT: (local $0 (ref $\7bi32\7d)) + ;; CHECK-NEXT: (local $scratch (ref $\7bi32\7d)) ;; CHECK-NEXT: (call $help ;; CHECK-NEXT: (block (result (ref $\7bi32\7d)) - ;; CHECK-NEXT: (local.set $0 + ;; CHECK-NEXT: (local.set $scratch ;; CHECK-NEXT: (struct.new_default $\7bi32\7d) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $other) - ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $scratch) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/roundtrip.wast b/test/lit/passes/roundtrip.wast index 59e303eaf..21aa1f671 100644 --- a/test/lit/passes/roundtrip.wast +++ b/test/lit/passes/roundtrip.wast @@ -5,29 +5,28 @@ ;; CHECK: (type $none (func)) (type $none (func)) ;; CHECK: (func $foo (type $none) - ;; CHECK-NEXT: (local $0 (tuple funcref (ref $none))) - ;; CHECK-NEXT: (local $1 funcref) - ;; CHECK-NEXT: (local.set $0 - ;; CHECK-NEXT: (block $label$1 (type $1) (result funcref (ref $none)) - ;; CHECK-NEXT: (tuple.make 2 - ;; CHECK-NEXT: (ref.null nofunc) - ;; CHECK-NEXT: (ref.func $foo) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) - ;; CHECK-NEXT: ) + ;; CHECK-NEXT: (local $scratch (tuple funcref (ref $none))) + ;; CHECK-NEXT: (local $scratch_1 funcref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result funcref) - ;; CHECK-NEXT: (local.set $1 + ;; CHECK-NEXT: (local.set $scratch_1 ;; CHECK-NEXT: (tuple.extract 2 0 - ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.tee $scratch + ;; CHECK-NEXT: (block (type $1) (result funcref (ref $none)) + ;; CHECK-NEXT: (tuple.make 2 + ;; CHECK-NEXT: (ref.null nofunc) + ;; CHECK-NEXT: (ref.func $foo) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (tuple.extract 2 1 - ;; CHECK-NEXT: (local.get $0) + ;; CHECK-NEXT: (local.get $scratch) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (local.get $1) + ;; CHECK-NEXT: (local.get $scratch_1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/signature-refining_gto.wat b/test/lit/passes/signature-refining_gto.wat index ec2b517b1..c69eeb244 100644 --- a/test/lit/passes/signature-refining_gto.wat +++ b/test/lit/passes/signature-refining_gto.wat @@ -17,7 +17,9 @@ ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (unreachable) + ;; CHECK-NEXT: (drop + ;; CHECK-NEXT: (unreachable) + ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) (func $struct.get (param $0 (ref $A)) ;; This function is always called with a null, so the parameter type will be diff --git a/test/lit/passes/stack-ir-roundtrip-eh-legacy.wast b/test/lit/passes/stack-ir-roundtrip-eh-legacy.wast index 439681a8f..dbaa2c601 100644 --- a/test/lit/passes/stack-ir-roundtrip-eh-legacy.wast +++ b/test/lit/passes/stack-ir-roundtrip-eh-legacy.wast @@ -5,16 +5,16 @@ ;; CHECK: (tag $tag (param i32)) (tag $tag (param i32)) ;; CHECK: (func $delegate-child (type $1) - ;; CHECK-NEXT: (try $label$9 + ;; CHECK-NEXT: (try ;; CHECK-NEXT: (do - ;; CHECK-NEXT: (try $label$7 + ;; CHECK-NEXT: (try ;; CHECK-NEXT: (do ;; CHECK-NEXT: ) ;; CHECK-NEXT: (catch $tag ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (pop i32) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (try $label$6 + ;; CHECK-NEXT: (try ;; CHECK-NEXT: (do ;; CHECK-NEXT: ) ;; CHECK-NEXT: (delegate 2) diff --git a/test/lit/reftypes-without-gc.wast b/test/lit/reftypes-without-gc.wast index e71aa5269..d251d0e0b 100644 --- a/test/lit/reftypes-without-gc.wast +++ b/test/lit/reftypes-without-gc.wast @@ -10,8 +10,8 @@ (module ;; CHECK: (func $test (param $x i32) (result funcref) - ;; CHECK-NEXT: (block $label$1 (result funcref) - ;; CHECK-NEXT: (br_if $label$1 + ;; CHECK-NEXT: (block $block (result funcref) + ;; CHECK-NEXT: (br_if $block ;; CHECK-NEXT: (ref.func $test) ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) diff --git a/test/lit/source-map.wast b/test/lit/source-map.wast index b4fc55374..fe534043b 100644 --- a/test/lit/source-map.wast +++ b/test/lit/source-map.wast @@ -48,10 +48,7 @@ ;;@ src.cpp:40:1 (local.get $y) ) - ;; For the legacy parser - ;;@ src.cpp:50:1 (then - ;; For the new parser ;;@ src.cpp:50:1 (return) ) @@ -68,10 +65,10 @@ ;; CHECK: (func $nested-blocks ;; CHECK-NEXT: ;;@ src.cpp:2:1 - ;; CHECK-NEXT: (block $label$1 + ;; CHECK-NEXT: (block ;; CHECK-NEXT: ;;@ src.cpp:2:2 - ;; CHECK-NEXT: (block $label$2 - ;; CHECK-NEXT: (br $label$2) + ;; CHECK-NEXT: (block $block + ;; CHECK-NEXT: (br $block) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ;;@ src.cpp:3:1 diff --git a/test/lit/string.as_wtf16.wast b/test/lit/string.as_wtf16.wast index 60bdcf5ec..74bbc97ea 100644 --- a/test/lit/string.as_wtf16.wast +++ b/test/lit/string.as_wtf16.wast @@ -26,33 +26,33 @@ ;; CHECK-NEXT: ) ;; RTRIP: (func $codeunit (type $1) (result i32) ;; RTRIP-NEXT: (local $0 i32) - ;; RTRIP-NEXT: (local $1 (ref string)) + ;; RTRIP-NEXT: (local $scratch (ref string)) ;; RTRIP-NEXT: (stringview_wtf16.get_codeunit ;; RTRIP-NEXT: (block (result (ref string)) - ;; RTRIP-NEXT: (local.set $1 + ;; RTRIP-NEXT: (local.set $scratch ;; RTRIP-NEXT: (string.const "abc") ;; RTRIP-NEXT: ) ;; RTRIP-NEXT: (local.set $0 ;; RTRIP-NEXT: (i32.const 0) ;; RTRIP-NEXT: ) - ;; RTRIP-NEXT: (local.get $1) + ;; RTRIP-NEXT: (local.get $scratch) ;; RTRIP-NEXT: ) ;; RTRIP-NEXT: (local.get $0) ;; RTRIP-NEXT: ) ;; RTRIP-NEXT: ) ;; RRTRP: (func $codeunit (type $1) (result i32) ;; RRTRP-NEXT: (local $0 i32) - ;; RRTRP-NEXT: (local $1 (ref string)) - ;; RRTRP-NEXT: (local $2 (ref string)) + ;; RRTRP-NEXT: (local $scratch (ref string)) + ;; RRTRP-NEXT: (local $scratch_2 (ref string)) ;; RRTRP-NEXT: (stringview_wtf16.get_codeunit ;; RRTRP-NEXT: (block (result (ref string)) - ;; RRTRP-NEXT: (local.set $2 + ;; RRTRP-NEXT: (local.set $scratch_2 ;; RRTRP-NEXT: (string.const "abc") ;; RRTRP-NEXT: ) ;; RRTRP-NEXT: (local.set $0 ;; RRTRP-NEXT: (i32.const 0) ;; RRTRP-NEXT: ) - ;; RRTRP-NEXT: (local.get $2) + ;; RRTRP-NEXT: (local.get $scratch_2) ;; RRTRP-NEXT: ) ;; RRTRP-NEXT: (local.get $0) ;; RRTRP-NEXT: ) @@ -108,25 +108,25 @@ ;; RTRIP: (func $slice (type $0) (result stringref) ;; RTRIP-NEXT: (local $0 i32) ;; RTRIP-NEXT: (local $1 i32) - ;; RTRIP-NEXT: (local $2 i32) - ;; RTRIP-NEXT: (local $3 (ref string)) + ;; RTRIP-NEXT: (local $scratch i32) + ;; RTRIP-NEXT: (local $scratch_3 (ref string)) ;; RTRIP-NEXT: (stringview_wtf16.slice ;; RTRIP-NEXT: (block (result (ref string)) - ;; RTRIP-NEXT: (local.set $3 + ;; RTRIP-NEXT: (local.set $scratch_3 ;; RTRIP-NEXT: (string.const "abc") ;; RTRIP-NEXT: ) ;; RTRIP-NEXT: (local.set $0 ;; RTRIP-NEXT: (block (result i32) - ;; RTRIP-NEXT: (local.set $2 + ;; RTRIP-NEXT: (local.set $scratch ;; RTRIP-NEXT: (i32.const 1) ;; RTRIP-NEXT: ) ;; RTRIP-NEXT: (local.set $1 ;; RTRIP-NEXT: (i32.const 2) ;; RTRIP-NEXT: ) - ;; RTRIP-NEXT: (local.get $2) + ;; RTRIP-NEXT: (local.get $scratch) ;; RTRIP-NEXT: ) ;; RTRIP-NEXT: ) - ;; RTRIP-NEXT: (local.get $3) + ;; RTRIP-NEXT: (local.get $scratch_3) ;; RTRIP-NEXT: ) ;; RTRIP-NEXT: (local.get $0) ;; RTRIP-NEXT: (local.get $1) @@ -135,27 +135,27 @@ ;; RRTRP: (func $slice (type $0) (result stringref) ;; RRTRP-NEXT: (local $0 i32) ;; RRTRP-NEXT: (local $1 i32) - ;; RRTRP-NEXT: (local $2 i32) - ;; RRTRP-NEXT: (local $3 (ref string)) - ;; RRTRP-NEXT: (local $4 i32) - ;; RRTRP-NEXT: (local $5 (ref string)) + ;; RRTRP-NEXT: (local $scratch i32) + ;; RRTRP-NEXT: (local $scratch_3 (ref string)) + ;; RRTRP-NEXT: (local $scratch_4 i32) + ;; RRTRP-NEXT: (local $scratch_5 (ref string)) ;; RRTRP-NEXT: (stringview_wtf16.slice ;; RRTRP-NEXT: (block (result (ref string)) - ;; RRTRP-NEXT: (local.set $5 + ;; RRTRP-NEXT: (local.set $scratch_5 ;; RRTRP-NEXT: (string.const "abc") ;; RRTRP-NEXT: ) ;; RRTRP-NEXT: (local.set $0 ;; RRTRP-NEXT: (block (result i32) - ;; RRTRP-NEXT: (local.set $4 + ;; RRTRP-NEXT: (local.set $scratch_4 ;; RRTRP-NEXT: (i32.const 1) ;; RRTRP-NEXT: ) ;; RRTRP-NEXT: (local.set $1 ;; RRTRP-NEXT: (i32.const 2) ;; RRTRP-NEXT: ) - ;; RRTRP-NEXT: (local.get $4) + ;; RRTRP-NEXT: (local.get $scratch_4) ;; RRTRP-NEXT: ) ;; RRTRP-NEXT: ) - ;; RRTRP-NEXT: (local.get $5) + ;; RRTRP-NEXT: (local.get $scratch_5) ;; RRTRP-NEXT: ) ;; RRTRP-NEXT: (local.get $0) ;; RRTRP-NEXT: (local.get $1) @@ -185,25 +185,25 @@ ;; RTRIP-NEXT: (local $start i32) ;; RTRIP-NEXT: (local $1 i32) ;; RTRIP-NEXT: (local $2 i32) - ;; RTRIP-NEXT: (local $3 i32) - ;; RTRIP-NEXT: (local $4 (ref string)) + ;; RTRIP-NEXT: (local $scratch i32) + ;; RTRIP-NEXT: (local $scratch_4 (ref string)) ;; RTRIP-NEXT: (stringview_wtf16.slice ;; RTRIP-NEXT: (block (result (ref string)) - ;; RTRIP-NEXT: (local.set $4 + ;; RTRIP-NEXT: (local.set $scratch_4 ;; RTRIP-NEXT: (string.const "abc") ;; RTRIP-NEXT: ) ;; RTRIP-NEXT: (local.set $1 ;; RTRIP-NEXT: (block (result i32) - ;; RTRIP-NEXT: (local.set $3 + ;; RTRIP-NEXT: (local.set $scratch ;; RTRIP-NEXT: (local.get $start) ;; RTRIP-NEXT: ) ;; RTRIP-NEXT: (local.set $2 ;; RTRIP-NEXT: (i32.const 2) ;; RTRIP-NEXT: ) - ;; RTRIP-NEXT: (local.get $3) + ;; RTRIP-NEXT: (local.get $scratch) ;; RTRIP-NEXT: ) ;; RTRIP-NEXT: ) - ;; RTRIP-NEXT: (local.get $4) + ;; RTRIP-NEXT: (local.get $scratch_4) ;; RTRIP-NEXT: ) ;; RTRIP-NEXT: (local.get $1) ;; RTRIP-NEXT: (local.get $2) @@ -213,27 +213,27 @@ ;; RRTRP-NEXT: (local $start i32) ;; RRTRP-NEXT: (local $1 i32) ;; RRTRP-NEXT: (local $2 i32) - ;; RRTRP-NEXT: (local $3 i32) - ;; RRTRP-NEXT: (local $4 (ref string)) - ;; RRTRP-NEXT: (local $5 i32) - ;; RRTRP-NEXT: (local $6 (ref string)) + ;; RRTRP-NEXT: (local $scratch i32) + ;; RRTRP-NEXT: (local $scratch_4 (ref string)) + ;; RRTRP-NEXT: (local $scratch_5 i32) + ;; RRTRP-NEXT: (local $scratch_6 (ref string)) ;; RRTRP-NEXT: (stringview_wtf16.slice ;; RRTRP-NEXT: (block (result (ref string)) - ;; RRTRP-NEXT: (local.set $6 + ;; RRTRP-NEXT: (local.set $scratch_6 ;; RRTRP-NEXT: (string.const "abc") ;; RRTRP-NEXT: ) ;; RRTRP-NEXT: (local.set $1 ;; RRTRP-NEXT: (block (result i32) - ;; RRTRP-NEXT: (local.set $5 + ;; RRTRP-NEXT: (local.set $scratch_5 ;; RRTRP-NEXT: (local.get $start) ;; RRTRP-NEXT: ) ;; RRTRP-NEXT: (local.set $2 ;; RRTRP-NEXT: (i32.const 2) ;; RRTRP-NEXT: ) - ;; RRTRP-NEXT: (local.get $5) + ;; RRTRP-NEXT: (local.get $scratch_5) ;; RRTRP-NEXT: ) ;; RRTRP-NEXT: ) - ;; RRTRP-NEXT: (local.get $6) + ;; RRTRP-NEXT: (local.get $scratch_6) ;; RRTRP-NEXT: ) ;; RRTRP-NEXT: (local.get $1) ;; RRTRP-NEXT: (local.get $2) @@ -261,25 +261,25 @@ ;; RTRIP-NEXT: (local $end i32) ;; RTRIP-NEXT: (local $1 i32) ;; RTRIP-NEXT: (local $2 i32) - ;; RTRIP-NEXT: (local $3 i32) - ;; RTRIP-NEXT: (local $4 (ref string)) + ;; RTRIP-NEXT: (local $scratch i32) + ;; RTRIP-NEXT: (local $scratch_4 (ref string)) ;; RTRIP-NEXT: (stringview_wtf16.slice ;; RTRIP-NEXT: (block (result (ref string)) - ;; RTRIP-NEXT: (local.set $4 + ;; RTRIP-NEXT: (local.set $scratch_4 ;; RTRIP-NEXT: (string.const "abc") ;; RTRIP-NEXT: ) ;; RTRIP-NEXT: (local.set $1 ;; RTRIP-NEXT: (block (result i32) - ;; RTRIP-NEXT: (local.set $3 + ;; RTRIP-NEXT: (local.set $scratch ;; RTRIP-NEXT: (i32.const 1) ;; RTRIP-NEXT: ) ;; RTRIP-NEXT: (local.set $2 ;; RTRIP-NEXT: (local.get $end) ;; RTRIP-NEXT: ) - ;; RTRIP-NEXT: (local.get $3) + ;; RTRIP-NEXT: (local.get $scratch) ;; RTRIP-NEXT: ) ;; RTRIP-NEXT: ) - ;; RTRIP-NEXT: (local.get $4) + ;; RTRIP-NEXT: (local.get $scratch_4) ;; RTRIP-NEXT: ) ;; RTRIP-NEXT: (local.get $1) ;; RTRIP-NEXT: (local.get $2) @@ -289,27 +289,27 @@ ;; RRTRP-NEXT: (local $end i32) ;; RRTRP-NEXT: (local $1 i32) ;; RRTRP-NEXT: (local $2 i32) - ;; RRTRP-NEXT: (local $3 i32) - ;; RRTRP-NEXT: (local $4 (ref string)) - ;; RRTRP-NEXT: (local $5 i32) - ;; RRTRP-NEXT: (local $6 (ref string)) + ;; RRTRP-NEXT: (local $scratch i32) + ;; RRTRP-NEXT: (local $scratch_4 (ref string)) + ;; RRTRP-NEXT: (local $scratch_5 i32) + ;; RRTRP-NEXT: (local $scratch_6 (ref string)) ;; RRTRP-NEXT: (stringview_wtf16.slice ;; RRTRP-NEXT: (block (result (ref string)) - ;; RRTRP-NEXT: (local.set $6 + ;; RRTRP-NEXT: (local.set $scratch_6 ;; RRTRP-NEXT: (string.const "abc") ;; RRTRP-NEXT: ) ;; RRTRP-NEXT: (local.set $1 ;; RRTRP-NEXT: (block (result i32) - ;; RRTRP-NEXT: (local.set $5 + ;; RRTRP-NEXT: (local.set $scratch_5 ;; RRTRP-NEXT: (i32.const 1) ;; RRTRP-NEXT: ) ;; RRTRP-NEXT: (local.set $2 ;; RRTRP-NEXT: (local.get $end) ;; RRTRP-NEXT: ) - ;; RRTRP-NEXT: (local.get $5) + ;; RRTRP-NEXT: (local.get $scratch_5) ;; RRTRP-NEXT: ) ;; RRTRP-NEXT: ) - ;; RRTRP-NEXT: (local.get $6) + ;; RRTRP-NEXT: (local.get $scratch_6) ;; RRTRP-NEXT: ) ;; RRTRP-NEXT: (local.get $1) ;; RRTRP-NEXT: (local.get $2) diff --git a/test/lld/em_asm_pthread.wasm.out b/test/lld/em_asm_pthread.wasm.out index f275876a9..8284cc6dc 100644 --- a/test/lld/em_asm_pthread.wasm.out +++ b/test/lld/em_asm_pthread.wasm.out @@ -269,8 +269,8 @@ ) (func $5 (local $0 i32) - (block $label$1 - (br_if $label$1 + (block $block + (br_if $block (i32.eqz (local.tee $0 (global.get $global$1) @@ -348,9 +348,9 @@ (i32.const 2147483647) ) ) - (block $label$1 - (block $label$2 - (br_if $label$2 + (block $block1 + (block $block + (br_if $block (i32.ne (i32.and (local.get $1) @@ -359,7 +359,7 @@ (i32.const 1) ) ) - (br_if $label$2 + (br_if $block (i32.ne (local.get $5) (local.get $3) @@ -368,7 +368,7 @@ (local.set $6 (i32.const 6) ) - (br_if $label$1 + (br_if $block1 (i32.gt_u (local.tee $5 (i32.load offset=20 @@ -392,14 +392,14 @@ (local.set $6 (i32.const 56) ) - (br_if $label$1 + (br_if $block1 (i32.eq (local.get $5) (i32.const 2147483647) ) ) - (block $label$3 - (br_if $label$3 + (block $block2 + (br_if $block2 (i32.eqz (i32.and (i32.load8_u @@ -409,8 +409,8 @@ ) ) ) - (block $label$4 - (br_if $label$4 + (block $block3 + (br_if $block3 (i32.load (i32.add (local.get $2) @@ -449,15 +449,15 @@ ) ) ) - (block $label$5 - (block $label$6 - (block $label$7 - (br_if $label$7 + (block $block6 + (block $block5 + (block $block4 + (br_if $block4 (i32.eqz (local.get $5) ) ) - (br_if $label$6 + (br_if $block5 (i32.eqz (i32.and (local.get $1) @@ -465,7 +465,7 @@ ) ) ) - (br_if $label$6 + (br_if $block5 (i32.eqz (i32.and (local.get $4) @@ -474,7 +474,7 @@ ) ) ) - (br_if $label$5 + (br_if $block6 (i32.eq (call $12 (i32.add @@ -523,8 +523,8 @@ (i32.const 16) ) ) - (block $label$8 - (br_if $label$8 + (block $block7 + (br_if $block7 (i32.eq (local.get $3) (local.get $6) @@ -552,7 +552,7 @@ ) (i32.const 0) ) - (br_if $label$1 + (br_if $block1 (i32.eqz (local.get $5) ) @@ -584,8 +584,8 @@ ) ) (func $13 (param $0 i32) (result i32) - (block $label$1 - (br_if $label$1 + (block $block + (br_if $block (i32.and (i32.load8_u (local.get $0) @@ -626,14 +626,14 @@ ) ) (func $17 - (block $label$1 - (br_if $label$1 + (block $block + (br_if $block (i32.ne (call $18) (i32.const 1) ) ) - (br_if $label$1 + (br_if $block (i32.eqz (i32.load offset=1796 (i32.const 0) @@ -683,10 +683,10 @@ (local.get $0) ) ) - (block $label$1 - (block $label$2 - (block $label$3 - (br_if $label$3 + (block $block2 + (block $block1 + (block $block + (br_if $block (local.tee $4 (i32.and (local.get $1) @@ -694,7 +694,7 @@ ) ) ) - (br $label$2) + (br $block1) ) (local.set $5 (call $7) @@ -702,7 +702,7 @@ (local.set $6 (i32.const 63) ) - (br_if $label$1 + (br_if $block2 (i32.ne (i32.and (i32.load offset=4 @@ -715,8 +715,8 @@ ) ) ) - (block $label$4 - (br_if $label$4 + (block $block3 + (br_if $block3 (i32.ne (i32.and (local.get $1) @@ -725,7 +725,7 @@ (i32.const 1) ) ) - (br_if $label$4 + (br_if $block3 (i32.eqz (local.tee $6 (i32.load offset=20 @@ -745,8 +745,8 @@ (i32.const 0) ) ) - (block $label$5 - (br_if $label$5 + (block $block4 + (br_if $block4 (local.get $2) ) (i32.store @@ -773,7 +773,7 @@ ) ) ) - (br_if $label$2 + (br_if $block1 (i32.eq (local.get $6) (i32.add @@ -810,13 +810,13 @@ ) ) ) - (block $label$6 - (br_if $label$6 + (block $block5 + (br_if $block5 (i32.eqz (local.get $4) ) ) - (br_if $label$6 + (br_if $block5 (local.get $2) ) (i32.store @@ -831,11 +831,11 @@ (local.set $6 (i32.const 0) ) - (block $label$7 - (br_if $label$7 + (block $block6 + (br_if $block6 (local.get $3) ) - (br_if $label$1 + (br_if $block2 (i32.gt_s (local.get $0) (i32.const -1) @@ -925,14 +925,14 @@ (local $1 i32) (local $2 i32) (local $3 i32) - (block $label$1 - (block $label$2 - (br_if $label$2 + (block $block1 + (block $block + (br_if $block (i32.eqz (call $10) ) ) - (br_if $label$1 + (br_if $block1 (i32.load8_u offset=1832 (i32.const 0) ) @@ -947,8 +947,8 @@ (i32.const 1804) ) ) - (block $label$3 - (br_if $label$3 + (block $block2 + (br_if $block2 (local.tee $0 (call $32 (call $14) @@ -960,7 +960,7 @@ (i32.const 1804) ) ) - (br_if $label$1 + (br_if $block1 (i32.eqz (call $10) ) @@ -971,8 +971,8 @@ ) (return) ) - (block $label$4 - (br_if $label$4 + (block $block3 + (br_if $block3 (i32.eq (local.tee $2 (call $23 @@ -994,7 +994,7 @@ ) ) ) - (loop $label$5 + (loop $label (drop (call $20 (i32.const 1804) @@ -1032,7 +1032,7 @@ ) ) ) - (br_if $label$5 + (br_if $label (i32.ne (local.get $2) (call $23 @@ -1053,7 +1053,7 @@ (i32.const 2147483647) ) ) - (br_if $label$1 + (br_if $block1 (i32.eqz (call $10) ) @@ -1066,14 +1066,14 @@ ) (func $32 (param $0 i32) (result i32) (local $1 i32) - (block $label$1 - (br_if $label$1 + (block $block + (br_if $block (i32.eqz (local.get $0) ) ) - (block $label$2 - (br_if $label$2 + (block $block1 + (br_if $block1 (i32.eqz (local.tee $1 (i32.load offset=1840 @@ -1082,9 +1082,9 @@ ) ) ) - (loop $label$3 - (block $label$4 - (br_if $label$4 + (loop $label + (block $block2 + (br_if $block2 (i32.ne (i32.load (local.get $1) @@ -1096,7 +1096,7 @@ (local.get $1) ) ) - (br_if $label$3 + (br_if $label (local.tee $1 (i32.load offset=16 (local.get $1) @@ -1119,10 +1119,10 @@ ) (func $33 (param $0 i32) (local $1 i32) - (block $label$1 - (block $label$2 - (block $label$3 - (br_if $label$3 + (block $block9 + (block $block42 + (block $block + (br_if $block (i32.eq (i32.and (local.tee $1 @@ -1135,67 +1135,67 @@ (i32.const 402653184) ) ) - (block $label$4 - (block $label$5 - (block $label$6 - (block $label$7 - (block $label$8 - (block $label$9 - (block $label$10 - (block $label$11 - (block $label$12 - (block $label$13 - (block $label$14 - (block $label$15 - (block $label$16 - (block $label$17 - (block $label$18 - (block $label$19 - (block $label$20 - (block $label$21 - (block $label$22 - (block $label$23 - (block $label$24 - (block $label$25 - (block $label$26 - (block $label$27 - (block $label$28 - (block $label$29 - (br_if $label$29 + (block $block8 + (block $block5 + (block $block13 + (block $block41 + (block $block40 + (block $block39 + (block $block37 + (block $block36 + (block $block33 + (block $block32 + (block $block31 + (block $block29 + (block $block28 + (block $block24 + (block $block23 + (block $block22 + (block $block21 + (block $block19 + (block $block17 + (block $block16 + (block $block14 + (block $block12 + (block $block11 + (block $block6 + (block $block4 + (block $block1 + (br_if $block1 (i32.gt_s (local.get $1) (i32.const 234881023) ) ) - (block $label$30 - (br_if $label$30 + (block $block2 + (br_if $block2 (i32.gt_s (local.get $1) (i32.const 100663335) ) ) - (block $label$31 - (br_if $label$31 + (block $block3 + (br_if $block3 (i32.gt_s (local.get $1) (i32.const 67108863) ) ) - (block $label$32 - (br_table $label$28 $label$5 $label$27 $label$32 + (block $block7 + (br_table $block4 $block5 $block6 $block7 (i32.add (local.get $1) (i32.const -33554432) ) ) ) - (br_if $label$4 + (br_if $block8 (i32.eq (local.get $1) (i32.const -2126512128) ) ) - (br_if $label$5 + (br_if $block5 (local.get $1) ) (call_indirect (type $2) @@ -1203,29 +1203,29 @@ (local.get $0) ) ) - (br $label$1) + (br $block9) ) - (block $label$33 - (br_if $label$33 + (block $block10 + (br_if $block10 (i32.gt_s (local.get $1) (i32.const 100663295) ) ) - (br_table $label$26 $label$5 $label$25 $label$6 + (br_table $block11 $block5 $block12 $block13 (i32.add (local.get $1) (i32.const -67108872) ) ) ) - (br_if $label$24 + (br_if $block14 (i32.eq (local.get $1) (i32.const 100663296) ) ) - (br_if $label$5 + (br_if $block5 (i32.ne (local.get $1) (i32.const 100663328) @@ -1251,30 +1251,30 @@ (local.get $0) ) ) - (br $label$1) + (br $block9) ) - (block $label$34 - (br_if $label$34 + (block $block15 + (br_if $block15 (i32.gt_s (local.get $1) (i32.const 134217895) ) ) - (block $label$35 - (br_table $label$23 $label$5 $label$22 $label$35 + (block $block18 + (br_table $block16 $block5 $block17 $block18 (i32.add (local.get $1) (i32.const -100663336) ) ) ) - (br_if $label$21 + (br_if $block19 (i32.eq (local.get $1) (i32.const 134217728) ) ) - (br_if $label$5 + (br_if $block5 (i32.ne (local.get $1) (i32.const 134217760) @@ -1306,29 +1306,29 @@ (local.get $0) ) ) - (br $label$1) + (br $block9) ) - (block $label$36 - (br_if $label$36 + (block $block20 + (br_if $block20 (i32.gt_s (local.get $1) (i32.const 167772839) ) ) - (br_table $label$20 $label$5 $label$19 $label$18 + (br_table $block21 $block5 $block22 $block23 (i32.add (local.get $1) (i32.const -134217896) ) ) ) - (br_if $label$17 + (br_if $block24 (i32.eq (local.get $1) (i32.const 167772840) ) ) - (br_if $label$5 + (br_if $block5 (i32.ne (local.get $1) (i32.const 201326592) @@ -1372,36 +1372,36 @@ (local.get $0) ) ) - (br $label$1) + (br $block9) ) - (block $label$37 - (br_if $label$37 + (block $block25 + (br_if $block25 (i32.gt_s (local.get $1) (i32.const 637534207) ) ) - (block $label$38 - (br_if $label$38 + (block $block26 + (br_if $block26 (i32.gt_s (local.get $1) (i32.const 369098751) ) ) - (block $label$39 - (br_if $label$39 + (block $block27 + (br_if $block27 (i32.gt_s (local.get $1) (i32.const 301989887) ) ) - (br_if $label$16 + (br_if $block28 (i32.eq (local.get $1) (i32.const 234881024) ) ) - (br_if $label$5 + (br_if $block5 (i32.ne (local.get $1) (i32.const 268435456) @@ -1457,15 +1457,15 @@ (local.get $0) ) ) - (br $label$1) + (br $block9) ) - (br_if $label$15 + (br_if $block29 (i32.eq (local.get $1) (i32.const 301989888) ) ) - (br_if $label$5 + (br_if $block5 (i32.ne (local.get $1) (i32.const 335544320) @@ -1533,22 +1533,22 @@ (local.get $0) ) ) - (br $label$1) + (br $block9) ) - (block $label$40 - (br_if $label$40 + (block $block30 + (br_if $block30 (i32.gt_s (local.get $1) (i32.const 570425343) ) ) - (br_if $label$14 + (br_if $block31 (i32.eq (local.get $1) (i32.const 369098752) ) ) - (br_if $label$5 + (br_if $block5 (i32.ne (local.get $1) (i32.const 536870912) @@ -1562,21 +1562,21 @@ ) ) ) - (br $label$1) + (br $block9) ) - (br_if $label$13 + (br_if $block32 (i32.eq (local.get $1) (i32.const 570425344) ) ) - (br_if $label$12 + (br_if $block33 (i32.eq (local.get $1) (i32.const 603979776) ) ) - (br_if $label$5 + (br_if $block5 (i32.ne (local.get $1) (i32.const 622854144) @@ -1596,29 +1596,29 @@ ) ) ) - (br $label$1) + (br $block9) ) - (block $label$41 - (br_if $label$41 + (block $block34 + (br_if $block34 (i32.gt_s (local.get $1) (i32.const 704643071) ) ) - (block $label$42 - (br_if $label$42 + (block $block35 + (br_if $block35 (i32.gt_s (local.get $1) (i32.const 671088639) ) ) - (br_if $label$11 + (br_if $block36 (i32.eq (local.get $1) (i32.const 637534208) ) ) - (br_if $label$5 + (br_if $block5 (i32.ne (local.get $1) (i32.const 657457152) @@ -1644,15 +1644,15 @@ ) ) ) - (br $label$1) + (br $block9) ) - (br_if $label$10 + (br_if $block37 (i32.eq (local.get $1) (i32.const 671088640) ) ) - (br_if $label$5 + (br_if $block5 (i32.ne (local.get $1) (i32.const 687865856) @@ -1684,22 +1684,22 @@ ) ) ) - (br $label$1) + (br $block9) ) - (block $label$43 - (br_if $label$43 + (block $block38 + (br_if $block38 (i32.gt_s (local.get $1) (i32.const 771751935) ) ) - (br_if $label$9 + (br_if $block39 (i32.eq (local.get $1) (i32.const 704643072) ) ) - (br_if $label$5 + (br_if $block5 (i32.ne (local.get $1) (i32.const 738197504) @@ -1746,21 +1746,21 @@ ) ) ) - (br $label$1) + (br $block9) ) - (br_if $label$8 + (br_if $block40 (i32.eq (local.get $1) (i32.const 771751936) ) ) - (br_if $label$7 + (br_if $block41 (i32.eq (local.get $1) (i32.const 805306368) ) ) - (br_if $label$5 + (br_if $block5 (i32.ne (local.get $1) (i32.const 838860800) @@ -1825,7 +1825,7 @@ ) ) ) - (br $label$1) + (br $block9) ) (call_indirect (type $1) (i32.load offset=16 @@ -1835,7 +1835,7 @@ (local.get $0) ) ) - (br $label$1) + (br $block9) ) (call_indirect (type $22) (f32.load offset=16 @@ -1845,7 +1845,7 @@ (local.get $0) ) ) - (br $label$1) + (br $block9) ) (call_indirect (type $23) (i32.load offset=16 @@ -1861,7 +1861,7 @@ (local.get $0) ) ) - (br $label$1) + (br $block9) ) (call_indirect (type $24) (f32.load offset=16 @@ -1877,7 +1877,7 @@ (local.get $0) ) ) - (br $label$1) + (br $block9) ) (call_indirect (type $11) (i32.load offset=16 @@ -1899,7 +1899,7 @@ (local.get $0) ) ) - (br $label$1) + (br $block9) ) (call_indirect (type $25) (i32.load offset=16 @@ -1921,7 +1921,7 @@ (local.get $0) ) ) - (br $label$1) + (br $block9) ) (call_indirect (type $26) (f32.load offset=16 @@ -1943,7 +1943,7 @@ (local.get $0) ) ) - (br $label$1) + (br $block9) ) (call_indirect (type $10) (i32.load offset=16 @@ -1971,7 +1971,7 @@ (local.get $0) ) ) - (br $label$1) + (br $block9) ) (call_indirect (type $27) (i32.load offset=16 @@ -1999,7 +1999,7 @@ (local.get $0) ) ) - (br $label$1) + (br $block9) ) (call_indirect (type $28) (f32.load offset=16 @@ -2027,9 +2027,9 @@ (local.get $0) ) ) - (br $label$1) + (br $block9) ) - (br_if $label$5 + (br_if $block5 (i32.ne (local.get $1) (i32.const 167772160) @@ -2067,7 +2067,7 @@ (local.get $0) ) ) - (br $label$1) + (br $block9) ) (call_indirect (type $30) (i32.load offset=16 @@ -2101,7 +2101,7 @@ (local.get $0) ) ) - (br $label$1) + (br $block9) ) (call_indirect (type $31) (i32.load offset=16 @@ -2147,7 +2147,7 @@ (local.get $0) ) ) - (br $label$1) + (br $block9) ) (call_indirect (type $32) (i32.load offset=16 @@ -2205,7 +2205,7 @@ (local.get $0) ) ) - (br $label$1) + (br $block9) ) (call_indirect (type $33) (i32.load offset=16 @@ -2275,7 +2275,7 @@ (local.get $0) ) ) - (br $label$1) + (br $block9) ) (i32.store offset=176 (local.get $0) @@ -2288,7 +2288,7 @@ ) ) ) - (br $label$1) + (br $block9) ) (i32.store offset=176 (local.get $0) @@ -2307,7 +2307,7 @@ ) ) ) - (br $label$1) + (br $block9) ) (i32.store offset=176 (local.get $0) @@ -2332,7 +2332,7 @@ ) ) ) - (br $label$1) + (br $block9) ) (i32.store offset=176 (local.get $0) @@ -2363,7 +2363,7 @@ ) ) ) - (br $label$1) + (br $block9) ) (i32.store offset=176 (local.get $0) @@ -2400,7 +2400,7 @@ ) ) ) - (br $label$1) + (br $block9) ) (i32.store offset=176 (local.get $0) @@ -2449,7 +2449,7 @@ ) ) ) - (br $label$1) + (br $block9) ) (i32.store offset=176 (local.get $0) @@ -2504,9 +2504,9 @@ ) ) ) - (br $label$1) + (br $block9) ) - (br_if $label$2 + (br_if $block42 (i32.eq (local.get $1) (i32.const 67108864) @@ -2536,7 +2536,7 @@ ) ) ) - (br $label$1) + (br $block9) ) (call $fimport$8 (i32.const 1254) @@ -2561,8 +2561,8 @@ ) ) ) - (block $label$44 - (br_if $label$44 + (block $block43 + (br_if $block43 (i32.eqz (i32.load offset=188 (local.get $0) @@ -2589,8 +2589,8 @@ ) ) (func $34 (param $0 i32) - (block $label$1 - (br_if $label$1 + (block $block + (br_if $block (i32.eqz (local.get $0) ) @@ -2608,8 +2608,8 @@ (func $35 (param $0 i32) (param $1 f64) (result i32) (local $2 i32) (local $3 f64) - (block $label$1 - (br_if $label$1 + (block $block + (br_if $block (local.tee $0 (call $23 (local.tee $2 @@ -2630,8 +2630,8 @@ (local.set $0 (i32.const 0) ) - (block $label$2 - (br_if $label$2 + (block $block1 + (br_if $block1 (i32.xor (f64.lt (local.get $3) @@ -2645,7 +2645,7 @@ (i32.const 1) ) ) - (loop $label$3 + (loop $label (drop (call $fimport$6 (local.get $2) @@ -2664,10 +2664,10 @@ (local.set $3 (call $fimport$4) ) - (br_if $label$2 + (br_if $block1 (local.get $0) ) - (br_if $label$3 + (br_if $label (f64.lt (local.get $3) (local.get $1) @@ -2703,18 +2703,18 @@ (local $5 i32) (local $6 i32) (local $7 i32) - (block $label$1 - (block $label$2 - (block $label$3 - (br_if $label$3 + (block $block10 + (block $block8 + (block $block + (br_if $block (i32.eqz (local.get $1) ) ) - (block $label$4 - (block $label$5 - (block $label$6 - (br_table $label$6 $label$5 $label$4 + (block $block3 + (block $block2 + (block $block1 + (br_table $block1 $block2 $block3 (local.get $0) ) ) @@ -2730,15 +2730,15 @@ (call $37) ) ) - (block $label$7 - (block $label$8 - (br_if $label$8 + (block $block5 + (block $block4 + (br_if $block4 (i32.eq (local.get $0) (i32.const 2) ) ) - (br_if $label$7 + (br_if $block5 (i32.ne (local.get $0) (call $14) @@ -2757,8 +2757,8 @@ (i32.const 1804) ) ) - (block $label$9 - (br_if $label$9 + (block $block6 + (br_if $block6 (i32.load offset=4 (local.tee $2 (call $39 @@ -2774,8 +2774,8 @@ ) ) ) - (block $label$10 - (br_if $label$10 + (block $block7 + (br_if $block7 (i32.ne (local.tee $4 (call $23 @@ -2807,13 +2807,13 @@ ) ) ) - (loop $label$11 + (loop $label (drop (call $20 (i32.const 1804) ) ) - (br_if $label$2 + (br_if $block8 (i32.ne (local.get $0) (call $37) @@ -2831,7 +2831,7 @@ (i32.const 1804) ) ) - (br_if $label$11 + (br_if $label (i32.eq (local.tee $4 (call $23 @@ -2867,14 +2867,14 @@ ) (local.get $1) ) - (block $label$12 - (br_if $label$12 + (block $block9 + (br_if $block9 (i32.ne (local.get $4) (local.get $6) ) ) - (br_if $label$12 + (br_if $block9 (call $fimport$10 (local.get $0) (call $37) @@ -2888,7 +2888,7 @@ (i32.const 1804) ) ) - (br $label$1) + (br $block10) ) (drop (call $24 @@ -2901,7 +2901,7 @@ (i32.const 1804) ) ) - (br $label$1) + (br $block10) ) (call $fimport$8 (i32.const 1090) @@ -2920,8 +2920,8 @@ (func $39 (param $0 i32) (result i32) (local $1 i32) (local $2 i32) - (block $label$1 - (br_if $label$1 + (block $block + (br_if $block (local.tee $1 (call $32 (local.get $0) @@ -2944,9 +2944,9 @@ (local.get $1) (local.get $0) ) - (block $label$2 - (block $label$3 - (br_if $label$3 + (block $block2 + (block $block1 + (br_if $block1 (local.tee $0 (i32.load offset=1840 (i32.const 0) @@ -2956,10 +2956,10 @@ (local.set $0 (i32.const 1840) ) - (br $label$2) + (br $block2) ) - (loop $label$4 - (br_if $label$4 + (loop $label + (br_if $label (local.tee $0 (i32.load offset=16 (local.tee $2 @@ -3117,13 +3117,13 @@ (local.get $0) ) (func $44 - (block $label$1 - (br_if $label$1 + (block $block + (br_if $block (i32.eqz (call $9) ) ) - (br_if $label$1 + (br_if $block (i32.eqz (i32.load offset=1432 (i32.const 0) @@ -3146,9 +3146,9 @@ ) ) ) - (block $label$1 - (block $label$2 - (br_if $label$2 + (block $block1 + (block $block + (br_if $block (i32.eqz (local.get $3) ) @@ -3164,7 +3164,7 @@ (local.set $5 (local.get $4) ) - (br $label$1) + (br $block1) ) (local.set $5 (call $46) @@ -3185,8 +3185,8 @@ (local.get $3) ) ) - (block $label$3 - (br_if $label$3 + (block $block2 + (br_if $block2 (i32.ge_s (local.get $1) (i32.const 20) @@ -3199,14 +3199,14 @@ (local.set $0 (i32.const 0) ) - (block $label$4 - (br_if $label$4 + (block $block3 + (br_if $block3 (i32.le_s (local.get $1) (i32.const 0) ) ) - (loop $label$5 + (loop $label (i64.store (i32.add (i32.add @@ -3236,7 +3236,7 @@ (local.set $0 (local.get $6) ) - (br_if $label$5 + (br_if $label (i32.ne (local.get $6) (local.get $1) @@ -3244,9 +3244,9 @@ ) ) ) - (block $label$6 - (block $label$7 - (br_if $label$7 + (block $block5 + (block $block4 + (br_if $block4 (i32.eqz (local.get $3) ) @@ -3259,7 +3259,7 @@ (local.get $4) ) ) - (br $label$6) + (br $block5) ) (call $40 (local.get $5) @@ -3288,8 +3288,8 @@ ) (func $46 (result i32) (local $0 i32) - (block $label$1 - (br_if $label$1 + (block $block + (br_if $block (local.tee $0 (call $60 (i32.const 192) @@ -3325,8 +3325,8 @@ ) ) ) - (block $label$1 - (br_if $label$1 + (block $block + (br_if $block (i32.eqz (local.tee $7 (call $46) @@ -3349,8 +3349,8 @@ (local.get $6) (local.get $5) ) - (block $label$2 - (br_if $label$2 + (block $block1 + (br_if $block1 (i32.eqz (local.tee $4 (i32.and @@ -3372,13 +3372,13 @@ (local.set $3 (i32.const 0) ) - (loop $label$3 - (block $label$4 - (block $label$5 - (block $label$6 - (block $label$7 - (block $label$8 - (br_table $label$8 $label$7 $label$6 $label$5 $label$8 + (loop $label + (block $block6 + (block $block5 + (block $block4 + (block $block3 + (block $block2 + (br_table $block2 $block3 $block4 $block5 $block2 (i32.and (local.get $2) (i32.const 3) @@ -3411,7 +3411,7 @@ (local.get $5) ) ) - (br $label$4) + (br $block6) ) (i32.store offset=12 (local.get $6) @@ -3445,7 +3445,7 @@ (local.get $5) ) ) - (br $label$4) + (br $block6) ) (i32.store offset=12 (local.get $6) @@ -3481,7 +3481,7 @@ ) ) ) - (br $label$4) + (br $block6) ) (i32.store offset=12 (local.get $6) @@ -3522,7 +3522,7 @@ (i32.const 2) ) ) - (br_if $label$3 + (br_if $label (i32.ne (local.tee $3 (i32.add @@ -3539,9 +3539,9 @@ (local.get $7) (i32.const 1) ) - (block $label$9 - (block $label$10 - (br_if $label$10 + (block $block8 + (block $block7 + (br_if $block7 (i32.eqz (local.get $0) ) @@ -3575,7 +3575,7 @@ (local.get $6) ) ) - (br $label$9) + (br $block8) ) (local.set $2 (call $38 @@ -3607,8 +3607,8 @@ (local.set $2 (i32.const 28) ) - (block $label$1 - (br_if $label$1 + (block $block + (br_if $block (i32.gt_u (local.get $0) (i32.const 2) @@ -3617,8 +3617,8 @@ (local.set $2 (call $7) ) - (block $label$2 - (br_if $label$2 + (block $block1 + (br_if $block1 (i32.eqz (local.get $1) ) @@ -3653,22 +3653,22 @@ ) ) ) - (block $label$1 - (block $label$2 - (block $label$3 - (block $label$4 - (br_if $label$4 + (block $block2 + (block $block4 + (block $block1 + (block $block + (br_if $block (local.get $3) ) (local.set $6 (f64.const inf) ) - (br $label$3) + (br $block1) ) (local.set $7 (i32.const 28) ) - (br_if $label$1 + (br_if $block2 (i32.gt_u (i32.load offset=4 (local.get $3) @@ -3676,7 +3676,7 @@ (i32.const 999999999) ) ) - (br_if $label$1 + (br_if $block2 (call $fimport$3 (local.get $2) (i32.add @@ -3711,8 +3711,8 @@ ) ) ) - (block $label$5 - (br_if $label$5 + (block $block3 + (br_if $block3 (i32.gt_s (local.get $3) (i32.const -1) @@ -3737,7 +3737,7 @@ ) ) ) - (br_if $label$2 + (br_if $block4 (i32.lt_s (local.get $7) (i32.const 0) @@ -3760,15 +3760,15 @@ ) ) ) - (block $label$6 - (block $label$7 - (block $label$8 - (br_if $label$8 + (block $block9 + (block $block6 + (block $block5 + (br_if $block5 (local.tee $3 (call $10) ) ) - (br_if $label$8 + (br_if $block5 (i32.ne (i32.load offset=56 (call $14) @@ -3776,7 +3776,7 @@ (i32.const 1) ) ) - (br_if $label$7 + (br_if $block6 (i32.ne (i32.load offset=60 (call $14) @@ -3791,9 +3791,9 @@ (call $fimport$4) ) ) - (loop $label$9 - (block $label$10 - (br_if $label$10 + (loop $label + (block $block7 + (br_if $block7 (i32.eqz (call $30 (call $14) @@ -3803,17 +3803,17 @@ (local.set $7 (i32.const 11) ) - (br $label$1) + (br $block2) ) - (block $label$11 - (br_if $label$11 + (block $block8 + (br_if $block8 (i32.eqz (local.get $3) ) ) (call $44) ) - (br_if $label$2 + (br_if $block4 (f64.le (local.tee $6 (f64.sub @@ -3824,7 +3824,7 @@ (f64.const 0) ) ) - (br_if $label$9 + (br_if $label (i32.eq (local.tee $7 (i32.sub @@ -3855,7 +3855,7 @@ (i32.const 73) ) ) - (br $label$6) + (br $block9) ) ) (local.set $7 @@ -3869,19 +3869,19 @@ ) ) ) - (br_if $label$1 + (br_if $block2 (i32.eq (local.get $7) (i32.const 11) ) ) - (br_if $label$1 + (br_if $block2 (i32.eq (local.get $7) (i32.const 27) ) ) - (br_if $label$1 + (br_if $block2 (i32.eq (local.get $7) (i32.const 73) @@ -3890,7 +3890,7 @@ (local.set $7 (i32.const 0) ) - (br $label$1) + (br $block2) ) (local.set $7 (i32.const 73) @@ -3962,9 +3962,9 @@ (local $4 i32) (local $5 i32) (local $6 i32) - (block $label$1 - (block $label$2 - (br_if $label$2 + (block $block1 + (block $block + (br_if $block (i32.and (local.tee $2 (i32.load @@ -3977,7 +3977,7 @@ (local.set $3 (i32.const 0) ) - (br_if $label$1 + (br_if $block1 (i32.eqz (call $52 (i32.add @@ -3995,7 +3995,7 @@ ) ) ) - (br_if $label$1 + (br_if $block1 (i32.ne (local.tee $3 (call $13 @@ -4029,14 +4029,14 @@ (local.set $3 (i32.const 100) ) - (block $label$3 - (loop $label$4 - (br_if $label$3 + (block $block2 + (loop $label + (br_if $block2 (i32.eqz (local.get $3) ) ) - (br_if $label$3 + (br_if $block2 (i32.eqz (i32.load (local.get $2) @@ -4049,7 +4049,7 @@ (i32.const -1) ) ) - (br_if $label$4 + (br_if $label (i32.eqz (i32.load (local.get $5) @@ -4058,7 +4058,7 @@ ) ) ) - (br_if $label$1 + (br_if $block1 (i32.ne (local.tee $3 (call $13 @@ -4068,9 +4068,9 @@ (i32.const 10) ) ) - (loop $label$5 - (block $label$6 - (br_if $label$6 + (loop $label1 + (block $block3 + (br_if $block3 (i32.eqz (local.tee $3 (i32.load @@ -4084,8 +4084,8 @@ (local.get $0) ) ) - (block $label$7 - (br_if $label$7 + (block $block4 + (br_if $block4 (i32.eqz (i32.and (local.get $3) @@ -4093,15 +4093,15 @@ ) ) ) - (br_if $label$6 + (br_if $block3 (i32.and (local.get $6) (i32.const 4) ) ) ) - (block $label$8 - (br_if $label$8 + (block $block5 + (br_if $block5 (i32.ne (i32.and (local.get $6) @@ -4110,7 +4110,7 @@ (i32.const 2) ) ) - (br_if $label$8 + (br_if $block5 (i32.ne (i32.and (local.get $3) @@ -4152,19 +4152,19 @@ (call $54 (local.get $5) ) - (br_if $label$6 + (br_if $block3 (i32.eqz (local.get $3) ) ) - (br_if $label$1 + (br_if $block1 (i32.ne (local.get $3) (i32.const 27) ) ) ) - (br_if $label$5 + (br_if $label1 (i32.eq (local.tee $3 (call $13 @@ -4202,8 +4202,8 @@ ) ) (func $55 (param $0 i32) (result i32) - (block $label$1 - (br_if $label$1 + (block $block + (br_if $block (i32.and (i32.load8_u (local.get $0) @@ -4211,7 +4211,7 @@ (i32.const 15) ) ) - (br_if $label$1 + (br_if $block (call $56 (i32.add (local.get $0) @@ -4316,8 +4316,8 @@ (local.get $5) ) ) - (block $label$1 - (br_if $label$1 + (block $block + (br_if $block (i32.eqz (local.get $1) ) @@ -4346,17 +4346,17 @@ (local $9 i32) (local $10 i32) (local $11 i32) - (block $label$1 - (br_if $label$1 + (block $block + (br_if $block (i32.load offset=1844 (i32.const 0) ) ) (call $61) ) - (block $label$2 - (block $label$3 - (br_if $label$3 + (block $block2 + (block $block1 + (br_if $block1 (i32.eqz (i32.and (i32.load8_u offset=2312 @@ -4369,32 +4369,32 @@ (local.set $1 (i32.const 0) ) - (br_if $label$2 + (br_if $block2 (call $55 (i32.const 2316) ) ) ) - (block $label$4 - (block $label$5 - (block $label$6 - (block $label$7 - (block $label$8 - (block $label$9 - (block $label$10 - (block $label$11 - (block $label$12 - (block $label$13 - (block $label$14 - (block $label$15 - (br_if $label$15 + (block $block7 + (block $block19 + (block $block31 + (block $block40 + (block $block50 + (block $block44 + (block $block51 + (block $block33 + (block $block21 + (block $block17 + (block $block8 + (block $block3 + (br_if $block3 (i32.gt_u (local.get $0) (i32.const 244) ) ) - (block $label$16 - (br_if $label$16 + (block $block4 + (br_if $block4 (i32.eqz (i32.and (local.tee $0 @@ -4460,9 +4460,9 @@ (i32.const 8) ) ) - (block $label$17 - (block $label$18 - (br_if $label$18 + (block $block6 + (block $block5 + (br_if $block5 (i32.ne (local.tee $3 (i32.load offset=8 @@ -4487,7 +4487,7 @@ ) ) ) - (br $label$17) + (br $block6) ) (i32.store offset=12 (local.get $3) @@ -4524,9 +4524,9 @@ (i32.const 1) ) ) - (br $label$4) + (br $block7) ) - (br_if $label$14 + (br_if $block8 (i32.le_u (local.get $3) (local.tee $6 @@ -4536,15 +4536,15 @@ ) ) ) - (block $label$19 - (br_if $label$19 + (block $block9 + (br_if $block9 (i32.eqz (local.get $0) ) ) - (block $label$20 - (block $label$21 - (br_if $label$21 + (block $block11 + (block $block10 + (br_if $block10 (i32.ne (local.tee $1 (i32.load offset=8 @@ -4693,7 +4693,7 @@ ) ) ) - (br $label$20) + (br $block11) ) (i32.store offset=12 (local.get $1) @@ -4746,8 +4746,8 @@ ) (local.get $4) ) - (block $label$22 - (br_if $label$22 + (block $block12 + (br_if $block12 (i32.eqz (local.get $6) ) @@ -4771,9 +4771,9 @@ (i32.const 0) ) ) - (block $label$23 - (block $label$24 - (br_if $label$24 + (block $block14 + (block $block13 + (br_if $block13 (i32.and (local.get $2) (local.tee $7 @@ -4794,7 +4794,7 @@ (local.set $7 (local.get $3) ) - (br $label$23) + (br $block14) ) (local.set $7 (i32.load offset=8 @@ -4827,9 +4827,9 @@ (i32.const 0) (local.get $4) ) - (br $label$4) + (br $block7) ) - (br_if $label$14 + (br_if $block8 (i32.eqz (local.tee $8 (i32.load offset=1872 @@ -4951,17 +4951,17 @@ (local.set $4 (local.get $5) ) - (block $label$25 - (loop $label$26 - (block $label$27 - (br_if $label$27 + (block $block16 + (loop $label + (block $block15 + (br_if $block15 (local.tee $0 (i32.load offset=16 (local.get $4) ) ) ) - (br_if $label$25 + (br_if $block16 (i32.eqz (local.tee $0 (i32.load @@ -5006,10 +5006,10 @@ (local.set $4 (local.get $0) ) - (br $label$26) + (br $label) ) ) - (br_if $label$13 + (br_if $block17 (i32.le_u (local.tee $9 (i32.add @@ -5025,8 +5025,8 @@ (local.get $5) ) ) - (block $label$28 - (br_if $label$28 + (block $block18 + (br_if $block18 (i32.eq (local.tee $7 (i32.load offset=12 @@ -5056,10 +5056,10 @@ (local.get $7) (local.get $0) ) - (br $label$5) + (br $block19) ) - (block $label$29 - (br_if $label$29 + (block $block20 + (br_if $block20 (local.tee $0 (i32.load (local.tee $4 @@ -5071,7 +5071,7 @@ ) ) ) - (br_if $label$12 + (br_if $block21 (i32.eqz (local.tee $0 (i32.load offset=16 @@ -5087,11 +5087,11 @@ ) ) ) - (loop $label$30 + (loop $label1 (local.set $11 (local.get $4) ) - (br_if $label$30 + (br_if $label1 (local.tee $0 (i32.load (local.tee $4 @@ -5111,7 +5111,7 @@ (i32.const 16) ) ) - (br_if $label$30 + (br_if $label1 (local.tee $0 (i32.load offset=16 (local.get $7) @@ -5123,12 +5123,12 @@ (local.get $11) (i32.const 0) ) - (br $label$5) + (br $block19) ) (local.set $3 (i32.const -1) ) - (br_if $label$14 + (br_if $block8 (i32.gt_u (local.get $0) (i32.const -65) @@ -5145,7 +5145,7 @@ (i32.const -8) ) ) - (br_if $label$14 + (br_if $block8 (i32.eqz (local.tee $6 (i32.load offset=1872 @@ -5157,8 +5157,8 @@ (local.set $11 (i32.const 31) ) - (block $label$31 - (br_if $label$31 + (block $block22 + (br_if $block22 (i32.gt_u (local.get $3) (i32.const 16777215) @@ -5257,11 +5257,11 @@ (local.get $3) ) ) - (block $label$32 - (block $label$33 - (block $label$34 - (block $label$35 - (br_if $label$35 + (block $block28 + (block $block26 + (block $block24 + (block $block23 + (br_if $block23 (local.tee $4 (i32.load (i32.add @@ -5280,7 +5280,7 @@ (local.set $7 (i32.const 0) ) - (br $label$34) + (br $block24) ) (local.set $0 (i32.const 0) @@ -5307,9 +5307,9 @@ (local.set $7 (i32.const 0) ) - (loop $label$36 - (block $label$37 - (br_if $label$37 + (loop $label2 + (block $block25 + (br_if $block25 (i32.ge_u (local.tee $2 (i32.sub @@ -5331,7 +5331,7 @@ (local.set $7 (local.get $4) ) - (br_if $label$37 + (br_if $block25 (local.get $2) ) (local.set $1 @@ -5343,7 +5343,7 @@ (local.set $0 (local.get $4) ) - (br $label$33) + (br $block26) ) (local.set $0 (select @@ -5388,19 +5388,19 @@ (i32.const 1) ) ) - (br_if $label$36 + (br_if $label2 (local.get $4) ) ) ) - (block $label$38 - (br_if $label$38 + (block $block27 + (br_if $block27 (i32.or (local.get $0) (local.get $7) ) ) - (br_if $label$14 + (br_if $block8 (i32.eqz (local.tee $0 (i32.and @@ -5522,13 +5522,13 @@ ) ) ) - (br_if $label$32 + (br_if $block28 (i32.eqz (local.get $0) ) ) ) - (loop $label$39 + (loop $label3 (local.set $5 (i32.lt_u (local.tee $2 @@ -5545,8 +5545,8 @@ (local.get $1) ) ) - (block $label$40 - (br_if $label$40 + (block $block29 + (br_if $block29 (local.tee $4 (i32.load offset=16 (local.get $0) @@ -5579,17 +5579,17 @@ (local.set $0 (local.get $4) ) - (br_if $label$39 + (br_if $label3 (local.get $4) ) ) ) - (br_if $label$14 + (br_if $block8 (i32.eqz (local.get $7) ) ) - (br_if $label$14 + (br_if $block8 (i32.ge_u (local.get $1) (i32.sub @@ -5600,7 +5600,7 @@ ) ) ) - (br_if $label$13 + (br_if $block17 (i32.le_u (local.tee $11 (i32.add @@ -5616,8 +5616,8 @@ (local.get $7) ) ) - (block $label$41 - (br_if $label$41 + (block $block30 + (br_if $block30 (i32.eq (local.tee $5 (i32.load offset=12 @@ -5647,10 +5647,10 @@ (local.get $5) (local.get $0) ) - (br $label$6) + (br $block31) ) - (block $label$42 - (br_if $label$42 + (block $block32 + (br_if $block32 (local.tee $0 (i32.load (local.tee $4 @@ -5662,7 +5662,7 @@ ) ) ) - (br_if $label$11 + (br_if $block33 (i32.eqz (local.tee $0 (i32.load offset=16 @@ -5678,11 +5678,11 @@ ) ) ) - (loop $label$43 + (loop $label4 (local.set $2 (local.get $4) ) - (br_if $label$43 + (br_if $label4 (local.tee $0 (i32.load (local.tee $4 @@ -5702,7 +5702,7 @@ (i32.const 16) ) ) - (br_if $label$43 + (br_if $label4 (local.tee $0 (i32.load offset=16 (local.get $5) @@ -5714,10 +5714,10 @@ (local.get $2) (i32.const 0) ) - (br $label$6) + (br $block31) ) - (block $label$44 - (br_if $label$44 + (block $block34 + (br_if $block34 (i32.lt_u (local.tee $0 (i32.load offset=1876 @@ -5732,9 +5732,9 @@ (i32.const 0) ) ) - (block $label$45 - (block $label$46 - (br_if $label$46 + (block $block36 + (block $block35 + (br_if $block35 (i32.lt_u (local.tee $4 (i32.sub @@ -5779,7 +5779,7 @@ (i32.const 3) ) ) - (br $label$45) + (br $block36) ) (i32.store offset=1888 (i32.const 0) @@ -5817,10 +5817,10 @@ (i32.const 8) ) ) - (br $label$4) + (br $block7) ) - (block $label$47 - (br_if $label$47 + (block $block37 + (br_if $block37 (i32.le_u (local.tee $0 (i32.load offset=1880 @@ -5872,20 +5872,20 @@ (i32.const 8) ) ) - (br $label$4) + (br $block7) ) (local.set $1 (i32.const 0) ) - (block $label$48 - (br_if $label$48 + (block $block38 + (br_if $block38 (i32.load offset=1844 (i32.const 0) ) ) (call $61) ) - (br_if $label$4 + (br_if $block7 (i32.le_u (local.tee $7 (i32.and @@ -5914,8 +5914,8 @@ (local.set $1 (i32.const 0) ) - (block $label$49 - (br_if $label$49 + (block $block39 + (br_if $block39 (i32.eqz (local.tee $0 (i32.load offset=2308 @@ -5924,7 +5924,7 @@ ) ) ) - (br_if $label$4 + (br_if $block7 (i32.le_u (local.tee $5 (i32.add @@ -5939,7 +5939,7 @@ (local.get $4) ) ) - (br_if $label$4 + (br_if $block7 (i32.gt_u (local.get $5) (local.get $0) @@ -5952,7 +5952,7 @@ (local.set $5 (i32.const -1) ) - (br_if $label$7 + (br_if $block40 (i32.and (i32.load8_u offset=2312 (i32.const 0) @@ -5963,10 +5963,10 @@ (local.set $6 (i32.const 0) ) - (block $label$50 - (block $label$51 - (block $label$52 - (br_if $label$52 + (block $block49 + (block $block43 + (block $block41 + (br_if $block41 (i32.eqz (local.tee $1 (i32.load offset=1892 @@ -5978,9 +5978,9 @@ (local.set $0 (i32.const 2344) ) - (loop $label$53 - (block $label$54 - (br_if $label$54 + (loop $label5 + (block $block42 + (br_if $block42 (i32.gt_u (local.tee $4 (i32.load @@ -5990,7 +5990,7 @@ (local.get $1) ) ) - (br_if $label$51 + (br_if $block43 (i32.gt_u (i32.add (local.get $4) @@ -6002,7 +6002,7 @@ ) ) ) - (br_if $label$53 + (br_if $label5 (local.tee $0 (i32.load offset=8 (local.get $0) @@ -6016,7 +6016,7 @@ (i32.const 2368) ) ) - (br_if $label$9 + (br_if $block44 (i32.eq (local.tee $5 (call $66 @@ -6029,8 +6029,8 @@ (local.set $2 (local.get $7) ) - (block $label$55 - (br_if $label$55 + (block $block45 + (br_if $block45 (i32.eqz (i32.and (local.tee $1 @@ -6066,8 +6066,8 @@ ) ) ) - (block $label$56 - (br_if $label$56 + (block $block46 + (br_if $block46 (i32.gt_u (local.get $2) (local.get $3) @@ -6076,10 +6076,10 @@ (local.set $6 (i32.const 0) ) - (br $label$9) + (br $block44) ) - (block $label$57 - (br_if $label$57 + (block $block47 + (br_if $block47 (i32.le_u (local.get $2) (i32.const 2147483646) @@ -6088,13 +6088,13 @@ (local.set $6 (i32.const 0) ) - (br $label$9) + (br $block44) ) (local.set $6 (i32.const 0) ) - (block $label$58 - (br_if $label$58 + (block $block48 + (br_if $block48 (i32.eqz (local.tee $0 (i32.load offset=2308 @@ -6103,7 +6103,7 @@ ) ) ) - (br_if $label$9 + (br_if $block44 (i32.le_u (local.tee $4 (i32.add @@ -6118,14 +6118,14 @@ (local.get $1) ) ) - (br_if $label$9 + (br_if $block44 (i32.gt_u (local.get $4) (local.get $0) ) ) ) - (br_if $label$50 + (br_if $block49 (i32.ne (local.tee $0 (call $66 @@ -6135,7 +6135,7 @@ (local.get $5) ) ) - (br $label$8) + (br $block50) ) (drop (call $55 @@ -6145,7 +6145,7 @@ (local.set $6 (i32.const 0) ) - (br_if $label$9 + (br_if $block44 (i32.gt_u (local.tee $2 (i32.and @@ -6171,7 +6171,7 @@ (i32.const 2147483646) ) ) - (br_if $label$10 + (br_if $block51 (i32.eq (local.tee $5 (call $66 @@ -6195,8 +6195,8 @@ (local.set $6 (i32.const 0) ) - (block $label$59 - (br_if $label$59 + (block $block52 + (br_if $block52 (i32.le_u (i32.add (local.get $3) @@ -6205,14 +6205,14 @@ (local.get $2) ) ) - (br_if $label$59 + (br_if $block52 (i32.eq (local.get $0) (i32.const -1) ) ) - (block $label$60 - (br_if $label$60 + (block $block53 + (br_if $block53 (i32.le_u (local.tee $1 (i32.and @@ -6239,10 +6239,10 @@ (local.set $5 (local.get $0) ) - (br $label$8) + (br $block50) ) - (block $label$61 - (br_if $label$61 + (block $block54 + (br_if $block54 (i32.eq (call $66 (local.get $1) @@ -6259,7 +6259,7 @@ (local.set $5 (local.get $0) ) - (br $label$8) + (br $block50) ) (drop (call $66 @@ -6272,35 +6272,36 @@ (local.set $6 (i32.const 0) ) - (br $label$9) + (br $block44) ) (local.set $5 (local.get $0) ) - (br_if $label$8 + (br_if $block50 (i32.ne (local.get $0) (i32.const -1) ) ) - (br $label$9) + (br $block44) ) (unreachable) + (unreachable) ) (local.set $7 (i32.const 0) ) - (br $label$5) + (br $block19) ) (local.set $5 (i32.const 0) ) - (br $label$6) + (br $block31) ) (local.set $6 (local.get $2) ) - (br_if $label$8 + (br_if $block50 (i32.ne (local.get $5) (i32.const -1) @@ -6329,16 +6330,16 @@ ) ) ) - (block $label$62 - (block $label$63 - (block $label$64 - (br_if $label$64 + (block $block56 + (block $block57 + (block $block55 + (br_if $block55 (i32.gt_u (local.get $7) (i32.const 2147483646) ) ) - (br_if $label$64 + (br_if $block55 (i32.ne (local.get $5) (i32.const -1) @@ -6364,25 +6365,25 @@ (i32.const 2368) ) ) - (br_if $label$62 + (br_if $block56 (i32.ge_u (local.get $5) (local.get $0) ) ) - (br_if $label$62 + (br_if $block56 (i32.eq (local.get $5) (i32.const -1) ) ) - (br_if $label$62 + (br_if $block56 (i32.eq (local.get $0) (i32.const -1) ) ) - (br_if $label$63 + (br_if $block57 (i32.gt_u (local.tee $2 (i32.sub @@ -6396,9 +6397,9 @@ ) ) ) - (br $label$62) + (br $block56) ) - (br_if $label$62 + (br_if $block56 (i32.eq (local.get $5) (i32.const -1) @@ -6416,8 +6417,8 @@ ) ) ) - (block $label$65 - (br_if $label$65 + (block $block58 + (br_if $block58 (i32.le_u (local.get $0) (i32.load offset=2304 @@ -6430,11 +6431,11 @@ (local.get $0) ) ) - (block $label$66 - (block $label$67 - (block $label$68 - (block $label$69 - (br_if $label$69 + (block $block64 + (block $block61 + (block $block60 + (block $block59 + (br_if $block59 (i32.eqz (local.tee $1 (i32.load offset=1892 @@ -6446,8 +6447,8 @@ (local.set $0 (i32.const 2344) ) - (loop $label$70 - (br_if $label$68 + (loop $label6 + (br_if $block60 (i32.eq (local.get $5) (i32.add @@ -6464,19 +6465,19 @@ ) ) ) - (br_if $label$70 + (br_if $label6 (local.tee $0 (i32.load offset=8 (local.get $0) ) ) ) - (br $label$67) + (br $block61) ) ) - (block $label$71 - (block $label$72 - (br_if $label$72 + (block $block63 + (block $block62 + (br_if $block62 (i32.eqz (local.tee $0 (i32.load offset=1884 @@ -6485,7 +6486,7 @@ ) ) ) - (br_if $label$71 + (br_if $block63 (i32.ge_u (local.get $5) (local.get $0) @@ -6522,7 +6523,7 @@ (i32.const 0) (i32.const 0) ) - (loop $label$73 + (loop $label7 (i32.store (i32.add (local.tee $1 @@ -6547,7 +6548,7 @@ ) (local.get $4) ) - (br_if $label$73 + (br_if $label7 (i32.ne (local.tee $0 (i32.add @@ -6620,21 +6621,21 @@ (i32.const 0) ) ) - (br $label$66) + (br $block64) ) - (br_if $label$67 + (br_if $block61 (i32.le_u (local.get $5) (local.get $1) ) ) - (br_if $label$67 + (br_if $block61 (i32.gt_u (local.get $4) (local.get $1) ) ) - (br_if $label$67 + (br_if $block61 (i32.and (i32.load offset=12 (local.get $0) @@ -6712,10 +6713,10 @@ (i32.const 0) ) ) - (br $label$66) + (br $block64) ) - (block $label$74 - (br_if $label$74 + (block $block65 + (br_if $block65 (i32.ge_u (local.get $5) (local.tee $7 @@ -6742,15 +6743,15 @@ (local.set $0 (i32.const 2344) ) - (block $label$75 - (block $label$76 - (block $label$77 - (block $label$78 - (block $label$79 - (block $label$80 - (block $label$81 - (loop $label$82 - (br_if $label$81 + (block $block97 + (block $block72 + (block $block90 + (block $block70 + (block $block68 + (block $block67 + (block $block66 + (loop $label8 + (br_if $block66 (i32.eq (i32.load (local.get $0) @@ -6758,17 +6759,17 @@ (local.get $4) ) ) - (br_if $label$82 + (br_if $label8 (local.tee $0 (i32.load offset=8 (local.get $0) ) ) ) - (br $label$80) + (br $block67) ) ) - (br_if $label$79 + (br_if $block68 (i32.eqz (i32.and (i32.load8_u offset=12 @@ -6782,9 +6783,9 @@ (local.set $0 (i32.const 2344) ) - (loop $label$83 - (block $label$84 - (br_if $label$84 + (loop $label9 + (block $block69 + (br_if $block69 (i32.gt_u (local.tee $4 (i32.load @@ -6794,7 +6795,7 @@ (local.get $1) ) ) - (br_if $label$78 + (br_if $block70 (i32.gt_u (local.tee $4 (i32.add @@ -6813,7 +6814,7 @@ (local.get $0) ) ) - (br $label$83) + (br $label9) ) ) (i32.store @@ -6893,8 +6894,8 @@ (local.get $3) ) ) - (block $label$85 - (br_if $label$85 + (block $block71 + (br_if $block71 (i32.ne (local.get $1) (local.get $2) @@ -6922,10 +6923,10 @@ (i32.const 1) ) ) - (br $label$76) + (br $block72) ) - (block $label$86 - (br_if $label$86 + (block $block73 + (br_if $block73 (i32.ne (i32.load offset=1888 (i32.const 0) @@ -6962,10 +6963,10 @@ ) (local.get $0) ) - (br $label$76) + (br $block72) ) - (block $label$87 - (br_if $label$87 + (block $block74 + (br_if $block74 (i32.ne (i32.and (local.tee $0 @@ -6984,9 +6985,9 @@ (i32.const -8) ) ) - (block $label$88 - (block $label$89 - (br_if $label$89 + (block $block77 + (block $block75 + (br_if $block75 (i32.gt_u (local.get $0) (i32.const 255) @@ -7015,8 +7016,8 @@ ) ) ) - (block $label$90 - (br_if $label$90 + (block $block76 + (br_if $block76 (i32.ne (local.tee $0 (i32.load offset=12 @@ -7038,7 +7039,7 @@ ) ) ) - (br $label$88) + (br $block77) ) (drop (i32.eq @@ -7054,16 +7055,16 @@ (local.get $0) (local.get $1) ) - (br $label$88) + (br $block77) ) (local.set $8 (i32.load offset=24 (local.get $2) ) ) - (block $label$91 - (block $label$92 - (br_if $label$92 + (block $block79 + (block $block78 + (br_if $block78 (i32.eq (local.tee $5 (i32.load offset=12 @@ -7091,10 +7092,10 @@ (local.get $5) (local.get $0) ) - (br $label$91) + (br $block79) ) - (block $label$93 - (br_if $label$93 + (block $block80 + (br_if $block80 (local.tee $1 (i32.load (local.tee $0 @@ -7106,7 +7107,7 @@ ) ) ) - (br_if $label$93 + (br_if $block80 (local.tee $1 (i32.load (local.tee $0 @@ -7121,13 +7122,13 @@ (local.set $5 (i32.const 0) ) - (br $label$91) + (br $block79) ) - (loop $label$94 + (loop $label10 (local.set $7 (local.get $0) ) - (br_if $label$94 + (br_if $label10 (local.tee $1 (i32.load (local.tee $0 @@ -7147,7 +7148,7 @@ (i32.const 16) ) ) - (br_if $label$94 + (br_if $label10 (local.tee $1 (i32.load offset=16 (local.get $5) @@ -7160,14 +7161,14 @@ (i32.const 0) ) ) - (br_if $label$88 + (br_if $block77 (i32.eqz (local.get $8) ) ) - (block $label$95 - (block $label$96 - (br_if $label$96 + (block $block82 + (block $block81 + (br_if $block81 (i32.ne (i32.load (local.tee $0 @@ -7191,7 +7192,7 @@ (local.get $0) (local.get $5) ) - (br_if $label$95 + (br_if $block82 (local.get $5) ) (i32.store offset=1872 @@ -7206,7 +7207,7 @@ ) ) ) - (br $label$88) + (br $block77) ) (i32.store (i32.add @@ -7224,7 +7225,7 @@ ) (local.get $5) ) - (br_if $label$88 + (br_if $block77 (i32.eqz (local.get $5) ) @@ -7234,8 +7235,8 @@ (local.get $5) (local.get $8) ) - (block $label$97 - (br_if $label$97 + (block $block83 + (br_if $block83 (i32.eqz (local.tee $0 (i32.load offset=16 @@ -7253,7 +7254,7 @@ (local.get $5) ) ) - (br_if $label$88 + (br_if $block77 (i32.eqz (local.tee $0 (i32.load offset=20 @@ -7310,8 +7311,8 @@ ) (local.get $4) ) - (block $label$98 - (br_if $label$98 + (block $block84 + (br_if $block84 (i32.gt_u (local.get $4) (i32.const 255) @@ -7331,9 +7332,9 @@ (i32.const 1908) ) ) - (block $label$99 - (block $label$100 - (br_if $label$100 + (block $block86 + (block $block85 + (br_if $block85 (i32.and (local.tee $4 (i32.load offset=1868 @@ -7358,7 +7359,7 @@ (local.set $1 (local.get $0) ) - (br $label$99) + (br $block86) ) (local.set $1 (i32.load offset=8 @@ -7382,13 +7383,13 @@ (local.get $3) (local.get $1) ) - (br $label$76) + (br $block72) ) (local.set $0 (i32.const 31) ) - (block $label$101 - (br_if $label$101 + (block $block87 + (br_if $block87 (i32.gt_u (local.get $4) (i32.const 16777215) @@ -7498,9 +7499,9 @@ (i32.const 2172) ) ) - (block $label$102 - (block $label$103 - (br_if $label$103 + (block $block89 + (block $block88 + (br_if $block88 (i32.and (local.tee $5 (i32.load offset=1872 @@ -7530,7 +7531,7 @@ (local.get $3) (local.get $1) ) - (br $label$102) + (br $block89) ) (local.set $0 (i32.shl @@ -7556,8 +7557,8 @@ (local.get $1) ) ) - (loop $label$104 - (br_if $label$77 + (loop $label11 + (br_if $block90 (i32.eq (i32.and (i32.load offset=4 @@ -7582,7 +7583,7 @@ (i32.const 1) ) ) - (br_if $label$104 + (br_if $label11 (local.tee $5 (i32.load (local.tee $7 @@ -7618,7 +7619,7 @@ (local.get $3) (local.get $3) ) - (br $label$76) + (br $block72) ) (i32.store offset=1880 (i32.const 0) @@ -7761,7 +7762,7 @@ (i32.const 24) ) ) - (loop $label$105 + (loop $label12 (i32.store offset=4 (local.get $0) (i32.const 7) @@ -7778,14 +7779,14 @@ (i32.const 4) ) ) - (br_if $label$105 + (br_if $label12 (i32.gt_u (local.get $4) (local.get $5) ) ) ) - (br_if $label$66 + (br_if $block64 (i32.eq (local.get $7) (local.get $1) @@ -7816,8 +7817,8 @@ (local.get $7) (local.get $2) ) - (block $label$106 - (br_if $label$106 + (block $block91 + (br_if $block91 (i32.gt_u (local.get $2) (i32.const 255) @@ -7837,9 +7838,9 @@ (i32.const 1908) ) ) - (block $label$107 - (block $label$108 - (br_if $label$108 + (block $block93 + (block $block92 + (br_if $block92 (i32.and (local.tee $5 (i32.load offset=1868 @@ -7864,7 +7865,7 @@ (local.set $4 (local.get $0) ) - (br $label$107) + (br $block93) ) (local.set $4 (i32.load offset=8 @@ -7888,13 +7889,13 @@ (local.get $1) (local.get $4) ) - (br $label$66) + (br $block64) ) (local.set $0 (i32.const 31) ) - (block $label$109 - (br_if $label$109 + (block $block94 + (br_if $block94 (i32.gt_u (local.get $2) (i32.const 16777215) @@ -8007,9 +8008,9 @@ (i32.const 2172) ) ) - (block $label$110 - (block $label$111 - (br_if $label$111 + (block $block96 + (block $block95 + (br_if $block95 (i32.and (local.tee $5 (i32.load offset=1872 @@ -8042,7 +8043,7 @@ ) (local.get $4) ) - (br $label$110) + (br $block96) ) (local.set $0 (i32.shl @@ -8068,8 +8069,8 @@ (local.get $4) ) ) - (loop $label$112 - (br_if $label$75 + (loop $label13 + (br_if $block97 (i32.eq (i32.and (i32.load offset=4 @@ -8094,7 +8095,7 @@ (i32.const 1) ) ) - (br_if $label$112 + (br_if $label13 (local.tee $5 (i32.load (local.tee $7 @@ -8133,7 +8134,7 @@ (local.get $1) (local.get $1) ) - (br $label$66) + (br $block64) ) (i32.store offset=12 (local.tee $0 @@ -8166,7 +8167,7 @@ (i32.const 8) ) ) - (br $label$4) + (br $block7) ) (i32.store offset=12 (local.tee $0 @@ -8196,7 +8197,7 @@ (local.get $0) ) ) - (br_if $label$62 + (br_if $block56 (i32.le_u (local.tee $0 (i32.load offset=1880 @@ -8248,7 +8249,7 @@ (i32.const 8) ) ) - (br $label$4) + (br $block7) ) (i32.store (call $25) @@ -8257,17 +8258,17 @@ (local.set $1 (i32.const 0) ) - (br $label$4) + (br $block7) ) - (block $label$113 - (br_if $label$113 + (block $block98 + (br_if $block98 (i32.eqz (local.get $8) ) ) - (block $label$114 - (block $label$115 - (br_if $label$115 + (block $block100 + (block $block99 + (br_if $block99 (i32.ne (local.get $7) (i32.load @@ -8291,7 +8292,7 @@ (local.get $0) (local.get $5) ) - (br_if $label$114 + (br_if $block100 (local.get $5) ) (i32.store offset=1872 @@ -8306,7 +8307,7 @@ ) ) ) - (br $label$113) + (br $block98) ) (i32.store (i32.add @@ -8324,7 +8325,7 @@ ) (local.get $5) ) - (br_if $label$113 + (br_if $block98 (i32.eqz (local.get $5) ) @@ -8334,8 +8335,8 @@ (local.get $5) (local.get $8) ) - (block $label$116 - (br_if $label$116 + (block $block101 + (br_if $block101 (i32.eqz (local.tee $0 (i32.load offset=16 @@ -8353,7 +8354,7 @@ (local.get $5) ) ) - (br_if $label$113 + (br_if $block98 (i32.eqz (local.tee $0 (i32.load @@ -8377,9 +8378,9 @@ (local.get $5) ) ) - (block $label$117 - (block $label$118 - (br_if $label$118 + (block $block103 + (block $block102 + (br_if $block102 (i32.gt_u (local.get $1) (i32.const 15) @@ -8411,7 +8412,7 @@ (i32.const 1) ) ) - (br $label$117) + (br $block103) ) (i32.store offset=4 (local.get $7) @@ -8434,8 +8435,8 @@ ) (local.get $1) ) - (block $label$119 - (br_if $label$119 + (block $block104 + (br_if $block104 (i32.gt_u (local.get $1) (i32.const 255) @@ -8455,9 +8456,9 @@ (i32.const 1908) ) ) - (block $label$120 - (block $label$121 - (br_if $label$121 + (block $block106 + (block $block105 + (br_if $block105 (i32.and (local.tee $4 (i32.load offset=1868 @@ -8482,7 +8483,7 @@ (local.set $1 (local.get $0) ) - (br $label$120) + (br $block106) ) (local.set $1 (i32.load offset=8 @@ -8506,13 +8507,13 @@ (local.get $11) (local.get $1) ) - (br $label$117) + (br $block103) ) (local.set $0 (i32.const 31) ) - (block $label$122 - (br_if $label$122 + (block $block107 + (br_if $block107 (i32.gt_u (local.get $1) (i32.const 16777215) @@ -8622,10 +8623,10 @@ (i32.const 2172) ) ) - (block $label$123 - (block $label$124 - (block $label$125 - (br_if $label$125 + (block $block110 + (block $block109 + (block $block108 + (br_if $block108 (i32.and (local.get $6) (local.tee $3 @@ -8651,7 +8652,7 @@ (local.get $11) (local.get $4) ) - (br $label$124) + (br $block109) ) (local.set $0 (i32.shl @@ -8677,8 +8678,8 @@ (local.get $4) ) ) - (loop $label$126 - (br_if $label$123 + (loop $label14 + (br_if $block110 (i32.eq (i32.and (i32.load offset=4 @@ -8703,7 +8704,7 @@ (i32.const 1) ) ) - (br_if $label$126 + (br_if $label14 (local.tee $3 (i32.load (local.tee $5 @@ -8739,7 +8740,7 @@ (local.get $11) (local.get $11) ) - (br $label$117) + (br $block103) ) (i32.store offset=12 (local.tee $0 @@ -8772,17 +8773,17 @@ (i32.const 8) ) ) - (br $label$4) + (br $block7) ) - (block $label$127 - (br_if $label$127 + (block $block111 + (br_if $block111 (i32.eqz (local.get $10) ) ) - (block $label$128 - (block $label$129 - (br_if $label$129 + (block $block113 + (block $block112 + (br_if $block112 (i32.ne (local.get $5) (i32.load @@ -8806,7 +8807,7 @@ (local.get $0) (local.get $7) ) - (br_if $label$128 + (br_if $block113 (local.get $7) ) (i32.store offset=1872 @@ -8819,7 +8820,7 @@ ) ) ) - (br $label$127) + (br $block111) ) (i32.store (i32.add @@ -8837,7 +8838,7 @@ ) (local.get $7) ) - (br_if $label$127 + (br_if $block111 (i32.eqz (local.get $7) ) @@ -8847,8 +8848,8 @@ (local.get $7) (local.get $10) ) - (block $label$130 - (br_if $label$130 + (block $block114 + (br_if $block114 (i32.eqz (local.tee $0 (i32.load offset=16 @@ -8866,7 +8867,7 @@ (local.get $7) ) ) - (br_if $label$127 + (br_if $block111 (i32.eqz (local.tee $0 (i32.load @@ -8890,9 +8891,9 @@ (local.get $7) ) ) - (block $label$131 - (block $label$132 - (br_if $label$132 + (block $block116 + (block $block115 + (br_if $block115 (i32.gt_u (local.get $1) (i32.const 15) @@ -8924,7 +8925,7 @@ (i32.const 1) ) ) - (br $label$131) + (br $block116) ) (i32.store offset=4 (local.get $5) @@ -8947,8 +8948,8 @@ ) (local.get $1) ) - (block $label$133 - (br_if $label$133 + (block $block117 + (br_if $block117 (i32.eqz (local.get $6) ) @@ -8972,9 +8973,9 @@ (i32.const 0) ) ) - (block $label$134 - (block $label$135 - (br_if $label$135 + (block $block119 + (block $block118 + (br_if $block118 (i32.and (local.tee $3 (i32.shl @@ -8995,7 +8996,7 @@ (local.set $3 (local.get $4) ) - (br $label$134) + (br $block119) ) (local.set $3 (i32.load offset=8 @@ -9036,7 +9037,7 @@ ) ) ) - (br_if $label$2 + (br_if $block2 (i32.eqz (i32.and (i32.load8_u offset=2312 @@ -9069,8 +9070,8 @@ (i32.const 2368) ) ) - (block $label$1 - (br_if $label$1 + (block $block + (br_if $block (i32.load offset=1844 (i32.const 0) ) @@ -9091,8 +9092,8 @@ (i32.const 0) (i32.const 2) ) - (block $label$2 - (br_if $label$2 + (block $block1 + (br_if $block1 (call $57 (i32.add (local.get $0) @@ -9100,7 +9101,7 @@ ) ) ) - (br_if $label$2 + (br_if $block1 (call $58 (i32.const 2316) (i32.add @@ -9152,14 +9153,14 @@ (local $5 i32) (local $6 i32) (local $7 i32) - (block $label$1 - (br_if $label$1 + (block $block + (br_if $block (i32.eqz (local.get $0) ) ) - (block $label$2 - (br_if $label$2 + (block $block1 + (br_if $block1 (i32.eqz (i32.and (i32.load8_u offset=2312 @@ -9169,7 +9170,7 @@ ) ) ) - (br_if $label$1 + (br_if $block (call $55 (i32.const 2316) ) @@ -9198,15 +9199,15 @@ ) ) ) - (block $label$3 - (block $label$4 - (br_if $label$4 + (block $block3 + (block $block2 + (br_if $block2 (i32.and (local.get $2) (i32.const 1) ) ) - (br_if $label$3 + (br_if $block3 (i32.eqz (i32.and (local.get $2) @@ -9214,7 +9215,7 @@ ) ) ) - (br_if $label$3 + (br_if $block3 (i32.lt_u (local.tee $1 (i32.sub @@ -9239,8 +9240,8 @@ (local.get $0) ) ) - (block $label$5 - (br_if $label$5 + (block $block4 + (br_if $block4 (i32.eq (i32.load offset=1888 (i32.const 0) @@ -9248,8 +9249,8 @@ (local.get $1) ) ) - (block $label$6 - (br_if $label$6 + (block $block5 + (br_if $block5 (i32.gt_u (local.get $2) (i32.const 255) @@ -9278,8 +9279,8 @@ ) ) ) - (block $label$7 - (br_if $label$7 + (block $block6 + (br_if $block6 (i32.ne (local.tee $2 (i32.load offset=12 @@ -9301,7 +9302,7 @@ ) ) ) - (br $label$4) + (br $block2) ) (drop (i32.eq @@ -9317,16 +9318,16 @@ (local.get $2) (local.get $4) ) - (br $label$4) + (br $block2) ) (local.set $7 (i32.load offset=24 (local.get $1) ) ) - (block $label$8 - (block $label$9 - (br_if $label$9 + (block $block8 + (block $block7 + (br_if $block7 (i32.eq (local.tee $6 (i32.load offset=12 @@ -9354,10 +9355,10 @@ (local.get $6) (local.get $2) ) - (br $label$8) + (br $block8) ) - (block $label$10 - (br_if $label$10 + (block $block9 + (br_if $block9 (local.tee $4 (i32.load (local.tee $2 @@ -9369,7 +9370,7 @@ ) ) ) - (br_if $label$10 + (br_if $block9 (local.tee $4 (i32.load (local.tee $2 @@ -9384,13 +9385,13 @@ (local.set $6 (i32.const 0) ) - (br $label$8) + (br $block8) ) - (loop $label$11 + (loop $label (local.set $5 (local.get $2) ) - (br_if $label$11 + (br_if $label (local.tee $4 (i32.load (local.tee $2 @@ -9410,7 +9411,7 @@ (i32.const 16) ) ) - (br_if $label$11 + (br_if $label (local.tee $4 (i32.load offset=16 (local.get $6) @@ -9423,14 +9424,14 @@ (i32.const 0) ) ) - (br_if $label$4 + (br_if $block2 (i32.eqz (local.get $7) ) ) - (block $label$12 - (block $label$13 - (br_if $label$13 + (block $block11 + (block $block10 + (br_if $block10 (i32.ne (i32.load (local.tee $2 @@ -9454,7 +9455,7 @@ (local.get $2) (local.get $6) ) - (br_if $label$12 + (br_if $block11 (local.get $6) ) (i32.store offset=1872 @@ -9469,7 +9470,7 @@ ) ) ) - (br $label$4) + (br $block2) ) (i32.store (i32.add @@ -9487,7 +9488,7 @@ ) (local.get $6) ) - (br_if $label$4 + (br_if $block2 (i32.eqz (local.get $6) ) @@ -9497,8 +9498,8 @@ (local.get $6) (local.get $7) ) - (block $label$14 - (br_if $label$14 + (block $block12 + (br_if $block12 (i32.eqz (local.tee $2 (i32.load offset=16 @@ -9516,7 +9517,7 @@ (local.get $6) ) ) - (br_if $label$4 + (br_if $block2 (i32.eqz (local.tee $2 (i32.load offset=20 @@ -9536,9 +9537,9 @@ (local.get $2) (local.get $6) ) - (br $label$4) + (br $block2) ) - (br_if $label$4 + (br_if $block2 (i32.ne (i32.and (local.tee $2 @@ -9576,15 +9577,15 @@ ) (local.get $0) ) - (br $label$3) + (br $block3) ) - (br_if $label$3 + (br_if $block3 (i32.le_u (local.get $3) (local.get $1) ) ) - (br_if $label$3 + (br_if $block3 (i32.eqz (i32.and (local.tee $2 @@ -9596,16 +9597,16 @@ ) ) ) - (block $label$15 - (block $label$16 - (br_if $label$16 + (block $block25 + (block $block13 + (br_if $block13 (i32.and (local.get $2) (i32.const 2) ) ) - (block $label$17 - (br_if $label$17 + (block $block14 + (br_if $block14 (i32.ne (i32.load offset=1892 (i32.const 0) @@ -9635,7 +9636,7 @@ (i32.const 1) ) ) - (br_if $label$3 + (br_if $block3 (i32.ne (local.get $1) (i32.load offset=1888 @@ -9651,10 +9652,10 @@ (i32.const 0) (i32.const 0) ) - (br $label$3) + (br $block3) ) - (block $label$18 - (br_if $label$18 + (block $block15 + (br_if $block15 (i32.ne (i32.load offset=1888 (i32.const 0) @@ -9691,7 +9692,7 @@ ) (local.get $0) ) - (br $label$3) + (br $block3) ) (local.set $0 (i32.add @@ -9702,9 +9703,9 @@ (local.get $0) ) ) - (block $label$19 - (block $label$20 - (br_if $label$20 + (block $block18 + (block $block16 + (br_if $block16 (i32.gt_u (local.get $2) (i32.const 255) @@ -9733,8 +9734,8 @@ ) ) ) - (block $label$21 - (br_if $label$21 + (block $block17 + (br_if $block17 (i32.ne (local.tee $2 (i32.load offset=12 @@ -9756,7 +9757,7 @@ ) ) ) - (br $label$19) + (br $block18) ) (drop (i32.eq @@ -9772,16 +9773,16 @@ (local.get $2) (local.get $4) ) - (br $label$19) + (br $block18) ) (local.set $7 (i32.load offset=24 (local.get $3) ) ) - (block $label$22 - (block $label$23 - (br_if $label$23 + (block $block20 + (block $block19 + (br_if $block19 (i32.eq (local.tee $6 (i32.load offset=12 @@ -9811,10 +9812,10 @@ (local.get $6) (local.get $2) ) - (br $label$22) + (br $block20) ) - (block $label$24 - (br_if $label$24 + (block $block21 + (br_if $block21 (local.tee $2 (i32.load (local.tee $4 @@ -9826,7 +9827,7 @@ ) ) ) - (br_if $label$24 + (br_if $block21 (local.tee $2 (i32.load (local.tee $4 @@ -9841,13 +9842,13 @@ (local.set $6 (i32.const 0) ) - (br $label$22) + (br $block20) ) - (loop $label$25 + (loop $label1 (local.set $5 (local.get $4) ) - (br_if $label$25 + (br_if $label1 (local.tee $2 (i32.load (local.tee $4 @@ -9867,7 +9868,7 @@ (i32.const 16) ) ) - (br_if $label$25 + (br_if $label1 (local.tee $2 (i32.load offset=16 (local.get $6) @@ -9880,14 +9881,14 @@ (i32.const 0) ) ) - (br_if $label$19 + (br_if $block18 (i32.eqz (local.get $7) ) ) - (block $label$26 - (block $label$27 - (br_if $label$27 + (block $block23 + (block $block22 + (br_if $block22 (i32.ne (i32.load (local.tee $2 @@ -9911,7 +9912,7 @@ (local.get $2) (local.get $6) ) - (br_if $label$26 + (br_if $block23 (local.get $6) ) (i32.store offset=1872 @@ -9926,7 +9927,7 @@ ) ) ) - (br $label$19) + (br $block18) ) (i32.store (i32.add @@ -9944,7 +9945,7 @@ ) (local.get $6) ) - (br_if $label$19 + (br_if $block18 (i32.eqz (local.get $6) ) @@ -9954,8 +9955,8 @@ (local.get $6) (local.get $7) ) - (block $label$28 - (br_if $label$28 + (block $block24 + (br_if $block24 (i32.eqz (local.tee $2 (i32.load offset=16 @@ -9973,7 +9974,7 @@ (local.get $6) ) ) - (br_if $label$19 + (br_if $block18 (i32.eqz (local.tee $2 (i32.load offset=20 @@ -10008,7 +10009,7 @@ ) (local.get $0) ) - (br_if $label$15 + (br_if $block25 (i32.ne (local.get $1) (i32.load offset=1888 @@ -10020,7 +10021,7 @@ (i32.const 0) (local.get $0) ) - (br $label$3) + (br $block3) ) (i32.store offset=4 (local.get $3) @@ -10044,8 +10045,8 @@ (local.get $0) ) ) - (block $label$29 - (br_if $label$29 + (block $block26 + (br_if $block26 (i32.gt_u (local.get $0) (i32.const 255) @@ -10065,9 +10066,9 @@ (i32.const 1908) ) ) - (block $label$30 - (block $label$31 - (br_if $label$31 + (block $block28 + (block $block27 + (br_if $block27 (i32.and (local.tee $4 (i32.load offset=1868 @@ -10092,7 +10093,7 @@ (local.set $2 (local.get $0) ) - (br $label$30) + (br $block28) ) (local.set $2 (i32.load offset=8 @@ -10116,13 +10117,13 @@ (local.get $1) (local.get $2) ) - (br $label$3) + (br $block3) ) (local.set $2 (i32.const 31) ) - (block $label$32 - (br_if $label$32 + (block $block29 + (br_if $block29 (i32.gt_u (local.get $0) (i32.const 16777215) @@ -10235,11 +10236,11 @@ (i32.const 2172) ) ) - (block $label$33 - (block $label$34 - (block $label$35 - (block $label$36 - (br_if $label$36 + (block $block33 + (block $block32 + (block $block31 + (block $block30 + (br_if $block30 (i32.and (local.tee $6 (i32.load offset=1872 @@ -10272,7 +10273,7 @@ ) (local.get $4) ) - (br $label$35) + (br $block31) ) (local.set $2 (i32.shl @@ -10298,8 +10299,8 @@ (local.get $4) ) ) - (loop $label$37 - (br_if $label$34 + (loop $label2 + (br_if $block32 (i32.eq (i32.and (i32.load offset=4 @@ -10324,7 +10325,7 @@ (i32.const 1) ) ) - (br_if $label$37 + (br_if $label2 (local.tee $6 (i32.load (local.tee $3 @@ -10363,7 +10364,7 @@ (local.get $1) (local.get $1) ) - (br $label$33) + (br $block33) ) (i32.store offset=12 (local.tee $0 @@ -10409,7 +10410,7 @@ ) ) ) - (br_if $label$1 + (br_if $block (i32.eqz (i32.and (i32.load8_u offset=2312 @@ -10427,8 +10428,8 @@ ) ) (func $63 (param $0 i32) (param $1 i32) (result i32) - (block $label$1 - (br_if $label$1 + (block $block + (br_if $block (i32.gt_u (local.get $0) (i32.const 8) @@ -10454,9 +10455,9 @@ (local.set $2 (i32.const 16) ) - (block $label$1 - (block $label$2 - (br_if $label$2 + (block $block1 + (block $block + (br_if $block (i32.and (local.tee $3 (select @@ -10477,9 +10478,9 @@ (local.set $0 (local.get $3) ) - (br $label$1) + (br $block1) ) - (loop $label$3 + (loop $label (local.set $2 (i32.shl (local.tee $0 @@ -10488,7 +10489,7 @@ (i32.const 1) ) ) - (br_if $label$3 + (br_if $label (i32.lt_u (local.get $0) (local.get $3) @@ -10496,8 +10497,8 @@ ) ) ) - (block $label$4 - (br_if $label$4 + (block $block2 + (br_if $block2 (i32.gt_u (i32.sub (i32.const -64) @@ -10514,8 +10515,8 @@ (i32.const 0) ) ) - (block $label$5 - (br_if $label$5 + (block $block3 + (br_if $block3 (local.tee $3 (call $60 (i32.add @@ -10550,9 +10551,9 @@ (local.set $2 (i32.const 0) ) - (block $label$6 - (block $label$7 - (br_if $label$7 + (block $block5 + (block $block4 + (br_if $block4 (i32.eqz (i32.and (i32.load8_u offset=2312 @@ -10562,7 +10563,7 @@ ) ) ) - (br_if $label$6 + (br_if $block5 (call $55 (i32.const 2316) ) @@ -10574,8 +10575,8 @@ (i32.const -8) ) ) - (block $label$8 - (br_if $label$8 + (block $block6 + (br_if $block6 (i32.eqz (i32.and (i32.add @@ -10641,9 +10642,9 @@ ) ) ) - (block $label$9 - (block $label$10 - (br_if $label$10 + (block $block8 + (block $block7 + (br_if $block7 (i32.and (local.get $5) (i32.const 3) @@ -10665,7 +10666,7 @@ (local.get $3) ) ) - (br $label$9) + (br $block8) ) (i32.store offset=4 (local.get $0) @@ -10734,8 +10735,8 @@ (local.get $0) ) ) - (block $label$11 - (br_if $label$11 + (block $block9 + (br_if $block9 (i32.eqz (i32.and (local.tee $0 @@ -10747,7 +10748,7 @@ ) ) ) - (br_if $label$11 + (br_if $block9 (i32.le_u (local.tee $3 (i32.and @@ -10816,7 +10817,7 @@ (i32.const 8) ) ) - (br_if $label$6 + (br_if $block5 (i32.eqz (i32.and (i32.load8_u offset=2312 @@ -10847,9 +10848,9 @@ (local.get $1) ) ) - (block $label$1 - (block $label$2 - (br_if $label$2 + (block $block1 + (block $block + (br_if $block (i32.and (local.tee $3 (i32.load offset=4 @@ -10859,7 +10860,7 @@ (i32.const 1) ) ) - (br_if $label$1 + (br_if $block1 (i32.eqz (i32.and (local.get $3) @@ -10877,9 +10878,9 @@ (local.get $1) ) ) - (block $label$3 - (block $label$4 - (br_if $label$4 + (block $block4 + (block $block2 + (br_if $block2 (i32.eq (i32.load offset=1888 (i32.const 0) @@ -10892,8 +10893,8 @@ ) ) ) - (block $label$5 - (br_if $label$5 + (block $block3 + (br_if $block3 (i32.gt_u (local.get $3) (i32.const 255) @@ -10922,7 +10923,7 @@ ) ) ) - (br_if $label$3 + (br_if $block4 (i32.ne (local.tee $3 (i32.load offset=12 @@ -10944,16 +10945,16 @@ ) ) ) - (br $label$2) + (br $block) ) (local.set $7 (i32.load offset=24 (local.get $0) ) ) - (block $label$6 - (block $label$7 - (br_if $label$7 + (block $block6 + (block $block5 + (br_if $block5 (i32.eq (local.tee $6 (i32.load offset=12 @@ -10983,10 +10984,10 @@ (local.get $6) (local.get $3) ) - (br $label$6) + (br $block6) ) - (block $label$8 - (br_if $label$8 + (block $block7 + (br_if $block7 (local.tee $4 (i32.load (local.tee $3 @@ -10998,7 +10999,7 @@ ) ) ) - (br_if $label$8 + (br_if $block7 (local.tee $4 (i32.load (local.tee $3 @@ -11013,13 +11014,13 @@ (local.set $6 (i32.const 0) ) - (br $label$6) + (br $block6) ) - (loop $label$9 + (loop $label (local.set $5 (local.get $3) ) - (br_if $label$9 + (br_if $label (local.tee $4 (i32.load (local.tee $3 @@ -11039,7 +11040,7 @@ (i32.const 16) ) ) - (br_if $label$9 + (br_if $label (local.tee $4 (i32.load offset=16 (local.get $6) @@ -11052,14 +11053,14 @@ (i32.const 0) ) ) - (br_if $label$2 + (br_if $block (i32.eqz (local.get $7) ) ) - (block $label$10 - (block $label$11 - (br_if $label$11 + (block $block9 + (block $block8 + (br_if $block8 (i32.ne (i32.load (local.tee $3 @@ -11083,7 +11084,7 @@ (local.get $3) (local.get $6) ) - (br_if $label$10 + (br_if $block9 (local.get $6) ) (i32.store offset=1872 @@ -11098,7 +11099,7 @@ ) ) ) - (br $label$2) + (br $block) ) (i32.store (i32.add @@ -11116,7 +11117,7 @@ ) (local.get $6) ) - (br_if $label$2 + (br_if $block (i32.eqz (local.get $6) ) @@ -11126,8 +11127,8 @@ (local.get $6) (local.get $7) ) - (block $label$12 - (br_if $label$12 + (block $block10 + (br_if $block10 (i32.eqz (local.tee $3 (i32.load offset=16 @@ -11145,7 +11146,7 @@ (local.get $6) ) ) - (br_if $label$2 + (br_if $block (i32.eqz (local.tee $3 (i32.load offset=20 @@ -11165,9 +11166,9 @@ (local.get $3) (local.get $6) ) - (br $label$2) + (br $block) ) - (br_if $label$2 + (br_if $block (i32.ne (i32.and (local.tee $3 @@ -11219,9 +11220,9 @@ (local.get $4) ) ) - (block $label$13 - (block $label$14 - (br_if $label$14 + (block $block23 + (block $block11 + (br_if $block11 (i32.and (local.tee $3 (i32.load offset=4 @@ -11231,8 +11232,8 @@ (i32.const 2) ) ) - (block $label$15 - (br_if $label$15 + (block $block12 + (br_if $block12 (i32.ne (i32.load offset=1892 (i32.const 0) @@ -11262,7 +11263,7 @@ (i32.const 1) ) ) - (br_if $label$1 + (br_if $block1 (i32.ne (local.get $0) (i32.load offset=1888 @@ -11280,8 +11281,8 @@ ) (return) ) - (block $label$16 - (br_if $label$16 + (block $block13 + (br_if $block13 (i32.ne (i32.load offset=1888 (i32.const 0) @@ -11329,9 +11330,9 @@ (local.get $1) ) ) - (block $label$17 - (block $label$18 - (br_if $label$18 + (block $block16 + (block $block14 + (br_if $block14 (i32.gt_u (local.get $3) (i32.const 255) @@ -11360,8 +11361,8 @@ ) ) ) - (block $label$19 - (br_if $label$19 + (block $block15 + (br_if $block15 (i32.ne (local.tee $3 (i32.load offset=12 @@ -11383,7 +11384,7 @@ ) ) ) - (br $label$17) + (br $block16) ) (drop (i32.eq @@ -11399,16 +11400,16 @@ (local.get $3) (local.get $4) ) - (br $label$17) + (br $block16) ) (local.set $7 (i32.load offset=24 (local.get $2) ) ) - (block $label$20 - (block $label$21 - (br_if $label$21 + (block $block18 + (block $block17 + (br_if $block17 (i32.eq (local.tee $6 (i32.load offset=12 @@ -11438,10 +11439,10 @@ (local.get $6) (local.get $3) ) - (br $label$20) + (br $block18) ) - (block $label$22 - (br_if $label$22 + (block $block19 + (br_if $block19 (local.tee $3 (i32.load (local.tee $4 @@ -11453,7 +11454,7 @@ ) ) ) - (br_if $label$22 + (br_if $block19 (local.tee $3 (i32.load (local.tee $4 @@ -11468,13 +11469,13 @@ (local.set $6 (i32.const 0) ) - (br $label$20) + (br $block18) ) - (loop $label$23 + (loop $label1 (local.set $5 (local.get $4) ) - (br_if $label$23 + (br_if $label1 (local.tee $3 (i32.load (local.tee $4 @@ -11494,7 +11495,7 @@ (i32.const 16) ) ) - (br_if $label$23 + (br_if $label1 (local.tee $3 (i32.load offset=16 (local.get $6) @@ -11507,14 +11508,14 @@ (i32.const 0) ) ) - (br_if $label$17 + (br_if $block16 (i32.eqz (local.get $7) ) ) - (block $label$24 - (block $label$25 - (br_if $label$25 + (block $block21 + (block $block20 + (br_if $block20 (i32.ne (i32.load (local.tee $3 @@ -11538,7 +11539,7 @@ (local.get $3) (local.get $6) ) - (br_if $label$24 + (br_if $block21 (local.get $6) ) (i32.store offset=1872 @@ -11553,7 +11554,7 @@ ) ) ) - (br $label$17) + (br $block16) ) (i32.store (i32.add @@ -11571,7 +11572,7 @@ ) (local.get $6) ) - (br_if $label$17 + (br_if $block16 (i32.eqz (local.get $6) ) @@ -11581,8 +11582,8 @@ (local.get $6) (local.get $7) ) - (block $label$26 - (br_if $label$26 + (block $block22 + (br_if $block22 (i32.eqz (local.tee $3 (i32.load offset=16 @@ -11600,7 +11601,7 @@ (local.get $6) ) ) - (br_if $label$17 + (br_if $block16 (i32.eqz (local.tee $3 (i32.load offset=20 @@ -11635,7 +11636,7 @@ ) (local.get $1) ) - (br_if $label$13 + (br_if $block23 (i32.ne (local.get $0) (i32.load offset=1888 @@ -11671,8 +11672,8 @@ (local.get $1) ) ) - (block $label$27 - (br_if $label$27 + (block $block24 + (br_if $block24 (i32.gt_u (local.get $1) (i32.const 255) @@ -11692,9 +11693,9 @@ (i32.const 1908) ) ) - (block $label$28 - (block $label$29 - (br_if $label$29 + (block $block26 + (block $block25 + (br_if $block25 (i32.and (local.tee $4 (i32.load offset=1868 @@ -11719,7 +11720,7 @@ (local.set $3 (local.get $1) ) - (br $label$28) + (br $block26) ) (local.set $3 (i32.load offset=8 @@ -11748,8 +11749,8 @@ (local.set $3 (i32.const 31) ) - (block $label$30 - (br_if $label$30 + (block $block27 + (br_if $block27 (i32.gt_u (local.get $1) (i32.const 16777215) @@ -11862,10 +11863,10 @@ (i32.const 2172) ) ) - (block $label$31 - (block $label$32 - (block $label$33 - (br_if $label$33 + (block $block30 + (block $block29 + (block $block28 + (br_if $block28 (i32.and (local.tee $6 (i32.load offset=1872 @@ -11898,7 +11899,7 @@ ) (local.get $4) ) - (br $label$32) + (br $block29) ) (local.set $3 (i32.shl @@ -11924,8 +11925,8 @@ (local.get $4) ) ) - (loop $label$34 - (br_if $label$31 + (loop $label2 + (br_if $block30 (i32.eq (i32.and (i32.load offset=4 @@ -11950,7 +11951,7 @@ (i32.const 1) ) ) - (br_if $label$34 + (br_if $label2 (local.tee $6 (i32.load (local.tee $2 @@ -12038,8 +12039,8 @@ (i32.const 1) ) ) - (block $label$1 - (loop $label$2 + (block $block1 + (loop $label (local.set $0 (i32.add (local.tee $3 @@ -12050,19 +12051,19 @@ (local.get $1) ) ) - (block $label$3 - (br_if $label$3 + (block $block + (br_if $block (local.get $2) ) - (br_if $label$1 + (br_if $block1 (i32.le_u (local.get $0) (local.get $3) ) ) ) - (block $label$4 - (br_if $label$4 + (block $block2 + (br_if $block2 (i32.le_u (local.get $0) (i32.shl @@ -12071,7 +12072,7 @@ ) ) ) - (br_if $label$1 + (br_if $block1 (i32.eqz (call $fimport$15 (local.get $0) @@ -12079,7 +12080,7 @@ ) ) ) - (br_if $label$2 + (br_if $label (i32.ne (i32.atomic.rmw.cmpxchg offset=1436 (i32.const 0) @@ -12116,8 +12117,8 @@ ) ) (func $71 (param $0 i32) (result i32) - (block $label$1 - (br_if $label$1 + (block $block + (br_if $block (local.get $0) ) (return @@ -12191,11 +12192,11 @@ (i32.const 16) ) ) - (block $label$1 - (block $label$2 - (block $label$3 - (block $label$4 - (br_if $label$4 + (block $block3 + (block $block2 + (block $block1 + (block $block + (br_if $block (call $71 (call $fimport$16 (i32.load offset=60 @@ -12213,8 +12214,8 @@ ) ) ) - (loop $label$5 - (br_if $label$3 + (loop $label + (br_if $block1 (i32.eq (local.get $6) (local.tee $4 @@ -12224,7 +12225,7 @@ ) ) ) - (br_if $label$2 + (br_if $block2 (i32.le_s (local.get $4) (i32.const -1) @@ -12289,7 +12290,7 @@ (local.get $4) ) ) - (br_if $label$5 + (br_if $label (i32.eqz (call $71 (call $fimport$16 @@ -12322,7 +12323,7 @@ ) ) ) - (br_if $label$2 + (br_if $block2 (i32.ne (local.get $6) (i32.const -1) @@ -12353,7 +12354,7 @@ (local.set $4 (local.get $2) ) - (br $label$1) + (br $block3) ) (local.set $4 (i32.const 0) @@ -12375,7 +12376,7 @@ (i32.const 32) ) ) - (br_if $label$1 + (br_if $block3 (i32.eq (local.get $7) (i32.const 2) @@ -12436,15 +12437,15 @@ (func $80 (param $0 i32) (result i32) (local $1 i32) (local $2 i32) - (block $label$1 - (block $label$2 - (br_if $label$2 + (block $block2 + (block $block + (br_if $block (i32.eqz (local.get $0) ) ) - (block $label$3 - (br_if $label$3 + (block $block1 + (br_if $block1 (i32.gt_s (i32.load offset=76 (local.get $0) @@ -12468,7 +12469,7 @@ (local.get $0) ) ) - (br_if $label$1 + (br_if $block2 (i32.eqz (local.get $1) ) @@ -12483,8 +12484,8 @@ (local.set $2 (i32.const 0) ) - (block $label$4 - (br_if $label$4 + (block $block3 + (br_if $block3 (i32.eqz (i32.load offset=1584 (i32.const 0) @@ -12499,8 +12500,8 @@ ) ) ) - (block $label$5 - (br_if $label$5 + (block $block4 + (br_if $block4 (i32.eqz (local.tee $0 (i32.load @@ -12509,12 +12510,12 @@ ) ) ) - (loop $label$6 + (loop $label (local.set $1 (i32.const 0) ) - (block $label$7 - (br_if $label$7 + (block $block5 + (br_if $block5 (i32.lt_s (i32.load offset=76 (local.get $0) @@ -12528,8 +12529,8 @@ ) ) ) - (block $label$8 - (br_if $label$8 + (block $block6 + (br_if $block6 (i32.le_u (i32.load offset=20 (local.get $0) @@ -12548,8 +12549,8 @@ ) ) ) - (block $label$9 - (br_if $label$9 + (block $block7 + (br_if $block7 (i32.eqz (local.get $1) ) @@ -12558,7 +12559,7 @@ (local.get $0) ) ) - (br_if $label$6 + (br_if $label (local.tee $0 (i32.load offset=56 (local.get $0) @@ -12574,8 +12575,8 @@ (func $81 (param $0 i32) (result i32) (local $1 i32) (local $2 i32) - (block $label$1 - (br_if $label$1 + (block $block + (br_if $block (i32.le_u (i32.load offset=20 (local.get $0) @@ -12595,7 +12596,7 @@ ) ) ) - (br_if $label$1 + (br_if $block (i32.load offset=20 (local.get $0) ) @@ -12604,8 +12605,8 @@ (i32.const -1) ) ) - (block $label$2 - (br_if $label$2 + (block $block1 + (br_if $block1 (i32.ge_u (local.tee $1 (i32.load offset=4 @@ -12670,8 +12671,8 @@ (local $4 i32) (local $5 i32) (local $6 i32) - (block $label$1 - (br_if $label$1 + (block $block + (br_if $block (i32.eqz (i32.load offset=44 (local.tee $0 @@ -12683,16 +12684,16 @@ (local.set $1 (i32.const 0) ) - (loop $label$2 + (loop $label1 (local.set $2 (i32.const 0) ) (local.set $3 (i32.const 0) ) - (loop $label$3 - (block $label$4 - (br_if $label$4 + (loop $label + (block $block1 + (br_if $block1 (i32.eqz (local.tee $6 (i32.load @@ -12713,7 +12714,7 @@ ) ) ) - (br_if $label$4 + (br_if $block1 (i32.eqz (i32.load (local.tee $4 @@ -12739,7 +12740,7 @@ (i32.const 1) ) ) - (br_if $label$3 + (br_if $label (i32.ne (local.tee $2 (i32.add @@ -12751,7 +12752,7 @@ ) ) ) - (br_if $label$1 + (br_if $block (i32.gt_u (local.get $1) (i32.const 2) @@ -12763,7 +12764,7 @@ (i32.const 1) ) ) - (br_if $label$2 + (br_if $label1 (local.get $3) ) ) diff --git a/test/passes/O.bin.txt b/test/passes/O.bin.txt index 3302ebcc7..fc4724490 100644 --- a/test/passes/O.bin.txt +++ b/test/passes/O.bin.txt @@ -55,7 +55,7 @@ (local.set $1 (i64.const 1) ) - (loop $label$3 + (loop $label (if (i32.eqz (i64.eqz @@ -75,7 +75,7 @@ (i64.const 1) ) ) - (br $label$3) + (br $label) ) ) ) @@ -92,14 +92,14 @@ (i64.const 2) ) (then - (loop $label$3 + (loop $label (local.set $1 (i64.mul (local.get $0) (local.get $1) ) ) - (br_if $label$3 + (br_if $label (i64.gt_s (local.tee $0 (i64.sub diff --git a/test/passes/converge_O3_metrics.bin.txt b/test/passes/converge_O3_metrics.bin.txt index 712172cc7..2d9ef8f57 100644 --- a/test/passes/converge_O3_metrics.bin.txt +++ b/test/passes/converge_O3_metrics.bin.txt @@ -59,8 +59,8 @@ total (local.set $0 (i32.const 10888) ) - (loop $label$3 - (br_if $label$3 + (loop $label + (br_if $label (i32.load8_s (local.tee $0 (i32.add @@ -94,8 +94,8 @@ total ) ) (then - (block $label$2 - (br_if $label$2 + (block $block + (br_if $block (call_indirect (type $0) (local.get $1) (i32.const 10888) @@ -113,8 +113,8 @@ total ) ) ) - (block $label$1 - (br_if $label$1 + (block $block0 + (br_if $block0 (if (result i32) (i32.load (i32.add @@ -291,8 +291,8 @@ total (local.set $0 (i32.const 10888) ) - (loop $label$3 - (br_if $label$3 + (loop $label + (br_if $label (i32.load8_s (local.tee $0 (i32.add @@ -326,8 +326,8 @@ total ) ) (then - (block $label$2 - (br_if $label$2 + (block $block + (br_if $block (call_indirect (type $0) (local.get $1) (i32.const 10888) @@ -345,8 +345,8 @@ total ) ) ) - (block $label$1 - (br_if $label$1 + (block $block0 + (br_if $block0 (if (result i32) (i32.load (i32.add @@ -518,8 +518,8 @@ total (local.set $0 (i32.const 10888) ) - (loop $label$3 - (br_if $label$3 + (loop $label + (br_if $label (i32.load8_s (local.tee $0 (i32.add @@ -553,8 +553,8 @@ total ) ) (then - (block $label$2 - (br_if $label$2 + (block $block + (br_if $block (call_indirect (type $0) (local.get $1) (i32.const 10888) @@ -572,8 +572,8 @@ total ) ) ) - (block $label$1 - (br_if $label$1 + (block $block0 + (br_if $block0 (if (result i32) (i32.load (i32.add diff --git a/test/passes/dce_vacuum_remove-unused-names.bin.txt b/test/passes/dce_vacuum_remove-unused-names.bin.txt index 8a01d2ee5..72bdb2a9c 100644 --- a/test/passes/dce_vacuum_remove-unused-names.bin.txt +++ b/test/passes/dce_vacuum_remove-unused-names.bin.txt @@ -4,8 +4,8 @@ (export "f32.compute_radix" (func $0)) (export "f64.compute_radix" (func $1)) (func $0 (param $0 f32) (param $1 f32) (result f32) - (loop $label$2 - (br_if $label$2 + (loop $label + (br_if $label (f32.eq (f32.add (f32.sub @@ -45,8 +45,8 @@ ) ) (func $1 (param $0 f64) (param $1 f64) (result f64) - (loop $label$2 - (br_if $label$2 + (loop $label + (br_if $label (f64.eq (f64.add (f64.sub @@ -67,8 +67,8 @@ ) ) ) - (loop $label$3 - (br_if $label$3 + (loop $label1 + (br_if $label1 (f64.ne (f64.sub (f64.sub diff --git a/test/passes/dwarf-local-order.bin.txt b/test/passes/dwarf-local-order.bin.txt index 509db04b1..8fc6cfbbe 100644 --- a/test/passes/dwarf-local-order.bin.txt +++ b/test/passes/dwarf-local-order.bin.txt @@ -122,9 +122,9 @@ (local.get $15) ) ) - (block $label$1 - (block $label$2 - (br_if $label$2 + (block $block1 + (block $block + (br_if $block (local.get $16) ) (local.set $17 @@ -135,7 +135,7 @@ (local.set $18 (local.get $17) ) - (br $label$1) + (br $block1) ) (local.set $19 (i32.const -2147483648) @@ -340,11 +340,11 @@ ) ) ;; code offset: 0xa9 - (block $label$1 + (block $block1 ;; code offset: 0xab - (block $label$2 + (block $block ;; code offset: 0xaf - (br_if $label$2 + (br_if $block ;; code offset: 0xad (local.get $16) ) @@ -362,7 +362,7 @@ (local.get $17) ) ;; code offset: 0xba - (br $label$1) + (br $block1) ) ;; code offset: 0xc3 (local.set $19 @@ -516,9 +516,9 @@ (local.get $7) ) ) - (block $label$1 - (block $label$2 - (br_if $label$2 + (block $block1 + (block $block + (br_if $block (local.get $8) ) (local.set $9 @@ -529,7 +529,7 @@ (local.set $10 (local.get $9) ) - (br $label$1) + (br $block1) ) (local.set $11 (i32.const -2147483648) @@ -671,9 +671,9 @@ (local.get $7) ) ) - (block $label$1 - (block $label$2 - (br_if $label$2 + (block $block1 + (block $block + (br_if $block (local.get $8) ) (local.set $9 @@ -684,7 +684,7 @@ (local.set $10 (local.get $9) ) - (br $label$1) + (br $block1) ) (local.set $11 (i32.const -2147483648) diff --git a/test/passes/dwarf_with_exceptions.bin.txt b/test/passes/dwarf_with_exceptions.bin.txt index 8a70d511a..a4e3b5e61 100644 --- a/test/passes/dwarf_with_exceptions.bin.txt +++ b/test/passes/dwarf_with_exceptions.bin.txt @@ -20,8 +20,8 @@ ;; code offset: 0x8 (global.get $__stack_pointer) ) - ;; code offset: 0x10 - (try $label$9 + ;; code offset: 0x18 + (try (do ;; code offset: 0x12 (call $foo\28\29) @@ -45,8 +45,8 @@ (local.get $1) ) ) - ;; code offset: 0x31 - (try $label$8 + ;; code offset: 0x41 + (try $label (do ;; code offset: 0x33 (call $foo\28\29) @@ -58,8 +58,8 @@ ) ;; code offset: 0x41 (catch_all - ;; code offset: 0x42 - (try $label$7 + ;; code offset: 0x63 + (try (do ;; code offset: 0x44 (call $__cxa_end_catch) @@ -92,7 +92,7 @@ ) ) ;; code offset: 0x6c - (rethrow $label$8) + (rethrow $label) ) ) ;; code offset: 0x6f @@ -274,7 +274,7 @@ DWARF debug info Contains section .debug_info (63 bytes) Contains section .debug_abbrev (41 bytes) -Contains section .debug_line (162 bytes) +Contains section .debug_line (136 bytes) Contains section .debug_str (178 bytes) .debug_abbrev contents: @@ -326,7 +326,7 @@ Abbrev table for offset: 0x00000000 .debug_line contents: debug_line[0x00000000] Line table prologue: - total_length: 0x0000009e + total_length: 0x00000084 version: 4 prologue_length: 0x00000031 min_inst_length: 1 @@ -366,51 +366,36 @@ file_names[ 1]: 0x000000000000000e 4 5 1 0 0 is_stmt prologue_end -0x00000052: 00 DW_LNE_set_address (0x0000000000000012) -0x00000059: 03 DW_LNS_advance_line (5) -0x0000005b: 05 DW_LNS_set_column (3) -0x0000005d: 01 DW_LNS_copy - 0x0000000000000012 5 3 1 0 0 is_stmt - - -0x0000005e: 00 DW_LNE_set_address (0x000000000000001f) -0x00000065: 03 DW_LNS_advance_line (6) -0x00000067: 05 DW_LNS_set_column (5) -0x00000069: 01 DW_LNS_copy +0x00000052: 00 DW_LNE_set_address (0x000000000000001f) +0x00000059: 03 DW_LNS_advance_line (6) +0x0000005b: 01 DW_LNS_copy 0x000000000000001f 6 5 1 0 0 is_stmt -0x0000006a: 00 DW_LNE_set_address (0x000000000000003e) -0x00000071: 03 DW_LNS_advance_line (7) -0x00000073: 05 DW_LNS_set_column (3) -0x00000075: 06 DW_LNS_negate_stmt -0x00000076: 01 DW_LNS_copy +0x0000005c: 00 DW_LNE_set_address (0x000000000000003e) +0x00000063: 03 DW_LNS_advance_line (7) +0x00000065: 05 DW_LNS_set_column (3) +0x00000067: 06 DW_LNS_negate_stmt +0x00000068: 01 DW_LNS_copy 0x000000000000003e 7 3 1 0 0 -0x00000077: 00 DW_LNE_set_address (0x0000000000000041) -0x0000007e: 01 DW_LNS_copy +0x00000069: 00 DW_LNE_set_address (0x0000000000000041) +0x00000070: 01 DW_LNS_copy 0x0000000000000041 7 3 1 0 0 -0x0000007f: 00 DW_LNE_set_address (0x0000000000000044) -0x00000086: 03 DW_LNS_advance_line (8) -0x00000088: 05 DW_LNS_set_column (1) -0x0000008a: 06 DW_LNS_negate_stmt -0x0000008b: 01 DW_LNS_copy +0x00000071: 00 DW_LNE_set_address (0x0000000000000044) +0x00000078: 03 DW_LNS_advance_line (8) +0x0000007a: 05 DW_LNS_set_column (1) +0x0000007c: 06 DW_LNS_negate_stmt +0x0000007d: 01 DW_LNS_copy 0x0000000000000044 8 1 1 0 0 is_stmt -0x0000008c: 00 DW_LNE_set_address (0x0000000000000045) -0x00000093: 01 DW_LNS_copy - 0x0000000000000045 8 1 1 0 0 is_stmt - - -0x00000094: 00 DW_LNE_set_address (0x00000000ffffff64) -0x0000009b: 03 DW_LNS_advance_line (7) -0x0000009d: 05 DW_LNS_set_column (3) -0x0000009f: 00 DW_LNE_end_sequence - 0x00000000ffffff64 7 3 1 0 0 is_stmt end_sequence +0x0000007e: 00 DW_LNE_set_address (0x0000000000000045) +0x00000085: 00 DW_LNE_end_sequence + 0x0000000000000045 8 1 1 0 0 is_stmt end_sequence .debug_str contents: @@ -441,8 +426,8 @@ file_names[ 1]: ;; code offset: 0xa (global.get $__stack_pointer) ) - ;; code offset: 0xe - (try $label$9 + ;; code offset: 0x12 + (try (do ;; code offset: 0x10 (call $foo\28\29) @@ -466,8 +451,8 @@ file_names[ 1]: (local.get $1) ) ) - ;; code offset: 0x1f - (try $label$8 + ;; code offset: 0x27 + (try $label (do ;; code offset: 0x21 (call $foo\28\29) @@ -479,8 +464,8 @@ file_names[ 1]: ) ;; code offset: 0x27 (catch_all - ;; code offset: 0x28 - (try $label$7 + ;; code offset: 0x39 + (try (do ;; code offset: 0x2a (call $__cxa_end_catch) @@ -513,7 +498,7 @@ file_names[ 1]: ) ) ;; code offset: 0x3e - (rethrow $label$8) + (rethrow $label) ) ) ;; code offset: 0x41 @@ -537,7 +522,7 @@ file_names[ 1]: ) ;; custom section ".debug_info", size 63 ;; custom section ".debug_abbrev", size 41 - ;; custom section ".debug_line", size 162 + ;; custom section ".debug_line", size 136 ;; custom section ".debug_str", size 178 ;; custom section "producers", size 134 ;; features section: mutable-globals, sign-ext, exception-handling diff --git a/test/passes/fannkuch0_dwarf.bin.txt b/test/passes/fannkuch0_dwarf.bin.txt index bee23dc18..9e9bb8537 100644 --- a/test/passes/fannkuch0_dwarf.bin.txt +++ b/test/passes/fannkuch0_dwarf.bin.txt @@ -5658,9 +5658,9 @@ file_names[ 3]: (local.get $4) ) ;; code offset: 0x29d - (block $label$1 + (block $block ;; code offset: 0x29f - (loop $label$2 + (loop $label ;; code offset: 0x2a6 (local.set $20 ;; code offset: 0x2a3 @@ -5713,7 +5713,7 @@ file_names[ 3]: ) ) ;; code offset: 0x2cc - (br_if $label$1 + (br_if $block ;; code offset: 0x2cb (i32.eqz ;; code offset: 0x2c9 @@ -5807,8 +5807,10 @@ file_names[ 3]: (local.get $35) ) ;; code offset: 0x315 - (br $label$2) + (br $label) ) + ;; code offset: 0x318 + (unreachable) ) ;; code offset: 0x31f (local.set $36 @@ -5984,11 +5986,11 @@ file_names[ 3]: (local.get $54) ) ;; code offset: 0x3a8 - (loop $label$3 (result i32) + (loop $label7 (result i32) ;; code offset: 0x3aa - (block $label$4 + (block $block1 ;; code offset: 0x3ac - (loop $label$5 + (loop $label1 ;; code offset: 0x3b0 (local.set $55 ;; code offset: 0x3ae @@ -6038,7 +6040,7 @@ file_names[ 3]: ) ) ;; code offset: 0x3d6 - (br_if $label$4 + (br_if $block1 ;; code offset: 0x3d5 (i32.eqz ;; code offset: 0x3d3 @@ -6147,8 +6149,10 @@ file_names[ 3]: (local.get $72) ) ;; code offset: 0x42a - (br $label$5) + (br $label1) ) + ;; code offset: 0x42d + (unreachable) ) ;; code offset: 0x434 (local.set $73 @@ -6167,9 +6171,9 @@ file_names[ 3]: ) ) ;; code offset: 0x43d - (block $label$6 + (block $block2 ;; code offset: 0x442 - (br_if $label$6 + (br_if $block2 ;; code offset: 0x441 (i32.eqz ;; code offset: 0x43f @@ -6299,7 +6303,7 @@ file_names[ 3]: ) ) ;; code offset: 0x4a5 - (br_if $label$6 + (br_if $block2 ;; code offset: 0x4a4 (i32.eqz ;; code offset: 0x4a2 @@ -6319,9 +6323,9 @@ file_names[ 3]: (local.get $91) ) ;; code offset: 0x4b2 - (block $label$7 + (block $block3 ;; code offset: 0x4b4 - (loop $label$8 + (loop $label2 ;; code offset: 0x4bb (local.set $92 ;; code offset: 0x4b8 @@ -6374,7 +6378,7 @@ file_names[ 3]: ) ) ;; code offset: 0x4e1 - (br_if $label$7 + (br_if $block3 ;; code offset: 0x4e0 (i32.eqz ;; code offset: 0x4de @@ -6509,8 +6513,10 @@ file_names[ 3]: (local.get $112) ) ;; code offset: 0x54a - (br $label$8) + (br $label2) ) + ;; code offset: 0x54d + (unreachable) ) ;; code offset: 0x551 (local.set $113 @@ -6548,7 +6554,7 @@ file_names[ 3]: (local.get $115) ) ;; code offset: 0x56f - (loop $label$9 + (loop $label4 ;; code offset: 0x573 (local.set $116 ;; code offset: 0x571 @@ -6592,9 +6598,9 @@ file_names[ 3]: (local.get $119) ) ;; code offset: 0x595 - (block $label$10 + (block $block4 ;; code offset: 0x597 - (loop $label$11 + (loop $label3 ;; code offset: 0x59e (local.set $120 ;; code offset: 0x59b @@ -6647,7 +6653,7 @@ file_names[ 3]: ) ) ;; code offset: 0x5c4 - (br_if $label$10 + (br_if $block4 ;; code offset: 0x5c3 (i32.eqz ;; code offset: 0x5c1 @@ -6924,8 +6930,10 @@ file_names[ 3]: (local.get $155) ) ;; code offset: 0x6da - (br $label$11) + (br $label3) ) + ;; code offset: 0x6dd + (unreachable) ) ;; code offset: 0x6e4 (local.set $156 @@ -7093,7 +7101,7 @@ file_names[ 3]: ) ) ;; code offset: 0x78d - (br_if $label$9 + (br_if $label4 ;; code offset: 0x78a (local.get $172) ) @@ -7150,9 +7158,9 @@ file_names[ 3]: ) ) ;; code offset: 0x7c5 - (block $label$12 + (block $block5 ;; code offset: 0x7cb - (br_if $label$12 + (br_if $block5 ;; code offset: 0x7ca (i32.eqz ;; code offset: 0x7c7 @@ -7177,7 +7185,7 @@ file_names[ 3]: ) ) ;; code offset: 0x7df - (loop $label$13 + (loop $label6 ;; code offset: 0x7e6 (local.set $181 ;; code offset: 0x7e3 @@ -7245,9 +7253,9 @@ file_names[ 3]: ) ) ;; code offset: 0x825 - (block $label$14 + (block $block6 ;; code offset: 0x82b - (br_if $label$14 + (br_if $block6 ;; code offset: 0x82a (i32.eqz ;; code offset: 0x827 @@ -7363,9 +7371,9 @@ file_names[ 3]: (local.get $196) ) ;; code offset: 0x89b - (block $label$15 + (block $block7 ;; code offset: 0x89d - (loop $label$16 + (loop $label5 ;; code offset: 0x8a4 (local.set $199 ;; code offset: 0x8a1 @@ -7418,7 +7426,7 @@ file_names[ 3]: ) ) ;; code offset: 0x8d8 - (br_if $label$15 + (br_if $block7 ;; code offset: 0x8d7 (i32.eqz ;; code offset: 0x8d4 @@ -7568,8 +7576,10 @@ file_names[ 3]: (local.get $221) ) ;; code offset: 0x96c - (br $label$16) + (br $label5) ) + ;; code offset: 0x96f + (unreachable) ) ;; code offset: 0x973 (local.set $222 @@ -7739,11 +7749,11 @@ file_names[ 3]: ) ) ;; code offset: 0xa1f - (block $label$17 + (block $block9 ;; code offset: 0xa21 - (block $label$18 + (block $block8 ;; code offset: 0xa27 - (br_if $label$18 + (br_if $block8 ;; code offset: 0xa26 (i32.eqz ;; code offset: 0xa23 @@ -7751,7 +7761,7 @@ file_names[ 3]: ) ) ;; code offset: 0xa29 - (br $label$17) + (br $block9) ) ;; code offset: 0xa31 (local.set $242 @@ -7784,11 +7794,11 @@ file_names[ 3]: (local.get $244) ) ;; code offset: 0xa4b - (br $label$13) + (br $label6) ) ) ;; code offset: 0xa4f - (br $label$3) + (br $label7) ) ) (func $main (param $0 i32) (param $1 i32) (result i32) @@ -7927,11 +7937,11 @@ file_names[ 3]: ) ) ;; code offset: 0xaed - (block $label$1 + (block $block1 ;; code offset: 0xaef - (block $label$2 + (block $block ;; code offset: 0xaf4 - (br_if $label$2 + (br_if $block ;; code offset: 0xaf3 (i32.eqz ;; code offset: 0xaf1 @@ -7968,7 +7978,7 @@ file_names[ 3]: (local.get $15) ) ;; code offset: 0xb0e - (br $label$1) + (br $block1) ) ;; code offset: 0xb13 (local.set $17 @@ -8042,11 +8052,11 @@ file_names[ 3]: ) ) ;; code offset: 0xb4a - (block $label$3 + (block $block3 ;; code offset: 0xb4c - (block $label$4 + (block $block2 ;; code offset: 0xb51 - (br_if $label$4 + (br_if $block2 ;; code offset: 0xb50 (i32.eqz ;; code offset: 0xb4e @@ -8086,7 +8096,7 @@ file_names[ 3]: (local.get $28) ) ;; code offset: 0xb6e - (br $label$3) + (br $block3) ) ;; code offset: 0xb76 (local.set $29 @@ -8432,9 +8442,9 @@ file_names[ 3]: (local.get $4) ) ;; code offset: 0xd66 - (block $label$1 + (block $block ;; code offset: 0xd68 - (loop $label$2 + (loop $label ;; code offset: 0xd6f (local.set $6 ;; code offset: 0xd6c @@ -8502,7 +8512,7 @@ file_names[ 3]: ) ) ;; code offset: 0xda0 - (br_if $label$1 + (br_if $block ;; code offset: 0xd9f (i32.eqz ;; code offset: 0xd9d @@ -8644,8 +8654,10 @@ file_names[ 3]: (local.get $26) ) ;; code offset: 0xe19 - (br $label$2) + (br $label) ) + ;; code offset: 0xe1c + (unreachable) ) ;; code offset: 0xe20 (local.set $27 @@ -8736,9 +8748,9 @@ file_names[ 3]: (local.get $27) ) ;; code offset: 0xe67 - (block $label$3 + (block $block1 ;; code offset: 0xe69 - (loop $label$4 + (loop $label1 ;; code offset: 0xe70 (local.set $36 ;; code offset: 0xe6d @@ -8791,7 +8803,7 @@ file_names[ 3]: ) ) ;; code offset: 0xe96 - (br_if $label$3 + (br_if $block1 ;; code offset: 0xe95 (i32.eqz ;; code offset: 0xe93 @@ -8885,8 +8897,10 @@ file_names[ 3]: (local.get $51) ) ;; code offset: 0xedf - (br $label$4) + (br $label1) ) + ;; code offset: 0xee2 + (unreachable) ) ;; code offset: 0xee9 (local.set $52 @@ -8904,9 +8918,9 @@ file_names[ 3]: (local.get $52) ) ;; code offset: 0xef2 - (block $label$5 + (block $block5 ;; code offset: 0xef4 - (loop $label$6 + (loop $label6 ;; code offset: 0xefb (local.set $53 ;; code offset: 0xef8 @@ -8916,11 +8930,11 @@ file_names[ 3]: ) ) ;; code offset: 0xefd - (block $label$7 + (block $block4 ;; code offset: 0xeff - (block $label$8 + (block $block2 ;; code offset: 0xf04 - (br_if $label$8 + (br_if $block2 ;; code offset: 0xf03 (i32.eqz ;; code offset: 0xf01 @@ -8940,9 +8954,9 @@ file_names[ 3]: (local.get $54) ) ;; code offset: 0xf11 - (block $label$9 + (block $block3 ;; code offset: 0xf13 - (loop $label$10 + (loop $label2 ;; code offset: 0xf1a (local.set $55 ;; code offset: 0xf17 @@ -8995,7 +9009,7 @@ file_names[ 3]: ) ) ;; code offset: 0xf40 - (br_if $label$9 + (br_if $block3 ;; code offset: 0xf3f (i32.eqz ;; code offset: 0xf3d @@ -9119,8 +9133,10 @@ file_names[ 3]: (local.get $73) ) ;; code offset: 0xfa0 - (br $label$10) + (br $label2) ) + ;; code offset: 0xfa3 + (unreachable) ) ;; code offset: 0xfa8 (local.set $74 @@ -9173,15 +9189,15 @@ file_names[ 3]: (local.get $78) ) ;; code offset: 0xfce - (br $label$7) + (br $block4) ) ;; code offset: 0xfd1 - (br $label$5) + (br $block5) ) ;; code offset: 0xfd4 - (block $label$11 + (block $block6 ;; code offset: 0xfd6 - (loop $label$12 + (loop $label3 ;; code offset: 0xfda (local.set $79 ;; code offset: 0xfd8 @@ -9231,7 +9247,7 @@ file_names[ 3]: ) ) ;; code offset: 0x1000 - (br_if $label$11 + (br_if $block6 ;; code offset: 0xfff (i32.eqz ;; code offset: 0xffd @@ -9340,11 +9356,13 @@ file_names[ 3]: (local.get $96) ) ;; code offset: 0x1054 - (br $label$12) + (br $label3) ) + ;; code offset: 0x1057 + (unreachable) ) ;; code offset: 0x1059 - (loop $label$13 + (loop $label5 ;; code offset: 0x1060 (local.set $97 ;; code offset: 0x105d @@ -9397,9 +9415,9 @@ file_names[ 3]: ) ) ;; code offset: 0x1083 - (block $label$14 + (block $block7 ;; code offset: 0x1088 - (br_if $label$14 + (br_if $block7 ;; code offset: 0x1087 (i32.eqz ;; code offset: 0x1085 @@ -9407,7 +9425,7 @@ file_names[ 3]: ) ) ;; code offset: 0x108a - (br $label$5) + (br $block5) ) ;; code offset: 0x108f (local.set $104 @@ -9445,9 +9463,9 @@ file_names[ 3]: (local.get $104) ) ;; code offset: 0x10ad - (block $label$15 + (block $block8 ;; code offset: 0x10af - (loop $label$16 + (loop $label4 ;; code offset: 0x10b6 (local.set $107 ;; code offset: 0x10b3 @@ -9500,7 +9518,7 @@ file_names[ 3]: ) ) ;; code offset: 0x10dc - (br_if $label$15 + (br_if $block8 ;; code offset: 0x10db (i32.eqz ;; code offset: 0x10d9 @@ -9650,8 +9668,10 @@ file_names[ 3]: (local.get $129) ) ;; code offset: 0x1154 - (br $label$16) + (br $label4) ) + ;; code offset: 0x1157 + (unreachable) ) ;; code offset: 0x115b (local.set $130 @@ -9821,11 +9841,11 @@ file_names[ 3]: ) ) ;; code offset: 0x1207 - (block $label$17 + (block $block10 ;; code offset: 0x1209 - (block $label$18 + (block $block9 ;; code offset: 0x120f - (br_if $label$18 + (br_if $block9 ;; code offset: 0x120e (i32.eqz ;; code offset: 0x120b @@ -9833,7 +9853,7 @@ file_names[ 3]: ) ) ;; code offset: 0x1211 - (br $label$17) + (br $block10) ) ;; code offset: 0x1219 (local.set $150 @@ -9866,12 +9886,14 @@ file_names[ 3]: (local.get $152) ) ;; code offset: 0x1233 - (br $label$13) + (br $label5) ) ) ;; code offset: 0x1237 - (br $label$6) + (br $label6) ) + ;; code offset: 0x123a + (unreachable) ) ;; code offset: 0x123e (local.set $153 @@ -9912,9 +9934,9 @@ file_names[ 3]: (local.get $153) ) ;; code offset: 0x1263 - (block $label$19 + (block $block11 ;; code offset: 0x1265 - (loop $label$20 + (loop $label7 ;; code offset: 0x1269 (local.set $156 ;; code offset: 0x1267 @@ -9964,7 +9986,7 @@ file_names[ 3]: ) ) ;; code offset: 0x129d - (br_if $label$19 + (br_if $block11 ;; code offset: 0x129c (i32.eqz ;; code offset: 0x1299 @@ -10046,9 +10068,9 @@ file_names[ 3]: ) ) ;; code offset: 0x12ec - (block $label$21 + (block $block12 ;; code offset: 0x12f2 - (br_if $label$21 + (br_if $block12 ;; code offset: 0x12f1 (i32.eqz ;; code offset: 0x12ee @@ -10123,8 +10145,10 @@ file_names[ 3]: (local.get $176) ) ;; code offset: 0x133b - (br $label$20) + (br $label7) ) + ;; code offset: 0x133e + (unreachable) ) ;; code offset: 0x1345 (local.set $177 diff --git a/test/passes/fannkuch3_dwarf.bin.txt b/test/passes/fannkuch3_dwarf.bin.txt index 74b6446a5..b2e61acfa 100644 --- a/test/passes/fannkuch3_dwarf.bin.txt +++ b/test/passes/fannkuch3_dwarf.bin.txt @@ -4873,13 +4873,13 @@ file_names[ 4]: ) ) ;; code offset: 0x47 - (block $label$1 + (block $block5 ;; code offset: 0x49 - (block $label$2 + (block $block1 ;; code offset: 0x4b - (block $label$3 + (block $block ;; code offset: 0x52 - (br_if $label$3 + (br_if $block ;; code offset: 0x51 (i32.le_s ;; code offset: 0x4d @@ -4889,7 +4889,7 @@ file_names[ 4]: ) ) ;; code offset: 0x54 - (loop $label$4 + (loop $label ;; code offset: 0x60 (i32.store ;; code offset: 0x5d @@ -4908,7 +4908,7 @@ file_names[ 4]: (local.get $1) ) ;; code offset: 0x6d - (br_if $label$4 + (br_if $label ;; code offset: 0x6c (i32.ne ;; code offset: 0x68 @@ -4983,7 +4983,7 @@ file_names[ 4]: (i32.const 0) ) ;; code offset: 0x9f - (br_if $label$2 + (br_if $block1 ;; code offset: 0x9e (i32.le_s ;; code offset: 0x9a @@ -4993,11 +4993,11 @@ file_names[ 4]: ) ) ;; code offset: 0xa1 - (loop $label$5 + (loop $label5 ;; code offset: 0xa3 - (block $label$6 + (block $block2 ;; code offset: 0xaa - (br_if $label$6 + (br_if $block2 ;; code offset: 0xa9 (i32.le_s ;; code offset: 0xa5 @@ -5007,7 +5007,7 @@ file_names[ 4]: ) ) ;; code offset: 0xac - (loop $label$7 + (loop $label1 ;; code offset: 0xbd (i32.store ;; code offset: 0xba @@ -5049,16 +5049,16 @@ file_names[ 4]: (local.get $1) ) ;; code offset: 0xcd - (br_if $label$7 + (br_if $label1 ;; code offset: 0xcb (local.get $0) ) ) ) ;; code offset: 0xd1 - (block $label$8 + (block $block3 ;; code offset: 0xdb - (br_if $label$8 + (br_if $block3 ;; code offset: 0xda (i32.eqz ;; code offset: 0xd8 @@ -5072,7 +5072,7 @@ file_names[ 4]: ) ) ;; code offset: 0xe5 - (br_if $label$8 + (br_if $block3 ;; code offset: 0xe4 (i32.eq ;; code offset: 0xdf @@ -5108,16 +5108,16 @@ file_names[ 4]: (i32.const 0) ) ;; code offset: 0xfa - (loop $label$9 + (loop $label3 ;; code offset: 0xfe (local.set $13 ;; code offset: 0xfc (local.get $0) ) ;; code offset: 0x100 - (block $label$10 + (block $block4 ;; code offset: 0x107 - (br_if $label$10 + (br_if $block4 ;; code offset: 0x106 (i32.lt_s ;; code offset: 0x102 @@ -5142,7 +5142,7 @@ file_names[ 4]: (i32.const 1) ) ;; code offset: 0x114 - (loop $label$11 + (loop $label2 ;; code offset: 0x123 (local.set $15 ;; code offset: 0x120 @@ -5195,7 +5195,7 @@ file_names[ 4]: (local.get $15) ) ;; code offset: 0x14d - (br_if $label$11 + (br_if $label2 ;; code offset: 0x14c (i32.lt_s ;; code offset: 0x143 @@ -5266,7 +5266,7 @@ file_names[ 4]: (local.get $1) ) ;; code offset: 0x174 - (br_if $label$9 + (br_if $label3 ;; code offset: 0x172 (local.get $1) ) @@ -5290,7 +5290,7 @@ file_names[ 4]: ) ) ;; code offset: 0x189 - (br_if $label$1 + (br_if $block5 ;; code offset: 0x188 (i32.ge_s ;; code offset: 0x184 @@ -5300,16 +5300,16 @@ file_names[ 4]: ) ) ;; code offset: 0x18b - (loop $label$12 + (loop $label6 ;; code offset: 0x18f (local.set $1 ;; code offset: 0x18d (i32.const 0) ) ;; code offset: 0x191 - (block $label$13 + (block $block6 ;; code offset: 0x198 - (br_if $label$13 + (br_if $block6 ;; code offset: 0x197 (i32.le_s ;; code offset: 0x193 @@ -5319,7 +5319,7 @@ file_names[ 4]: ) ) ;; code offset: 0x19a - (loop $label$14 + (loop $label4 ;; code offset: 0x1b4 (i32.store ;; code offset: 0x1a3 @@ -5359,7 +5359,7 @@ file_names[ 4]: ) ) ;; code offset: 0x1bc - (br_if $label$14 + (br_if $label4 ;; code offset: 0x1bb (i32.ne ;; code offset: 0x1b7 @@ -5424,7 +5424,7 @@ file_names[ 4]: ) ) ;; code offset: 0x1ed - (br_if $label$5 + (br_if $label5 ;; code offset: 0x1ec (i32.gt_s ;; code offset: 0x1e8 @@ -5434,7 +5434,7 @@ file_names[ 4]: ) ) ;; code offset: 0x1f9 - (br_if $label$1 + (br_if $block5 ;; code offset: 0x1f8 (i32.eq ;; code offset: 0x1f4 @@ -5460,9 +5460,13 @@ file_names[ 4]: ) ) ;; code offset: 0x202 - (br $label$12) + (br $label6) ) + ;; code offset: 0x205 + (unreachable) ) + ;; code offset: 0x207 + (unreachable) ) ;; code offset: 0x21d (i32.store @@ -5522,11 +5526,11 @@ file_names[ 4]: (i32.const 0) ) ;; code offset: 0x234 - (loop $label$15 + (loop $label11 ;; code offset: 0x236 - (block $label$16 + (block $block7 ;; code offset: 0x23d - (br_if $label$16 + (br_if $block7 ;; code offset: 0x23c (i32.lt_s ;; code offset: 0x238 @@ -5536,7 +5540,7 @@ file_names[ 4]: ) ) ;; code offset: 0x23f - (loop $label$17 + (loop $label7 ;; code offset: 0x250 (i32.store ;; code offset: 0x24d @@ -5578,16 +5582,16 @@ file_names[ 4]: (local.get $1) ) ;; code offset: 0x260 - (br_if $label$17 + (br_if $label7 ;; code offset: 0x25e (local.get $0) ) ) ) ;; code offset: 0x264 - (block $label$18 + (block $block8 ;; code offset: 0x26e - (br_if $label$18 + (br_if $block8 ;; code offset: 0x26d (i32.eqz ;; code offset: 0x26b @@ -5601,7 +5605,7 @@ file_names[ 4]: ) ) ;; code offset: 0x278 - (br_if $label$18 + (br_if $block8 ;; code offset: 0x277 (i32.eq ;; code offset: 0x272 @@ -5627,16 +5631,16 @@ file_names[ 4]: (i32.const 0) ) ;; code offset: 0x285 - (loop $label$19 + (loop $label9 ;; code offset: 0x289 (local.set $10 ;; code offset: 0x287 (local.get $0) ) ;; code offset: 0x28b - (block $label$20 + (block $block9 ;; code offset: 0x292 - (br_if $label$20 + (br_if $block9 ;; code offset: 0x291 (i32.lt_s ;; code offset: 0x28d @@ -5661,7 +5665,7 @@ file_names[ 4]: (i32.const 1) ) ;; code offset: 0x29f - (loop $label$21 + (loop $label8 ;; code offset: 0x2ae (local.set $14 ;; code offset: 0x2ab @@ -5714,7 +5718,7 @@ file_names[ 4]: (local.get $14) ) ;; code offset: 0x2d8 - (br_if $label$21 + (br_if $label8 ;; code offset: 0x2d7 (i32.lt_s ;; code offset: 0x2ce @@ -5785,7 +5789,7 @@ file_names[ 4]: (local.get $1) ) ;; code offset: 0x2ff - (br_if $label$19 + (br_if $label9 ;; code offset: 0x2fd (local.get $1) ) @@ -5809,7 +5813,7 @@ file_names[ 4]: ) ) ;; code offset: 0x314 - (br_if $label$1 + (br_if $block5 ;; code offset: 0x313 (i32.ge_s ;; code offset: 0x30f @@ -5819,16 +5823,16 @@ file_names[ 4]: ) ) ;; code offset: 0x316 - (loop $label$22 + (loop $label12 ;; code offset: 0x31a (local.set $1 ;; code offset: 0x318 (i32.const 0) ) ;; code offset: 0x31c - (block $label$23 + (block $block10 ;; code offset: 0x323 - (br_if $label$23 + (br_if $block10 ;; code offset: 0x322 (i32.lt_s ;; code offset: 0x31e @@ -5838,7 +5842,7 @@ file_names[ 4]: ) ) ;; code offset: 0x325 - (loop $label$24 + (loop $label10 ;; code offset: 0x33f (i32.store ;; code offset: 0x32e @@ -5878,7 +5882,7 @@ file_names[ 4]: ) ) ;; code offset: 0x347 - (br_if $label$24 + (br_if $label10 ;; code offset: 0x346 (i32.ne ;; code offset: 0x342 @@ -5943,7 +5947,7 @@ file_names[ 4]: ) ) ;; code offset: 0x378 - (br_if $label$15 + (br_if $label11 ;; code offset: 0x377 (i32.gt_s ;; code offset: 0x373 @@ -5953,7 +5957,7 @@ file_names[ 4]: ) ) ;; code offset: 0x384 - (br_if $label$1 + (br_if $block5 ;; code offset: 0x383 (i32.eq ;; code offset: 0x37f @@ -5979,9 +5983,13 @@ file_names[ 4]: ) ) ;; code offset: 0x38d - (br $label$22) + (br $label12) ) + ;; code offset: 0x390 + (unreachable) ) + ;; code offset: 0x392 + (unreachable) ) ;; code offset: 0x396 (call $free @@ -6023,13 +6031,13 @@ file_names[ 4]: ) ) ;; code offset: 0x3bd - (block $label$1 + (block $block2 ;; code offset: 0x3bf - (block $label$2 + (block $block1 ;; code offset: 0x3c1 - (block $label$3 + (block $block ;; code offset: 0x3c8 - (br_if $label$3 + (br_if $block ;; code offset: 0x3c7 (i32.lt_s ;; code offset: 0x3c3 @@ -6044,7 +6052,7 @@ file_names[ 4]: (i32.const 0) ) ;; code offset: 0x3da - (br_if $label$2 + (br_if $block1 ;; code offset: 0x3d9 (i32.gt_s ;; code offset: 0x3d5 @@ -6077,12 +6085,12 @@ file_names[ 4]: (i32.const 1) ) ;; code offset: 0x3e7 - (br $label$1) + (br $block2) ) ;; code offset: 0x3ea - (block $label$4 + (block $block3 ;; code offset: 0x3f1 - (br_if $label$4 + (br_if $block3 ;; code offset: 0x3f0 (i32.eq ;; code offset: 0x3ec @@ -6112,7 +6120,7 @@ file_names[ 4]: (i32.const 0) ) ;; code offset: 0x402 - (loop $label$5 + (loop $label ;; code offset: 0x40c (i32.store offset=8 ;; code offset: 0x408 @@ -6146,7 +6154,7 @@ file_names[ 4]: (local.get $3) ) ;; code offset: 0x42b - (br_if $label$5 + (br_if $label ;; code offset: 0x42a (i32.ne ;; code offset: 0x426 @@ -6195,15 +6203,15 @@ file_names[ 4]: ) ) ;; code offset: 0x444 - (block $label$6 + (block $block8 ;; code offset: 0x446 - (block $label$7 + (block $block6 ;; code offset: 0x448 - (block $label$8 + (block $block5 ;; code offset: 0x44a - (block $label$9 + (block $block4 ;; code offset: 0x451 - (br_if $label$9 + (br_if $block4 ;; code offset: 0x450 (i32.le_s ;; code offset: 0x44c @@ -6213,7 +6221,7 @@ file_names[ 4]: ) ) ;; code offset: 0x453 - (loop $label$10 + (loop $label1 ;; code offset: 0x45f (i32.store ;; code offset: 0x45c @@ -6232,7 +6240,7 @@ file_names[ 4]: (local.get $0) ) ;; code offset: 0x46c - (br_if $label$10 + (br_if $label1 ;; code offset: 0x46b (i32.ne ;; code offset: 0x467 @@ -6261,7 +6269,7 @@ file_names[ 4]: (local.get $4) ) ;; code offset: 0x477 - (br $label$8) + (br $block5) ) ;; code offset: 0x47c (local.set $7 @@ -6274,17 +6282,17 @@ file_names[ 4]: (local.get $4) ) ;; code offset: 0x482 - (br $label$7) + (br $block6) ) ;; code offset: 0x485 - (loop $label$11 + (loop $label6 ;; code offset: 0x489 (local.set $0 ;; code offset: 0x487 (i32.const 0) ) ;; code offset: 0x48b - (loop $label$12 + (loop $label2 ;; code offset: 0x49d (i32.store offset=16 ;; code offset: 0x48d @@ -6326,7 +6334,7 @@ file_names[ 4]: ) ) ;; code offset: 0x4b5 - (br_if $label$12 + (br_if $label2 ;; code offset: 0x4b4 (i32.ne ;; code offset: 0x4b0 @@ -6353,9 +6361,9 @@ file_names[ 4]: ) ) ;; code offset: 0x4bd - (block $label$13 + (block $block7 ;; code offset: 0x4c4 - (br_if $label$13 + (br_if $block7 ;; code offset: 0x4c3 (i32.le_s ;; code offset: 0x4bf @@ -6365,7 +6373,7 @@ file_names[ 4]: ) ) ;; code offset: 0x4c6 - (loop $label$14 + (loop $label3 ;; code offset: 0x4d7 (i32.store ;; code offset: 0x4d4 @@ -6407,14 +6415,14 @@ file_names[ 4]: (local.get $0) ) ;; code offset: 0x4e7 - (br_if $label$14 + (br_if $label3 ;; code offset: 0x4e5 (local.get $8) ) ) ) ;; code offset: 0x4f0 - (br_if $label$6 + (br_if $block8 ;; code offset: 0x4ef (i32.eq ;; code offset: 0x4eb @@ -6434,7 +6442,7 @@ file_names[ 4]: ) ) ;; code offset: 0x4f9 - (loop $label$15 + (loop $label5 ;; code offset: 0x4fd (local.set $0 ;; code offset: 0x4fb @@ -6449,9 +6457,9 @@ file_names[ 4]: ) ) ;; code offset: 0x506 - (block $label$16 + (block $block9 ;; code offset: 0x50d - (br_if $label$16 + (br_if $block9 ;; code offset: 0x50c (i32.le_s ;; code offset: 0x508 @@ -6461,7 +6469,7 @@ file_names[ 4]: ) ) ;; code offset: 0x50f - (loop $label$17 + (loop $label4 ;; code offset: 0x529 (i32.store ;; code offset: 0x518 @@ -6501,7 +6509,7 @@ file_names[ 4]: ) ) ;; code offset: 0x531 - (br_if $label$17 + (br_if $label4 ;; code offset: 0x530 (i32.ne ;; code offset: 0x52c @@ -6566,9 +6574,9 @@ file_names[ 4]: ) ) ;; code offset: 0x55d - (block $label$18 + (block $block10 ;; code offset: 0x564 - (br_if $label$18 + (br_if $block10 ;; code offset: 0x563 (i32.gt_s ;; code offset: 0x55f @@ -6578,7 +6586,7 @@ file_names[ 4]: ) ) ;; code offset: 0x570 - (br_if $label$15 + (br_if $label5 ;; code offset: 0x56f (i32.ne ;; code offset: 0x56b @@ -6596,11 +6604,11 @@ file_names[ 4]: ) ) ;; code offset: 0x572 - (br $label$6) + (br $block8) ) ) ;; code offset: 0x579 - (br_if $label$6 + (br_if $block8 ;; code offset: 0x578 (i32.eqz ;; code offset: 0x576 @@ -6608,11 +6616,13 @@ file_names[ 4]: ) ) ;; code offset: 0x57b - (br $label$11) + (br $label6) ) + ;; code offset: 0x57e + (unreachable) ) ;; code offset: 0x580 - (loop $label$19 + (loop $label10 ;; code offset: 0x586 (drop ;; code offset: 0x584 @@ -6622,9 +6632,9 @@ file_names[ 4]: ) ) ;; code offset: 0x587 - (block $label$20 + (block $block11 ;; code offset: 0x58e - (br_if $label$20 + (br_if $block11 ;; code offset: 0x58d (i32.le_s ;; code offset: 0x589 @@ -6634,7 +6644,7 @@ file_names[ 4]: ) ) ;; code offset: 0x590 - (loop $label$21 + (loop $label7 ;; code offset: 0x5a1 (i32.store ;; code offset: 0x59e @@ -6676,14 +6686,14 @@ file_names[ 4]: (local.get $0) ) ;; code offset: 0x5b1 - (br_if $label$21 + (br_if $label7 ;; code offset: 0x5af (local.get $8) ) ) ) ;; code offset: 0x5ba - (br_if $label$6 + (br_if $block8 ;; code offset: 0x5b9 (i32.eq ;; code offset: 0x5b5 @@ -6703,7 +6713,7 @@ file_names[ 4]: ) ) ;; code offset: 0x5c3 - (loop $label$22 + (loop $label9 ;; code offset: 0x5ca (local.set $8 ;; code offset: 0x5c7 @@ -6718,9 +6728,9 @@ file_names[ 4]: (i32.const 0) ) ;; code offset: 0x5d0 - (block $label$23 + (block $block12 ;; code offset: 0x5d7 - (br_if $label$23 + (br_if $block12 ;; code offset: 0x5d6 (i32.lt_s ;; code offset: 0x5d2 @@ -6730,7 +6740,7 @@ file_names[ 4]: ) ) ;; code offset: 0x5d9 - (loop $label$24 + (loop $label8 ;; code offset: 0x5f3 (i32.store ;; code offset: 0x5e2 @@ -6770,7 +6780,7 @@ file_names[ 4]: ) ) ;; code offset: 0x5fb - (br_if $label$24 + (br_if $label8 ;; code offset: 0x5fa (i32.ne ;; code offset: 0x5f6 @@ -6835,9 +6845,9 @@ file_names[ 4]: ) ) ;; code offset: 0x627 - (block $label$25 + (block $block13 ;; code offset: 0x62e - (br_if $label$25 + (br_if $block13 ;; code offset: 0x62d (i32.gt_s ;; code offset: 0x629 @@ -6847,7 +6857,7 @@ file_names[ 4]: ) ) ;; code offset: 0x63a - (br_if $label$22 + (br_if $label9 ;; code offset: 0x639 (i32.ne ;; code offset: 0x635 @@ -6865,11 +6875,11 @@ file_names[ 4]: ) ) ;; code offset: 0x63c - (br $label$6) + (br $block8) ) ) ;; code offset: 0x642 - (br_if $label$19 + (br_if $label10 ;; code offset: 0x640 (local.get $7) ) @@ -6896,9 +6906,9 @@ file_names[ 4]: (i32.const 0) ) ;; code offset: 0x656 - (block $label$26 + (block $block14 ;; code offset: 0x65b - (br_if $label$26 + (br_if $block14 ;; code offset: 0x65a (i32.eqz ;; code offset: 0x658 @@ -6911,7 +6921,7 @@ file_names[ 4]: (i32.const 0) ) ;; code offset: 0x661 - (loop $label$27 + (loop $label11 ;; code offset: 0x667 (local.set $1 ;; code offset: 0x665 @@ -6956,7 +6966,7 @@ file_names[ 4]: (local.get $6) ) ;; code offset: 0x686 - (br_if $label$27 + (br_if $label11 ;; code offset: 0x684 (local.get $6) ) diff --git a/test/passes/fannkuch3_manyopts_dwarf.bin.txt b/test/passes/fannkuch3_manyopts_dwarf.bin.txt index 3ffb81efe..6feceabff 100644 --- a/test/passes/fannkuch3_manyopts_dwarf.bin.txt +++ b/test/passes/fannkuch3_manyopts_dwarf.bin.txt @@ -4710,8 +4710,8 @@ file_names[ 4]: (local $14 i32) (local $15 i32) (local $16 i32) - (local $17 i32) - (local $18 i32) + (local $scratch i32) + (local $scratch_18 i32) ;; code offset: 0x35 (local.set $3 ;; code offset: 0x33 @@ -4751,9 +4751,9 @@ file_names[ 4]: ) ) ;; code offset: 0x43 - (block $label$1 + (block $block2 ;; code offset: 0x45 - (block $label$2 + (block $block ;; code offset: 0x4c (if ;; code offset: 0x4b @@ -4765,7 +4765,7 @@ file_names[ 4]: ) (then ;; code offset: 0x4e - (loop $label$4 + (loop $label ;; code offset: 0x5a (i32.store ;; code offset: 0x57 @@ -4784,7 +4784,7 @@ file_names[ 4]: (local.get $1) ) ;; code offset: 0x67 - (br_if $label$4 + (br_if $label ;; code offset: 0x66 (i32.ne ;; code offset: 0x62 @@ -4854,7 +4854,7 @@ file_names[ 4]: (local.get $1) ) ;; code offset: 0x95 - (br_if $label$2 + (br_if $block ;; code offset: 0x94 (i32.le_s ;; code offset: 0x90 @@ -4864,7 +4864,7 @@ file_names[ 4]: ) ) ;; code offset: 0x97 - (loop $label$5 + (loop $label5 ;; code offset: 0x9e (if ;; code offset: 0x9d @@ -4876,7 +4876,7 @@ file_names[ 4]: ) (then ;; code offset: 0xa0 - (loop $label$7 + (loop $label1 ;; code offset: 0xb1 (i32.store ;; code offset: 0xae @@ -4902,10 +4902,9 @@ file_names[ 4]: ;; code offset: 0xaf (local.get $2) ) - ;; code offset: 0xbd - (br_if $label$7 + (br_if $label1 (block (result i32) - (local.set $17 + (local.set $scratch ;; code offset: 0xb8 (i32.gt_s ;; code offset: 0xb4 @@ -4919,16 +4918,17 @@ file_names[ 4]: ;; code offset: 0xb9 (local.get $1) ) - (local.get $17) + ;; code offset: 0xbd + (local.get $scratch) ) ) ) ) ) ;; code offset: 0xc1 - (block $label$8 + (block $block1 ;; code offset: 0xcb - (br_if $label$8 + (br_if $block1 ;; code offset: 0xca (i32.eqz ;; code offset: 0xc8 @@ -4942,7 +4942,7 @@ file_names[ 4]: ) ) ;; code offset: 0xd5 - (br_if $label$8 + (br_if $block1 ;; code offset: 0xd4 (i32.eq ;; code offset: 0xcf @@ -4978,7 +4978,7 @@ file_names[ 4]: (i32.const 0) ) ;; code offset: 0xea - (loop $label$9 + (loop $label3 ;; code offset: 0xee (local.set $16 ;; code offset: 0xec @@ -5010,7 +5010,7 @@ file_names[ 4]: (i32.const 1) ) ;; code offset: 0x102 - (loop $label$11 + (loop $label2 ;; code offset: 0x111 (local.set $15 ;; code offset: 0x10e @@ -5063,7 +5063,7 @@ file_names[ 4]: (local.get $15) ) ;; code offset: 0x13b - (br_if $label$11 + (br_if $label2 ;; code offset: 0x13a (i32.lt_s ;; code offset: 0x131 @@ -5135,7 +5135,7 @@ file_names[ 4]: (local.get $1) ) ;; code offset: 0x162 - (br_if $label$9 + (br_if $label3 ;; code offset: 0x160 (local.get $1) ) @@ -5159,7 +5159,7 @@ file_names[ 4]: ) ) ;; code offset: 0x177 - (br_if $label$1 + (br_if $block2 ;; code offset: 0x176 (i32.ge_s ;; code offset: 0x172 @@ -5169,7 +5169,7 @@ file_names[ 4]: ) ) ;; code offset: 0x179 - (loop $label$12 + (loop $label6 ;; code offset: 0x17d (local.set $1 ;; code offset: 0x17b @@ -5186,7 +5186,7 @@ file_names[ 4]: ) (then ;; code offset: 0x186 - (loop $label$14 + (loop $label4 ;; code offset: 0x1a0 (i32.store ;; code offset: 0x18f @@ -5226,7 +5226,7 @@ file_names[ 4]: ) ) ;; code offset: 0x1a8 - (br_if $label$14 + (br_if $label4 ;; code offset: 0x1a7 (i32.ne ;; code offset: 0x1a3 @@ -5292,7 +5292,7 @@ file_names[ 4]: ) ) ;; code offset: 0x1d9 - (br_if $label$5 + (br_if $label5 ;; code offset: 0x1d8 (i32.gt_s ;; code offset: 0x1d4 @@ -5302,7 +5302,7 @@ file_names[ 4]: ) ) ;; code offset: 0x1e5 - (br_if $label$1 + (br_if $block2 ;; code offset: 0x1e4 (i32.eq ;; code offset: 0x1e0 @@ -5328,9 +5328,13 @@ file_names[ 4]: ) ) ;; code offset: 0x1ee - (br $label$12) + (br $label6) ) + ;; code offset: 0x1f1 + (unreachable) ) + ;; code offset: 0x1f3 + (unreachable) ) ) ;; code offset: 0x209 @@ -5386,7 +5390,7 @@ file_names[ 4]: ) ) ;; code offset: 0x21c - (loop $label$15 + (loop $label11 ;; code offset: 0x223 (if ;; code offset: 0x222 @@ -5398,7 +5402,7 @@ file_names[ 4]: ) (then ;; code offset: 0x225 - (loop $label$17 + (loop $label7 ;; code offset: 0x236 (i32.store ;; code offset: 0x233 @@ -5424,10 +5428,9 @@ file_names[ 4]: ;; code offset: 0x234 (local.get $2) ) - ;; code offset: 0x242 - (br_if $label$17 + (br_if $label7 (block (result i32) - (local.set $18 + (local.set $scratch_18 ;; code offset: 0x23d (i32.gt_s ;; code offset: 0x239 @@ -5441,16 +5444,17 @@ file_names[ 4]: ;; code offset: 0x23e (local.get $1) ) - (local.get $18) + ;; code offset: 0x242 + (local.get $scratch_18) ) ) ) ) ) ;; code offset: 0x246 - (block $label$18 + (block $block3 ;; code offset: 0x250 - (br_if $label$18 + (br_if $block3 ;; code offset: 0x24f (i32.eqz ;; code offset: 0x24d @@ -5464,7 +5468,7 @@ file_names[ 4]: ) ) ;; code offset: 0x25a - (br_if $label$18 + (br_if $block3 ;; code offset: 0x259 (i32.eq ;; code offset: 0x254 @@ -5490,7 +5494,7 @@ file_names[ 4]: (i32.const 0) ) ;; code offset: 0x267 - (loop $label$19 + (loop $label9 ;; code offset: 0x26b (local.set $10 ;; code offset: 0x269 @@ -5522,7 +5526,7 @@ file_names[ 4]: (i32.const 1) ) ;; code offset: 0x27f - (loop $label$21 + (loop $label8 ;; code offset: 0x28e (local.set $14 ;; code offset: 0x28b @@ -5575,7 +5579,7 @@ file_names[ 4]: (local.get $14) ) ;; code offset: 0x2b8 - (br_if $label$21 + (br_if $label8 ;; code offset: 0x2b7 (i32.lt_s ;; code offset: 0x2ae @@ -5647,7 +5651,7 @@ file_names[ 4]: (local.get $1) ) ;; code offset: 0x2df - (br_if $label$19 + (br_if $label9 ;; code offset: 0x2dd (local.get $1) ) @@ -5671,7 +5675,7 @@ file_names[ 4]: ) ) ;; code offset: 0x2f4 - (br_if $label$1 + (br_if $block2 ;; code offset: 0x2f3 (i32.ge_s ;; code offset: 0x2ef @@ -5681,7 +5685,7 @@ file_names[ 4]: ) ) ;; code offset: 0x2f6 - (loop $label$22 + (loop $label12 ;; code offset: 0x2fa (local.set $1 ;; code offset: 0x2f8 @@ -5698,7 +5702,7 @@ file_names[ 4]: ) (then ;; code offset: 0x303 - (loop $label$24 + (loop $label10 ;; code offset: 0x31d (i32.store ;; code offset: 0x30c @@ -5738,7 +5742,7 @@ file_names[ 4]: ) ) ;; code offset: 0x325 - (br_if $label$24 + (br_if $label10 ;; code offset: 0x324 (i32.ne ;; code offset: 0x320 @@ -5804,7 +5808,7 @@ file_names[ 4]: ) ) ;; code offset: 0x356 - (br_if $label$15 + (br_if $label11 ;; code offset: 0x355 (i32.gt_s ;; code offset: 0x351 @@ -5814,7 +5818,7 @@ file_names[ 4]: ) ) ;; code offset: 0x362 - (br_if $label$1 + (br_if $block2 ;; code offset: 0x361 (i32.eq ;; code offset: 0x35d @@ -5840,9 +5844,13 @@ file_names[ 4]: ) ) ;; code offset: 0x36b - (br $label$22) + (br $label12) ) + ;; code offset: 0x36e + (unreachable) ) + ;; code offset: 0x370 + (unreachable) ) ;; code offset: 0x374 (call $free @@ -5870,8 +5878,8 @@ file_names[ 4]: (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) - (local $10 i32) + (local $scratch i32) + (local $scratch_10 i32) ;; code offset: 0x399 (global.set $global$0 ;; code offset: 0x397 @@ -5886,9 +5894,9 @@ file_names[ 4]: ) ) ;; code offset: 0x39b - (block $label$1 + (block $block1 ;; code offset: 0x39d - (block $label$2 + (block $block ;; code offset: 0x3a4 (if ;; code offset: 0x3a3 @@ -5900,7 +5908,7 @@ file_names[ 4]: ) (then ;; code offset: 0x3b2 - (br_if $label$2 + (br_if $block ;; code offset: 0x3b1 (i32.gt_s ;; code offset: 0x3ad @@ -5934,7 +5942,7 @@ file_names[ 4]: (i32.const 1) ) ;; code offset: 0x3bf - (br $label$1) + (br $block1) ) ;; code offset: 0x3c7 (if @@ -5967,7 +5975,7 @@ file_names[ 4]: (i32.const 0) ) ;; code offset: 0x3d8 - (loop $label$5 + (loop $label ;; code offset: 0x3e2 (i32.store offset=8 ;; code offset: 0x3de @@ -6001,7 +6009,7 @@ file_names[ 4]: (local.get $4) ) ;; code offset: 0x401 - (br_if $label$5 + (br_if $label ;; code offset: 0x400 (i32.ne ;; code offset: 0x3fc @@ -6051,11 +6059,11 @@ file_names[ 4]: ) ) ;; code offset: 0x41a - (block $label$6 + (block $block4 ;; code offset: 0x41c - (block $label$7 + (block $block3 ;; code offset: 0x41e - (block $label$8 + (block $block2 ;; code offset: 0x425 (if ;; code offset: 0x424 @@ -6067,7 +6075,7 @@ file_names[ 4]: ) (then ;; code offset: 0x427 - (loop $label$10 + (loop $label1 ;; code offset: 0x433 (i32.store ;; code offset: 0x430 @@ -6086,7 +6094,7 @@ file_names[ 4]: (local.get $0) ) ;; code offset: 0x440 - (br_if $label$10 + (br_if $label1 ;; code offset: 0x43f (i32.ne ;; code offset: 0x43b @@ -6115,7 +6123,7 @@ file_names[ 4]: (local.get $3) ) ;; code offset: 0x44b - (br $label$8) + (br $block2) ) ) ;; code offset: 0x450 @@ -6129,17 +6137,17 @@ file_names[ 4]: (local.get $3) ) ;; code offset: 0x456 - (br $label$7) + (br $block3) ) ;; code offset: 0x459 - (loop $label$11 + (loop $label6 ;; code offset: 0x45d (local.set $0 ;; code offset: 0x45b (i32.const 0) ) ;; code offset: 0x45f - (loop $label$12 + (loop $label2 ;; code offset: 0x471 (i32.store offset=16 ;; code offset: 0x461 @@ -6181,7 +6189,7 @@ file_names[ 4]: ) ) ;; code offset: 0x489 - (br_if $label$12 + (br_if $label2 ;; code offset: 0x488 (i32.ne ;; code offset: 0x484 @@ -6218,7 +6226,7 @@ file_names[ 4]: ) (then ;; code offset: 0x498 - (loop $label$14 + (loop $label3 ;; code offset: 0x4a9 (i32.store ;; code offset: 0x4a6 @@ -6244,10 +6252,9 @@ file_names[ 4]: ;; code offset: 0x4a7 (local.get $2) ) - ;; code offset: 0x4b5 - (br_if $label$14 + (br_if $label3 (block (result i32) - (local.set $9 + (local.set $scratch ;; code offset: 0x4b0 (i32.gt_s ;; code offset: 0x4ac @@ -6261,14 +6268,15 @@ file_names[ 4]: ;; code offset: 0x4b1 (local.get $0) ) - (local.get $9) + ;; code offset: 0x4b5 + (local.get $scratch) ) ) ) ) ) ;; code offset: 0x4be - (br_if $label$6 + (br_if $block4 ;; code offset: 0x4bd (i32.eq ;; code offset: 0x4b9 @@ -6288,7 +6296,7 @@ file_names[ 4]: ) ) ;; code offset: 0x4c7 - (loop $label$15 + (loop $label5 ;; code offset: 0x4cb (local.set $0 ;; code offset: 0x4c9 @@ -6313,7 +6321,7 @@ file_names[ 4]: ) (then ;; code offset: 0x4db - (loop $label$17 + (loop $label4 ;; code offset: 0x4f5 (i32.store ;; code offset: 0x4e4 @@ -6353,7 +6361,7 @@ file_names[ 4]: ) ) ;; code offset: 0x4fd - (br_if $label$17 + (br_if $label4 ;; code offset: 0x4fc (i32.ne ;; code offset: 0x4f8 @@ -6429,7 +6437,7 @@ file_names[ 4]: ) (then ;; code offset: 0x53a - (br_if $label$15 + (br_if $label5 ;; code offset: 0x539 (i32.ne ;; code offset: 0x535 @@ -6447,21 +6455,21 @@ file_names[ 4]: ) ) ;; code offset: 0x53c - (br $label$6) + (br $block4) ) ) ) ;; code offset: 0x542 - (br_if $label$11 + (br_if $label6 ;; code offset: 0x540 (local.get $6) ) ) ;; code offset: 0x545 - (br $label$6) + (br $block4) ) ;; code offset: 0x548 - (loop $label$19 + (loop $label10 ;; code offset: 0x54e (drop ;; code offset: 0x54c @@ -6481,7 +6489,7 @@ file_names[ 4]: ) (then ;; code offset: 0x556 - (loop $label$21 + (loop $label7 ;; code offset: 0x567 (i32.store ;; code offset: 0x564 @@ -6507,10 +6515,9 @@ file_names[ 4]: ;; code offset: 0x565 (local.get $2) ) - ;; code offset: 0x573 - (br_if $label$21 + (br_if $label7 (block (result i32) - (local.set $10 + (local.set $scratch_10 ;; code offset: 0x56e (i32.gt_s ;; code offset: 0x56a @@ -6524,14 +6531,15 @@ file_names[ 4]: ;; code offset: 0x56f (local.get $0) ) - (local.get $10) + ;; code offset: 0x573 + (local.get $scratch_10) ) ) ) ) ) ;; code offset: 0x57c - (br_if $label$6 + (br_if $block4 ;; code offset: 0x57b (i32.eq ;; code offset: 0x577 @@ -6551,7 +6559,7 @@ file_names[ 4]: ) ) ;; code offset: 0x585 - (loop $label$22 + (loop $label9 ;; code offset: 0x58c (local.set $7 ;; code offset: 0x589 @@ -6576,7 +6584,7 @@ file_names[ 4]: ) (then ;; code offset: 0x599 - (loop $label$24 + (loop $label8 ;; code offset: 0x5b3 (i32.store ;; code offset: 0x5a2 @@ -6616,7 +6624,7 @@ file_names[ 4]: ) ) ;; code offset: 0x5bb - (br_if $label$24 + (br_if $label8 ;; code offset: 0x5ba (i32.ne ;; code offset: 0x5b6 @@ -6692,7 +6700,7 @@ file_names[ 4]: ) (then ;; code offset: 0x5f8 - (br_if $label$22 + (br_if $label9 ;; code offset: 0x5f7 (i32.ne ;; code offset: 0x5f3 @@ -6710,12 +6718,12 @@ file_names[ 4]: ) ) ;; code offset: 0x5fa - (br $label$6) + (br $block4) ) ) ) ;; code offset: 0x600 - (br_if $label$19 + (br_if $label10 ;; code offset: 0x5fe (local.get $6) ) @@ -6747,7 +6755,7 @@ file_names[ 4]: (local.get $4) (then ;; code offset: 0x618 - (loop $label$27 + (loop $label11 ;; code offset: 0x61e (local.set $1 ;; code offset: 0x61c @@ -6792,7 +6800,7 @@ file_names[ 4]: (local.get $2) ) ;; code offset: 0x63d - (br_if $label$27 + (br_if $label11 ;; code offset: 0x63b (local.get $2) ) diff --git a/test/passes/fib2_dwarf.bin.txt b/test/passes/fib2_dwarf.bin.txt index 9d633f78b..37c49c336 100644 --- a/test/passes/fib2_dwarf.bin.txt +++ b/test/passes/fib2_dwarf.bin.txt @@ -637,9 +637,9 @@ file_names[ 1]: (i32.const 1) ) ;; code offset: 0x12 - (block $label$1 + (block $block ;; code offset: 0x19 - (br_if $label$1 + (br_if $block ;; code offset: 0x18 (i32.lt_s ;; code offset: 0x14 @@ -659,7 +659,7 @@ file_names[ 1]: (i32.const 0) ) ;; code offset: 0x23 - (loop $label$2 + (loop $label ;; code offset: 0x2c (local.set $1 ;; code offset: 0x2b @@ -679,7 +679,7 @@ file_names[ 1]: (local.get $4) ) ;; code offset: 0x3c - (br_if $label$2 + (br_if $label ;; code offset: 0x3b (i32.ne ;; code offset: 0x37 diff --git a/test/passes/fib2_emptylocspan_dwarf.bin.txt b/test/passes/fib2_emptylocspan_dwarf.bin.txt index 6d9078ccc..e59fe19bb 100644 --- a/test/passes/fib2_emptylocspan_dwarf.bin.txt +++ b/test/passes/fib2_emptylocspan_dwarf.bin.txt @@ -637,9 +637,9 @@ file_names[ 1]: (i32.const 1) ) ;; code offset: 0x12 - (block $label$1 + (block $block ;; code offset: 0x19 - (br_if $label$1 + (br_if $block ;; code offset: 0x18 (i32.lt_s ;; code offset: 0x14 @@ -659,7 +659,7 @@ file_names[ 1]: (i32.const 0) ) ;; code offset: 0x23 - (loop $label$2 + (loop $label ;; code offset: 0x2c (local.set $1 ;; code offset: 0x2b @@ -679,7 +679,7 @@ file_names[ 1]: (local.get $4) ) ;; code offset: 0x3c - (br_if $label$2 + (br_if $label ;; code offset: 0x3b (i32.ne ;; code offset: 0x37 diff --git a/test/passes/fib_nonzero-low-pc_dwarf.bin.txt b/test/passes/fib_nonzero-low-pc_dwarf.bin.txt index 8d1c7faa8..a9294f7e1 100644 --- a/test/passes/fib_nonzero-low-pc_dwarf.bin.txt +++ b/test/passes/fib_nonzero-low-pc_dwarf.bin.txt @@ -539,9 +539,9 @@ file_names[ 1]: (i32.const 1) ) ;; code offset: 0x19 - (block $label$1 + (block $block ;; code offset: 0x20 - (br_if $label$1 + (br_if $block ;; code offset: 0x1f (i32.le_s ;; code offset: 0x1b @@ -561,7 +561,7 @@ file_names[ 1]: (i32.const 1) ) ;; code offset: 0x2a - (loop $label$2 + (loop $label ;; code offset: 0x33 (local.set $1 ;; code offset: 0x32 @@ -601,7 +601,7 @@ file_names[ 1]: (local.get $4) ) ;; code offset: 0x4a - (br_if $label$2 + (br_if $label ;; code offset: 0x49 (i32.eqz ;; code offset: 0x47 diff --git a/test/passes/flatten.bin.txt b/test/passes/flatten.bin.txt index 53fbcc397..680f2c393 100644 --- a/test/passes/flatten.bin.txt +++ b/test/passes/flatten.bin.txt @@ -100,10 +100,120 @@ (local $6 i64) (local $7 f32) (local $8 f64) - (block $label$1 + (local $9 f32) + (local $10 f32) + (local $11 f64) + (local $12 f64) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 f32) + (local $18 f32) + (local $19 i64) + (local $20 i32) + (local $21 i64) + (local $22 i32) + (local $23 f64) + (local $24 f64) + (block (nop) (unreachable) + (i64.eqz + (unreachable) + ) + (drop + (unreachable) + ) (unreachable) + (local.set $9 + (local.get $1) + ) + (local.set $10 + (f32.neg + (local.get $9) + ) + ) + (drop + (local.get $10) + ) + (local.set $11 + (local.get $2) + ) + (local.set $12 + (f64.neg + (local.get $11) + ) + ) + (drop + (local.get $12) + ) + (local.set $13 + (local.get $3) + ) + (local.set $14 + (i32.eqz + (local.get $13) + ) + ) + (drop + (local.get $14) + ) + (local.set $15 + (local.get $4) + ) + (local.set $16 + (i32.eqz + (local.get $15) + ) + ) + (drop + (local.get $16) + ) + (local.set $17 + (local.get $7) + ) + (local.set $18 + (f32.neg + (local.get $17) + ) + ) + (drop + (local.get $18) + ) + (local.set $19 + (local.get $5) + ) + (local.set $20 + (i64.eqz + (local.get $19) + ) + ) + (drop + (local.get $20) + ) + (local.set $21 + (local.get $6) + ) + (local.set $22 + (i64.eqz + (local.get $21) + ) + ) + (drop + (local.get $22) + ) + (local.set $23 + (local.get $8) + ) + (local.set $24 + (f64.neg + (local.get $23) + ) + ) + (drop + (local.get $24) + ) ) (unreachable) ) @@ -138,7 +248,7 @@ (local $32 f64) (local $33 f64) (local $34 f64) - (block $label$1 + (block (local.set $7 (f32.const 5.5) ) diff --git a/test/passes/print.bin.txt b/test/passes/print.bin.txt index 25b2cc387..f54f883d1 100644 --- a/test/passes/print.bin.txt +++ b/test/passes/print.bin.txt @@ -27,8 +27,8 @@ (i32.const 55) ) (then - (loop $label$2 - (br_if $label$2 + (loop $label + (br_if $label (i32.ne (i32.rem_s (local.tee $0 @@ -120,8 +120,8 @@ (i32.const 55) ) (then - (loop $label$2 - (br_if $label$2 + (loop $label + (br_if $label (i32.ne (i32.rem_s (local.tee $0 diff --git a/test/passes/print_g.bin.txt b/test/passes/print_g.bin.txt index 174230388..f9a2ac67b 100644 --- a/test/passes/print_g.bin.txt +++ b/test/passes/print_g.bin.txt @@ -35,9 +35,9 @@ ) (then ;; code offset: 0x12 - (loop $label$2 + (loop $label ;; code offset: 0x2e - (br_if $label$2 + (br_if $label ;; code offset: 0x2d (i32.ne ;; code offset: 0x2a @@ -167,9 +167,9 @@ ) (then ;; code offset: 0x12 - (loop $label$2 + (loop $label ;; code offset: 0x2e - (br_if $label$2 + (br_if $label ;; code offset: 0x2d (i32.ne ;; code offset: 0x2a diff --git a/test/passes/print_g_metrics.bin.txt b/test/passes/print_g_metrics.bin.txt index 2acec546f..084dd6256 100644 --- a/test/passes/print_g_metrics.bin.txt +++ b/test/passes/print_g_metrics.bin.txt @@ -30,8 +30,8 @@ (i32.const 55) ) (then - (loop $label$2 - (br_if $label$2 + (loop $label + (br_if $label (i32.ne (i32.rem_s (local.tee $0 @@ -120,8 +120,8 @@ total (i32.const 55) ) (then - (loop $label$2 - (br_if $label$2 + (loop $label + (br_if $label (i32.ne (i32.rem_s (local.tee $0 diff --git a/test/passes/print_g_strip-dwarf.bin.txt b/test/passes/print_g_strip-dwarf.bin.txt index 967e03f3d..e9b36b975 100644 --- a/test/passes/print_g_strip-dwarf.bin.txt +++ b/test/passes/print_g_strip-dwarf.bin.txt @@ -27,8 +27,8 @@ (i32.const 55) ) (then - (loop $label$2 - (br_if $label$2 + (loop $label + (br_if $label (i32.ne (i32.rem_s (local.tee $0 @@ -120,8 +120,8 @@ (i32.const 55) ) (then - (loop $label$2 - (br_if $label$2 + (loop $label + (br_if $label (i32.ne (i32.rem_s (local.tee $0 diff --git a/test/passes/reverse_dwarf_abbrevs.bin.txt b/test/passes/reverse_dwarf_abbrevs.bin.txt index 5427acc6c..7b3a5aaad 100644 --- a/test/passes/reverse_dwarf_abbrevs.bin.txt +++ b/test/passes/reverse_dwarf_abbrevs.bin.txt @@ -292,11 +292,11 @@ file_names[ 1]: ;; code offset: 0x18d (local.set $4 ;; code offset: 0x89 - (block $label$1 (result i32) + (block $block2 (result i32) ;; code offset: 0x8b - (block $label$2 + (block $block1 ;; code offset: 0x8d - (block $label$3 + (block $block ;; code offset: 0xa5 (if ;; code offset: 0xa4 @@ -331,9 +331,9 @@ file_names[ 1]: ) (then ;; code offset: 0xa7 - (loop $label$5 + (loop $label ;; code offset: 0xb3 - (br_if $label$3 + (br_if $block ;; code offset: 0xb2 (i32.eq ;; code offset: 0xa9 @@ -349,7 +349,7 @@ file_names[ 1]: ) ) ;; code offset: 0xba - (br_if $label$2 + (br_if $block1 ;; code offset: 0xb9 (i32.le_s ;; code offset: 0xb5 @@ -456,7 +456,7 @@ file_names[ 1]: ) ) ;; code offset: 0x125 - (br_if $label$5 + (br_if $label ;; code offset: 0x124 (i32.eqz ;; code offset: 0x122 @@ -517,7 +517,7 @@ file_names[ 1]: (i32.const -1) ) ;; code offset: 0x135 - (br_if $label$2 + (br_if $block1 ;; code offset: 0x134 (i32.ne ;; code offset: 0x130 @@ -563,7 +563,7 @@ file_names[ 1]: ) ) ;; code offset: 0x15a - (br $label$1 + (br $block2 ;; code offset: 0x158 (local.get $2) ) @@ -600,7 +600,7 @@ file_names[ 1]: ;; code offset: 0x183 (drop ;; code offset: 0x181 - (br_if $label$1 + (br_if $block2 ;; code offset: 0x17a (local.tee $4 ;; code offset: 0x178 @@ -797,7 +797,7 @@ file_names[ 1]: ) ) ;; code offset: 0x222 - (block $label$2 + (block $block2 ;; code offset: 0x22d (if ;; code offset: 0x22c @@ -817,7 +817,7 @@ file_names[ 1]: ) (then ;; code offset: 0x22f - (block $label$4 + (block $block ;; code offset: 0x236 (if ;; code offset: 0x235 @@ -834,7 +834,7 @@ file_names[ 1]: (local.get $0) ) ;; code offset: 0x23c - (br $label$4) + (br $block) ) ) ;; code offset: 0x245 @@ -856,7 +856,7 @@ file_names[ 1]: (local.get $0) ) ;; code offset: 0x24b - (br $label$4) + (br $block) ) ) ;; code offset: 0x250 @@ -865,7 +865,7 @@ file_names[ 1]: (local.get $0) ) ;; code offset: 0x252 - (loop $label$7 + (loop $label ;; code offset: 0x25b (i32.store8 ;; code offset: 0x254 @@ -887,7 +887,7 @@ file_names[ 1]: ) ) ;; code offset: 0x26f - (br_if $label$4 + (br_if $block ;; code offset: 0x26e (i32.ge_u ;; code offset: 0x26a @@ -905,7 +905,7 @@ file_names[ 1]: ) ) ;; code offset: 0x276 - (br_if $label$7 + (br_if $label ;; code offset: 0x275 (i32.and ;; code offset: 0x271 @@ -917,9 +917,9 @@ file_names[ 1]: ) ) ;; code offset: 0x27a - (block $label$8 + (block $block1 ;; code offset: 0x287 - (br_if $label$8 + (br_if $block1 ;; code offset: 0x286 (i32.lt_u ;; code offset: 0x281 @@ -937,7 +937,7 @@ file_names[ 1]: ) ) ;; code offset: 0x293 - (br_if $label$8 + (br_if $block1 ;; code offset: 0x292 (i32.gt_u ;; code offset: 0x289 @@ -955,7 +955,7 @@ file_names[ 1]: ) ) ;; code offset: 0x295 - (loop $label$9 + (loop $label1 ;; code offset: 0x29e (i32.store ;; code offset: 0x297 @@ -1127,7 +1127,7 @@ file_names[ 1]: ) ) ;; code offset: 0x348 - (br_if $label$9 + (br_if $label1 ;; code offset: 0x347 (i32.le_u ;; code offset: 0x343 @@ -1147,7 +1147,7 @@ file_names[ 1]: ) ) ;; code offset: 0x351 - (br_if $label$2 + (br_if $block2 ;; code offset: 0x350 (i32.ge_u ;; code offset: 0x34c @@ -1157,7 +1157,7 @@ file_names[ 1]: ) ) ;; code offset: 0x353 - (loop $label$10 + (loop $label2 ;; code offset: 0x35c (i32.store ;; code offset: 0x355 @@ -1179,7 +1179,7 @@ file_names[ 1]: ) ) ;; code offset: 0x370 - (br_if $label$10 + (br_if $label2 ;; code offset: 0x36f (i32.lt_u ;; code offset: 0x36b @@ -1198,7 +1198,7 @@ file_names[ 1]: ) ) ;; code offset: 0x373 - (br $label$2) + (br $block2) ) ) ;; code offset: 0x37b @@ -1217,7 +1217,7 @@ file_names[ 1]: (local.get $0) ) ;; code offset: 0x381 - (br $label$2) + (br $block2) ) ) ;; code offset: 0x38e @@ -1244,7 +1244,7 @@ file_names[ 1]: (local.get $0) ) ;; code offset: 0x394 - (br $label$2) + (br $block2) ) ) ;; code offset: 0x399 @@ -1253,7 +1253,7 @@ file_names[ 1]: (local.get $0) ) ;; code offset: 0x39b - (loop $label$13 + (loop $label3 ;; code offset: 0x3a4 (i32.store8 ;; code offset: 0x39d @@ -1305,7 +1305,7 @@ file_names[ 1]: ) ) ;; code offset: 0x3d6 - (br_if $label$13 + (br_if $label3 ;; code offset: 0x3d5 (i32.le_u ;; code offset: 0x3d1 @@ -1335,7 +1335,7 @@ file_names[ 1]: ) (then ;; code offset: 0x3e1 - (loop $label$15 + (loop $label4 ;; code offset: 0x3ea (i32.store8 ;; code offset: 0x3e3 @@ -1357,7 +1357,7 @@ file_names[ 1]: ) ) ;; code offset: 0x3fe - (br_if $label$15 + (br_if $label4 ;; code offset: 0x3fd (i32.ne ;; code offset: 0x3f9 @@ -1386,380 +1386,377 @@ file_names[ 1]: (local $5 i32) (local $6 i32) ;; code offset: 0x410 - (block $label$1 - ;; code offset: 0x43a + (block $block + ;; code offset: 0x41a (if - ;; code offset: 0x412 - (block $label$2 (result i32) - ;; code offset: 0x41c - (if - ;; code offset: 0x41b - (i32.eqz - ;; code offset: 0x419 - (local.tee $3 - ;; code offset: 0x416 - (i32.load offset=16 - ;; code offset: 0x414 - (local.get $2) - ) - ) + ;; code offset: 0x419 + (i32.eqz + ;; code offset: 0x417 + (local.tee $3 + ;; code offset: 0x414 + (i32.load offset=16 + ;; code offset: 0x412 + (local.get $2) + ) + ) + ) + (then + ;; code offset: 0x420 + (br_if $block + ;; code offset: 0x41e + (call $8 + ;; code offset: 0x41c + (local.get $2) ) - (then + ) + ;; code offset: 0x427 + (local.set $3 + ;; code offset: 0x424 + (i32.load offset=16 ;; code offset: 0x422 - (br_if $label$1 - ;; code offset: 0x420 - (call $8 - ;; code offset: 0x41e - (local.get $2) - ) - ) - ;; code offset: 0x429 - (local.set $3 - ;; code offset: 0x426 - (i32.load offset=16 - ;; code offset: 0x424 - (local.get $2) - ) - ) + (local.get $2) ) ) - ;; code offset: 0x438 - (i32.lt_u - ;; code offset: 0x435 - (i32.sub - ;; code offset: 0x42c - (local.get $3) - ;; code offset: 0x433 - (local.tee $5 - ;; code offset: 0x430 - (i32.load offset=20 - ;; code offset: 0x42e - (local.get $2) - ) + ) + ) + ;; code offset: 0x437 + (if + ;; code offset: 0x436 + (i32.lt_u + ;; code offset: 0x433 + (i32.sub + ;; code offset: 0x42a + (local.get $3) + ;; code offset: 0x431 + (local.tee $5 + ;; code offset: 0x42e + (i32.load offset=20 + ;; code offset: 0x42c + (local.get $2) ) ) - ;; code offset: 0x436 - (local.get $1) ) + ;; code offset: 0x434 + (local.get $1) ) (then - ;; code offset: 0x44a + ;; code offset: 0x447 (return - ;; code offset: 0x447 + ;; code offset: 0x444 (call_indirect (type $1) - ;; code offset: 0x43c + ;; code offset: 0x439 (local.get $2) - ;; code offset: 0x43e + ;; code offset: 0x43b (local.get $0) - ;; code offset: 0x440 + ;; code offset: 0x43d (local.get $1) - ;; code offset: 0x444 + ;; code offset: 0x441 (i32.load offset=36 - ;; code offset: 0x442 + ;; code offset: 0x43f (local.get $2) ) ) ) ) ) - ;; code offset: 0x44c - (block $label$5 - ;; code offset: 0x456 - (br_if $label$5 - ;; code offset: 0x455 + ;; code offset: 0x449 + (block $block1 + ;; code offset: 0x453 + (br_if $block1 + ;; code offset: 0x452 (i32.lt_s - ;; code offset: 0x450 + ;; code offset: 0x44d (i32.load8_s offset=75 - ;; code offset: 0x44e + ;; code offset: 0x44b (local.get $2) ) - ;; code offset: 0x453 + ;; code offset: 0x450 (i32.const 0) ) ) - ;; code offset: 0x45a + ;; code offset: 0x457 (local.set $4 - ;; code offset: 0x458 + ;; code offset: 0x455 (local.get $1) ) - ;; code offset: 0x45c - (loop $label$6 - ;; code offset: 0x463 - (br_if $label$5 - ;; code offset: 0x462 + ;; code offset: 0x459 + (loop $label + ;; code offset: 0x460 + (br_if $block1 + ;; code offset: 0x45f (i32.eqz - ;; code offset: 0x460 + ;; code offset: 0x45d (local.tee $3 - ;; code offset: 0x45e + ;; code offset: 0x45b (local.get $4) ) ) ) - ;; code offset: 0x475 - (br_if $label$6 - ;; code offset: 0x474 + ;; code offset: 0x472 + (br_if $label + ;; code offset: 0x471 (i32.ne - ;; code offset: 0x46f + ;; code offset: 0x46c (i32.load8_u - ;; code offset: 0x46e + ;; code offset: 0x46b (i32.add - ;; code offset: 0x465 + ;; code offset: 0x462 (local.get $0) - ;; code offset: 0x46c + ;; code offset: 0x469 (local.tee $4 - ;; code offset: 0x46b + ;; code offset: 0x468 (i32.add - ;; code offset: 0x467 + ;; code offset: 0x464 (local.get $3) - ;; code offset: 0x469 + ;; code offset: 0x466 (i32.const -1) ) ) ) ) - ;; code offset: 0x472 + ;; code offset: 0x46f (i32.const 10) ) ) ) - ;; code offset: 0x48b - (br_if $label$1 - ;; code offset: 0x48a + ;; code offset: 0x488 + (br_if $block + ;; code offset: 0x487 (i32.lt_u - ;; code offset: 0x486 + ;; code offset: 0x483 (local.tee $4 - ;; code offset: 0x483 + ;; code offset: 0x480 (call_indirect (type $1) - ;; code offset: 0x478 + ;; code offset: 0x475 (local.get $2) - ;; code offset: 0x47a + ;; code offset: 0x477 (local.get $0) - ;; code offset: 0x47c + ;; code offset: 0x479 (local.get $3) - ;; code offset: 0x480 + ;; code offset: 0x47d (i32.load offset=36 - ;; code offset: 0x47e + ;; code offset: 0x47b (local.get $2) ) ) ) - ;; code offset: 0x488 + ;; code offset: 0x485 (local.get $3) ) ) - ;; code offset: 0x492 + ;; code offset: 0x48f (local.set $0 - ;; code offset: 0x491 + ;; code offset: 0x48e (i32.add - ;; code offset: 0x48d + ;; code offset: 0x48a (local.get $0) - ;; code offset: 0x48f + ;; code offset: 0x48c (local.get $3) ) ) - ;; code offset: 0x499 + ;; code offset: 0x496 (local.set $1 - ;; code offset: 0x498 + ;; code offset: 0x495 (i32.sub - ;; code offset: 0x494 + ;; code offset: 0x491 (local.get $1) - ;; code offset: 0x496 + ;; code offset: 0x493 (local.get $3) ) ) - ;; code offset: 0x4a0 + ;; code offset: 0x49d (local.set $5 - ;; code offset: 0x49d + ;; code offset: 0x49a (i32.load offset=20 - ;; code offset: 0x49b + ;; code offset: 0x498 (local.get $2) ) ) - ;; code offset: 0x4a4 + ;; code offset: 0x4a1 (local.set $6 - ;; code offset: 0x4a2 + ;; code offset: 0x49f (local.get $3) ) ) - ;; code offset: 0x4af + ;; code offset: 0x4ac (drop - ;; code offset: 0x4ad + ;; code offset: 0x4aa (call $9 - ;; code offset: 0x4a7 + ;; code offset: 0x4a4 (local.get $5) - ;; code offset: 0x4a9 + ;; code offset: 0x4a6 (local.get $0) - ;; code offset: 0x4ab + ;; code offset: 0x4a8 (local.get $1) ) ) - ;; code offset: 0x4ba + ;; code offset: 0x4b7 (i32.store offset=20 - ;; code offset: 0x4b0 + ;; code offset: 0x4ad (local.get $2) - ;; code offset: 0x4b9 + ;; code offset: 0x4b6 (i32.add - ;; code offset: 0x4b4 + ;; code offset: 0x4b1 (i32.load offset=20 - ;; code offset: 0x4b2 + ;; code offset: 0x4af (local.get $2) ) - ;; code offset: 0x4b7 + ;; code offset: 0x4b4 (local.get $1) ) ) - ;; code offset: 0x4c2 + ;; code offset: 0x4bf (local.set $4 - ;; code offset: 0x4c1 + ;; code offset: 0x4be (i32.add - ;; code offset: 0x4bd + ;; code offset: 0x4ba (local.get $1) - ;; code offset: 0x4bf + ;; code offset: 0x4bc (local.get $6) ) ) ) - ;; code offset: 0x4c5 + ;; code offset: 0x4c2 (local.get $4) ) (func $11 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) - ;; code offset: 0x4d3 + ;; code offset: 0x4d0 (local.set $4 - ;; code offset: 0x4d2 + ;; code offset: 0x4cf (i32.mul - ;; code offset: 0x4ce + ;; code offset: 0x4cb (local.get $1) - ;; code offset: 0x4d0 + ;; code offset: 0x4cd (local.get $2) ) ) - ;; code offset: 0x4d5 - (block $label$1 - ;; code offset: 0x4df + ;; code offset: 0x4d2 + (block $block + ;; code offset: 0x4dc (if - ;; code offset: 0x4de + ;; code offset: 0x4db (i32.le_s - ;; code offset: 0x4d9 + ;; code offset: 0x4d6 (i32.load offset=76 - ;; code offset: 0x4d7 + ;; code offset: 0x4d4 (local.get $3) ) - ;; code offset: 0x4dc + ;; code offset: 0x4d9 (i32.const -1) ) (then - ;; code offset: 0x4e9 + ;; code offset: 0x4e6 (local.set $0 - ;; code offset: 0x4e7 + ;; code offset: 0x4e4 (call $10 - ;; code offset: 0x4e1 + ;; code offset: 0x4de (local.get $0) - ;; code offset: 0x4e3 + ;; code offset: 0x4e0 (local.get $4) - ;; code offset: 0x4e5 + ;; code offset: 0x4e2 (local.get $3) ) ) - ;; code offset: 0x4eb - (br $label$1) + ;; code offset: 0x4e8 + (br $block) ) ) - ;; code offset: 0x4f2 + ;; code offset: 0x4ef (local.set $5 - ;; code offset: 0x4f0 + ;; code offset: 0x4ed (call $15 - ;; code offset: 0x4ee + ;; code offset: 0x4eb (local.get $3) ) ) - ;; code offset: 0x4fc + ;; code offset: 0x4f9 (local.set $0 - ;; code offset: 0x4fa + ;; code offset: 0x4f7 (call $10 - ;; code offset: 0x4f4 + ;; code offset: 0x4f1 (local.get $0) - ;; code offset: 0x4f6 + ;; code offset: 0x4f3 (local.get $4) - ;; code offset: 0x4f8 + ;; code offset: 0x4f5 (local.get $3) ) ) - ;; code offset: 0x501 - (br_if $label$1 - ;; code offset: 0x500 + ;; code offset: 0x4fe + (br_if $block + ;; code offset: 0x4fd (i32.eqz - ;; code offset: 0x4fe + ;; code offset: 0x4fb (local.get $5) ) ) - ;; code offset: 0x505 + ;; code offset: 0x502 (call $16 - ;; code offset: 0x503 + ;; code offset: 0x500 (local.get $3) ) ) - ;; code offset: 0x50d + ;; code offset: 0x50a (if - ;; code offset: 0x50c + ;; code offset: 0x509 (i32.eq - ;; code offset: 0x508 + ;; code offset: 0x505 (local.get $0) - ;; code offset: 0x50a + ;; code offset: 0x507 (local.get $4) ) (then - ;; code offset: 0x516 + ;; code offset: 0x513 (return - ;; code offset: 0x515 + ;; code offset: 0x512 (select - ;; code offset: 0x50f + ;; code offset: 0x50c (local.get $2) - ;; code offset: 0x511 + ;; code offset: 0x50e (i32.const 0) - ;; code offset: 0x513 + ;; code offset: 0x510 (local.get $1) ) ) ) ) - ;; code offset: 0x51c + ;; code offset: 0x519 (i32.div_u - ;; code offset: 0x518 + ;; code offset: 0x515 (local.get $0) - ;; code offset: 0x51a + ;; code offset: 0x517 (local.get $1) ) ) (func $12 (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - ;; code offset: 0x537 + ;; code offset: 0x534 (select - ;; code offset: 0x522 + ;; code offset: 0x51f (i32.const -1) - ;; code offset: 0x524 + ;; code offset: 0x521 (i32.const 0) - ;; code offset: 0x536 + ;; code offset: 0x533 (i32.ne - ;; code offset: 0x532 + ;; code offset: 0x52f (call $11 - ;; code offset: 0x526 + ;; code offset: 0x523 (local.get $0) - ;; code offset: 0x528 + ;; code offset: 0x525 (i32.const 1) - ;; code offset: 0x52e + ;; code offset: 0x52b (local.tee $2 - ;; code offset: 0x52c + ;; code offset: 0x529 (call $17 - ;; code offset: 0x52a + ;; code offset: 0x527 (local.get $0) ) ) - ;; code offset: 0x530 + ;; code offset: 0x52d (local.get $1) ) - ;; code offset: 0x534 + ;; code offset: 0x531 (local.get $2) ) ) @@ -1768,624 +1765,624 @@ file_names[ 1]: (local $2 i32) (local $3 i32) (local $4 i32) - ;; code offset: 0x549 + ;; code offset: 0x546 (global.set $global$0 - ;; code offset: 0x547 + ;; code offset: 0x544 (local.tee $3 - ;; code offset: 0x546 + ;; code offset: 0x543 (i32.sub - ;; code offset: 0x542 + ;; code offset: 0x53f (global.get $global$0) - ;; code offset: 0x544 + ;; code offset: 0x541 (i32.const 16) ) ) ) - ;; code offset: 0x54f + ;; code offset: 0x54c (i32.store8 offset=15 - ;; code offset: 0x54b + ;; code offset: 0x548 (local.get $3) - ;; code offset: 0x54d + ;; code offset: 0x54a (local.get $1) ) - ;; code offset: 0x552 - (block $label$1 - ;; code offset: 0x55c + ;; code offset: 0x54f + (block $block + ;; code offset: 0x559 (if - ;; code offset: 0x55b + ;; code offset: 0x558 (i32.eqz - ;; code offset: 0x559 + ;; code offset: 0x556 (local.tee $2 - ;; code offset: 0x556 + ;; code offset: 0x553 (i32.load offset=16 - ;; code offset: 0x554 + ;; code offset: 0x551 (local.get $0) ) ) ) (then - ;; code offset: 0x560 + ;; code offset: 0x55d (local.set $2 - ;; code offset: 0x55e + ;; code offset: 0x55b (i32.const -1) ) - ;; code offset: 0x566 - (br_if $label$1 - ;; code offset: 0x564 + ;; code offset: 0x563 + (br_if $block + ;; code offset: 0x561 (call $8 - ;; code offset: 0x562 + ;; code offset: 0x55f (local.get $0) ) ) - ;; code offset: 0x56d + ;; code offset: 0x56a (local.set $2 - ;; code offset: 0x56a + ;; code offset: 0x567 (i32.load offset=16 - ;; code offset: 0x568 + ;; code offset: 0x565 (local.get $0) ) ) ) ) - ;; code offset: 0x570 - (block $label$3 - ;; code offset: 0x57c - (br_if $label$3 - ;; code offset: 0x57b + ;; code offset: 0x56d + (block $block1 + ;; code offset: 0x579 + (br_if $block1 + ;; code offset: 0x578 (i32.ge_u - ;; code offset: 0x577 + ;; code offset: 0x574 (local.tee $4 - ;; code offset: 0x574 + ;; code offset: 0x571 (i32.load offset=20 - ;; code offset: 0x572 + ;; code offset: 0x56f (local.get $0) ) ) - ;; code offset: 0x579 + ;; code offset: 0x576 (local.get $2) ) ) - ;; code offset: 0x58c - (br_if $label$3 - ;; code offset: 0x58b + ;; code offset: 0x589 + (br_if $block1 + ;; code offset: 0x588 (i32.eq - ;; code offset: 0x584 + ;; code offset: 0x581 (local.tee $2 - ;; code offset: 0x583 + ;; code offset: 0x580 (i32.and - ;; code offset: 0x57e + ;; code offset: 0x57b (local.get $1) - ;; code offset: 0x580 + ;; code offset: 0x57d (i32.const 255) ) ) - ;; code offset: 0x588 + ;; code offset: 0x585 (i32.load8_s offset=75 - ;; code offset: 0x586 + ;; code offset: 0x583 (local.get $0) ) ) ) - ;; code offset: 0x595 + ;; code offset: 0x592 (i32.store offset=20 - ;; code offset: 0x58e + ;; code offset: 0x58b (local.get $0) - ;; code offset: 0x594 + ;; code offset: 0x591 (i32.add - ;; code offset: 0x590 + ;; code offset: 0x58d (local.get $4) - ;; code offset: 0x592 + ;; code offset: 0x58f (i32.const 1) ) ) - ;; code offset: 0x59c + ;; code offset: 0x599 (i32.store8 - ;; code offset: 0x598 + ;; code offset: 0x595 (local.get $4) - ;; code offset: 0x59a + ;; code offset: 0x597 (local.get $1) ) - ;; code offset: 0x59f - (br $label$1) + ;; code offset: 0x59c + (br $block) ) - ;; code offset: 0x5a4 + ;; code offset: 0x5a1 (local.set $2 - ;; code offset: 0x5a2 + ;; code offset: 0x59f (i32.const -1) ) - ;; code offset: 0x5ba - (br_if $label$1 - ;; code offset: 0x5b9 + ;; code offset: 0x5b7 + (br_if $block + ;; code offset: 0x5b6 (i32.ne - ;; code offset: 0x5b4 + ;; code offset: 0x5b1 (call_indirect (type $1) - ;; code offset: 0x5a6 + ;; code offset: 0x5a3 (local.get $0) - ;; code offset: 0x5ac + ;; code offset: 0x5a9 (i32.add - ;; code offset: 0x5a8 + ;; code offset: 0x5a5 (local.get $3) - ;; code offset: 0x5aa + ;; code offset: 0x5a7 (i32.const 15) ) - ;; code offset: 0x5ad + ;; code offset: 0x5aa (i32.const 1) - ;; code offset: 0x5b1 + ;; code offset: 0x5ae (i32.load offset=36 - ;; code offset: 0x5af + ;; code offset: 0x5ac (local.get $0) ) ) - ;; code offset: 0x5b7 + ;; code offset: 0x5b4 (i32.const 1) ) ) - ;; code offset: 0x5c1 + ;; code offset: 0x5be (local.set $2 - ;; code offset: 0x5be + ;; code offset: 0x5bb (i32.load8_u offset=15 - ;; code offset: 0x5bc + ;; code offset: 0x5b9 (local.get $3) ) ) ) - ;; code offset: 0x5c9 + ;; code offset: 0x5c6 (global.set $global$0 - ;; code offset: 0x5c8 + ;; code offset: 0x5c5 (i32.add - ;; code offset: 0x5c4 + ;; code offset: 0x5c1 (local.get $3) - ;; code offset: 0x5c6 + ;; code offset: 0x5c3 (i32.const 16) ) ) - ;; code offset: 0x5cb + ;; code offset: 0x5c8 (local.get $2) ) (func $14 (param $0 i32) (result i32) (local $1 i32) (local $2 i32) - ;; code offset: 0x5e2 + ;; code offset: 0x5df (if - ;; code offset: 0x5e1 + ;; code offset: 0x5de (i32.ge_s - ;; code offset: 0x5dc + ;; code offset: 0x5d9 (i32.load offset=76 - ;; code offset: 0x5da + ;; code offset: 0x5d7 (local.tee $1 - ;; code offset: 0x5d7 + ;; code offset: 0x5d4 (i32.load - ;; code offset: 0x5d4 + ;; code offset: 0x5d1 (i32.const 1040) ) ) ) - ;; code offset: 0x5df + ;; code offset: 0x5dc (i32.const 0) ) (then - ;; code offset: 0x5e8 + ;; code offset: 0x5e5 (local.set $2 - ;; code offset: 0x5e6 + ;; code offset: 0x5e3 (call $15 - ;; code offset: 0x5e4 + ;; code offset: 0x5e1 (local.get $1) ) ) ) ) - ;; code offset: 0x636 + ;; code offset: 0x633 (local.set $0 - ;; code offset: 0x5eb - (block $label$2 (result i32) - ;; code offset: 0x5fa + ;; code offset: 0x5e8 + (block $block (result i32) + ;; code offset: 0x5f7 (drop - ;; code offset: 0x5f8 - (br_if $label$2 - ;; code offset: 0x5ed + ;; code offset: 0x5f5 + (br_if $block + ;; code offset: 0x5ea (i32.const -1) - ;; code offset: 0x5f7 + ;; code offset: 0x5f4 (i32.lt_s - ;; code offset: 0x5f3 + ;; code offset: 0x5f0 (call $12 - ;; code offset: 0x5ef + ;; code offset: 0x5ec (local.get $0) - ;; code offset: 0x5f1 + ;; code offset: 0x5ee (local.get $1) ) - ;; code offset: 0x5f5 + ;; code offset: 0x5f2 (i32.const 0) ) ) ) - ;; code offset: 0x5fb - (block $label$3 - ;; code offset: 0x605 - (br_if $label$3 - ;; code offset: 0x604 + ;; code offset: 0x5f8 + (block $block1 + ;; code offset: 0x602 + (br_if $block1 + ;; code offset: 0x601 (i32.eq - ;; code offset: 0x5ff + ;; code offset: 0x5fc (i32.load8_u offset=75 - ;; code offset: 0x5fd + ;; code offset: 0x5fa (local.get $1) ) - ;; code offset: 0x602 + ;; code offset: 0x5ff (i32.const 10) ) ) - ;; code offset: 0x614 - (br_if $label$3 - ;; code offset: 0x613 + ;; code offset: 0x611 + (br_if $block1 + ;; code offset: 0x610 (i32.ge_u - ;; code offset: 0x60c + ;; code offset: 0x609 (local.tee $0 - ;; code offset: 0x609 + ;; code offset: 0x606 (i32.load offset=20 - ;; code offset: 0x607 + ;; code offset: 0x604 (local.get $1) ) ) - ;; code offset: 0x610 + ;; code offset: 0x60d (i32.load offset=16 - ;; code offset: 0x60e + ;; code offset: 0x60b (local.get $1) ) ) ) - ;; code offset: 0x61d + ;; code offset: 0x61a (i32.store offset=20 - ;; code offset: 0x616 + ;; code offset: 0x613 (local.get $1) - ;; code offset: 0x61c + ;; code offset: 0x619 (i32.add - ;; code offset: 0x618 + ;; code offset: 0x615 (local.get $0) - ;; code offset: 0x61a + ;; code offset: 0x617 (i32.const 1) ) ) - ;; code offset: 0x624 + ;; code offset: 0x621 (i32.store8 - ;; code offset: 0x620 + ;; code offset: 0x61d (local.get $0) - ;; code offset: 0x622 + ;; code offset: 0x61f (i32.const 10) ) - ;; code offset: 0x629 - (br $label$2 - ;; code offset: 0x627 + ;; code offset: 0x626 + (br $block + ;; code offset: 0x624 (i32.const 0) ) ) - ;; code offset: 0x634 + ;; code offset: 0x631 (i32.shr_s - ;; code offset: 0x630 + ;; code offset: 0x62d (call $13 - ;; code offset: 0x62c + ;; code offset: 0x629 (local.get $1) - ;; code offset: 0x62e + ;; code offset: 0x62b (i32.const 10) ) - ;; code offset: 0x632 + ;; code offset: 0x62f (i32.const 31) ) ) ) - ;; code offset: 0x63a + ;; code offset: 0x637 (if - ;; code offset: 0x638 + ;; code offset: 0x635 (local.get $2) (then - ;; code offset: 0x63e + ;; code offset: 0x63b (call $16 - ;; code offset: 0x63c + ;; code offset: 0x639 (local.get $1) ) ) ) - ;; code offset: 0x641 + ;; code offset: 0x63e (local.get $0) ) (func $15 (param $0 i32) (result i32) - ;; code offset: 0x646 + ;; code offset: 0x643 (i32.const 1) ) (func $16 (param $0 i32) - ;; code offset: 0x64b + ;; code offset: 0x648 (nop) ) (func $17 (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) - ;; code offset: 0x658 + ;; code offset: 0x655 (local.set $1 - ;; code offset: 0x656 + ;; code offset: 0x653 (local.get $0) ) - ;; code offset: 0x65a - (block $label$1 - ;; code offset: 0x65c - (block $label$2 - ;; code offset: 0x664 - (br_if $label$2 - ;; code offset: 0x663 + ;; code offset: 0x657 + (block $block1 + ;; code offset: 0x659 + (block $block + ;; code offset: 0x661 + (br_if $block + ;; code offset: 0x660 (i32.eqz - ;; code offset: 0x662 + ;; code offset: 0x65f (i32.and - ;; code offset: 0x65e + ;; code offset: 0x65b (local.get $0) - ;; code offset: 0x660 + ;; code offset: 0x65d (i32.const 3) ) ) ) - ;; code offset: 0x66c + ;; code offset: 0x669 (if - ;; code offset: 0x66b + ;; code offset: 0x668 (i32.eqz - ;; code offset: 0x668 + ;; code offset: 0x665 (i32.load8_u - ;; code offset: 0x666 + ;; code offset: 0x663 (local.get $0) ) ) (then - ;; code offset: 0x670 + ;; code offset: 0x66d (return - ;; code offset: 0x66e + ;; code offset: 0x66b (i32.const 0) ) ) ) - ;; code offset: 0x672 - (loop $label$4 - ;; code offset: 0x67f - (br_if $label$2 - ;; code offset: 0x67e + ;; code offset: 0x66f + (loop $label + ;; code offset: 0x67c + (br_if $block + ;; code offset: 0x67b (i32.eqz - ;; code offset: 0x67d + ;; code offset: 0x67a (i32.and - ;; code offset: 0x679 + ;; code offset: 0x676 (local.tee $1 - ;; code offset: 0x678 + ;; code offset: 0x675 (i32.add - ;; code offset: 0x674 + ;; code offset: 0x671 (local.get $1) - ;; code offset: 0x676 + ;; code offset: 0x673 (i32.const 1) ) ) - ;; code offset: 0x67b + ;; code offset: 0x678 (i32.const 3) ) ) ) - ;; code offset: 0x686 - (br_if $label$4 - ;; code offset: 0x683 + ;; code offset: 0x683 + (br_if $label + ;; code offset: 0x680 (i32.load8_u - ;; code offset: 0x681 + ;; code offset: 0x67e (local.get $1) ) ) ) - ;; code offset: 0x689 - (br $label$1) + ;; code offset: 0x686 + (br $block1) ) - ;; code offset: 0x68c - (loop $label$5 - ;; code offset: 0x695 + ;; code offset: 0x689 + (loop $label1 + ;; code offset: 0x692 (local.set $1 - ;; code offset: 0x694 + ;; code offset: 0x691 (i32.add - ;; code offset: 0x690 + ;; code offset: 0x68d (local.tee $2 - ;; code offset: 0x68e + ;; code offset: 0x68b (local.get $1) ) - ;; code offset: 0x692 + ;; code offset: 0x68f (i32.const 4) ) ) - ;; code offset: 0x6b2 - (br_if $label$5 - ;; code offset: 0x6b1 + ;; code offset: 0x6af + (br_if $label1 + ;; code offset: 0x6ae (i32.eqz - ;; code offset: 0x6b0 + ;; code offset: 0x6ad (i32.and - ;; code offset: 0x6a9 + ;; code offset: 0x6a6 (i32.and - ;; code offset: 0x6a0 + ;; code offset: 0x69d (i32.xor - ;; code offset: 0x69c + ;; code offset: 0x699 (local.tee $3 - ;; code offset: 0x699 + ;; code offset: 0x696 (i32.load - ;; code offset: 0x697 + ;; code offset: 0x694 (local.get $2) ) ) - ;; code offset: 0x69e + ;; code offset: 0x69b (i32.const -1) ) - ;; code offset: 0x6a8 + ;; code offset: 0x6a5 (i32.add - ;; code offset: 0x6a1 + ;; code offset: 0x69e (local.get $3) - ;; code offset: 0x6a3 + ;; code offset: 0x6a0 (i32.const -16843009) ) ) - ;; code offset: 0x6aa + ;; code offset: 0x6a7 (i32.const -2139062144) ) ) ) ) - ;; code offset: 0x6bc + ;; code offset: 0x6b9 (if - ;; code offset: 0x6bb + ;; code offset: 0x6b8 (i32.eqz - ;; code offset: 0x6ba + ;; code offset: 0x6b7 (i32.and - ;; code offset: 0x6b5 + ;; code offset: 0x6b2 (local.get $3) - ;; code offset: 0x6b7 + ;; code offset: 0x6b4 (i32.const 255) ) ) (then - ;; code offset: 0x6c3 + ;; code offset: 0x6c0 (return - ;; code offset: 0x6c2 + ;; code offset: 0x6bf (i32.sub - ;; code offset: 0x6be + ;; code offset: 0x6bb (local.get $2) - ;; code offset: 0x6c0 + ;; code offset: 0x6bd (local.get $0) ) ) ) ) - ;; code offset: 0x6c5 - (loop $label$7 - ;; code offset: 0x6cc + ;; code offset: 0x6c2 + (loop $label2 + ;; code offset: 0x6c9 (local.set $3 - ;; code offset: 0x6c9 + ;; code offset: 0x6c6 (i32.load8_u offset=1 - ;; code offset: 0x6c7 + ;; code offset: 0x6c4 (local.get $2) ) ) - ;; code offset: 0x6d5 + ;; code offset: 0x6d2 (local.set $2 - ;; code offset: 0x6d3 + ;; code offset: 0x6d0 (local.tee $1 - ;; code offset: 0x6d2 + ;; code offset: 0x6cf (i32.add - ;; code offset: 0x6ce + ;; code offset: 0x6cb (local.get $2) - ;; code offset: 0x6d0 + ;; code offset: 0x6cd (i32.const 1) ) ) ) - ;; code offset: 0x6d9 - (br_if $label$7 - ;; code offset: 0x6d7 + ;; code offset: 0x6d6 + (br_if $label2 + ;; code offset: 0x6d4 (local.get $3) ) ) ) - ;; code offset: 0x6e1 + ;; code offset: 0x6de (i32.sub - ;; code offset: 0x6dd + ;; code offset: 0x6da (local.get $1) - ;; code offset: 0x6df + ;; code offset: 0x6dc (local.get $0) ) ) (func $18 (result i32) - ;; code offset: 0x6e5 + ;; code offset: 0x6e2 (global.get $global$0) ) (func $19 (param $0 i32) - ;; code offset: 0x6ec + ;; code offset: 0x6e9 (global.set $global$0 - ;; code offset: 0x6ea + ;; code offset: 0x6e7 (local.get $0) ) ) (func $20 (param $0 i32) (result i32) (local $1 i32) - ;; code offset: 0x6fd + ;; code offset: 0x6fa (global.set $global$0 - ;; code offset: 0x6fb + ;; code offset: 0x6f8 (local.tee $1 - ;; code offset: 0x6fa + ;; code offset: 0x6f7 (i32.and - ;; code offset: 0x6f7 + ;; code offset: 0x6f4 (i32.sub - ;; code offset: 0x6f3 + ;; code offset: 0x6f0 (global.get $global$0) - ;; code offset: 0x6f5 + ;; code offset: 0x6f2 (local.get $0) ) - ;; code offset: 0x6f8 + ;; code offset: 0x6f5 (i32.const -16) ) ) ) - ;; code offset: 0x6ff + ;; code offset: 0x6fc (local.get $1) ) (func $21 (param $0 i32) (param $1 i32) (param $2 i64) (param $3 i32) (result i64) - ;; code offset: 0x70c + ;; code offset: 0x709 (call_indirect (type $6) - ;; code offset: 0x704 + ;; code offset: 0x701 (local.get $1) - ;; code offset: 0x706 + ;; code offset: 0x703 (local.get $2) - ;; code offset: 0x708 + ;; code offset: 0x705 (local.get $3) - ;; code offset: 0x70a + ;; code offset: 0x707 (local.get $0) ) ) (func $22 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) (local $5 i64) - ;; code offset: 0x72c + ;; code offset: 0x729 (call $fimport$2 - ;; code offset: 0x72b + ;; code offset: 0x728 (i32.wrap_i64 - ;; code offset: 0x72a + ;; code offset: 0x727 (i64.shr_u - ;; code offset: 0x726 + ;; code offset: 0x723 (local.tee $5 - ;; code offset: 0x724 + ;; code offset: 0x721 (call $21 - ;; code offset: 0x714 + ;; code offset: 0x711 (local.get $0) - ;; code offset: 0x716 + ;; code offset: 0x713 (local.get $1) - ;; code offset: 0x721 + ;; code offset: 0x71e (i64.or - ;; code offset: 0x71a + ;; code offset: 0x717 (i64.extend_i32_u - ;; code offset: 0x718 + ;; code offset: 0x715 (local.get $2) ) - ;; code offset: 0x720 + ;; code offset: 0x71d (i64.shl - ;; code offset: 0x71d + ;; code offset: 0x71a (i64.extend_i32_u - ;; code offset: 0x71b + ;; code offset: 0x718 (local.get $3) ) - ;; code offset: 0x71e + ;; code offset: 0x71b (i64.const 32) ) ) - ;; code offset: 0x722 + ;; code offset: 0x71f (local.get $4) ) ) - ;; code offset: 0x728 + ;; code offset: 0x725 (i64.const 32) ) ) ) - ;; code offset: 0x730 + ;; code offset: 0x72d (i32.wrap_i64 - ;; code offset: 0x72e + ;; code offset: 0x72b (local.get $5) ) ) (func $23 (param $0 i32) (result i32) - ;; code offset: 0x736 + ;; code offset: 0x733 (memory.grow - ;; code offset: 0x734 + ;; code offset: 0x731 (local.get $0) ) ) diff --git a/test/stacky.wasm.fromBinary b/test/stacky.wasm.fromBinary index 9891e1071..d7c85091e 100644 --- a/test/stacky.wasm.fromBinary +++ b/test/stacky.wasm.fromBinary @@ -3,16 +3,16 @@ (memory $0 256 256) (export "add" (func $0)) (func $0 (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (local $scratch i32) (i32.add (block (result i32) - (local.set $2 + (local.set $scratch (local.get $0) ) (local.set $0 (i32.const 100) ) - (local.get $2) + (local.get $scratch) ) (local.get $1) ) diff --git a/test/try-delegate.wasm.fromBinary b/test/try-delegate.wasm.fromBinary index 07aee5611..a3e799627 100644 --- a/test/try-delegate.wasm.fromBinary +++ b/test/try-delegate.wasm.fromBinary @@ -2,14 +2,12 @@ (type $0 (func)) (tag $tag$0) (func $0 - (try $label$6 + (try $label (do - (block $label$1 - (try $label$4 - (do - ) - (delegate $label$6) + (try + (do ) + (delegate $label) ) ) (catch $tag$0 @@ -17,21 +15,19 @@ ) ) (func $1 - (try $label$9 + (try $label (do - (block $label$1 - (try $label$7 - (do + (try + (do + ) + (catch $tag$0 + (drop + (i32.const 0) ) - (catch $tag$0 - (drop - (i32.const 0) - ) - (try $label$6 - (do - ) - (delegate $label$9) + (try + (do ) + (delegate $label) ) ) ) diff --git a/test/unreachable-pops.wasm.fromBinary b/test/unreachable-pops.wasm.fromBinary index 08af405f2..d4ed2ae70 100644 --- a/test/unreachable-pops.wasm.fromBinary +++ b/test/unreachable-pops.wasm.fromBinary @@ -1,7 +1,8 @@ (module (type $0 (func (result i32))) (func $0 (result i32) - (block $label$1 (result i32) + (i32.add + (unreachable) (unreachable) ) ) |