summaryrefslogtreecommitdiff
path: root/test/lit/basic
diff options
context:
space:
mode:
authorThomas Lively <tlively@google.com>2024-09-04 17:16:09 -0700
committerGitHub <noreply@github.com>2024-09-04 17:16:09 -0700
commit9c64fcdf873faec6b6814436bce2db35484888d7 (patch)
treee42c0bf5d8189107b043a2a261ca159b63dc7bc2 /test/lit/basic
parentc64fef79147575b016ccf582c9a9bc6327f803ea (diff)
downloadbinaryen-9c64fcdf873faec6b6814436bce2db35484888d7.tar.gz
binaryen-9c64fcdf873faec6b6814436bce2db35484888d7.tar.bz2
binaryen-9c64fcdf873faec6b6814436bce2db35484888d7.zip
Use TopologicalSort::minSort to order rec groups (#6892)
Rec groups need to be topologically sorted for the output module to be valid, but the specific order of rec groups also affects the module size because types at lower indices requires fewer bytes to reference. We previously optimized for code size when gathering types by sorting the list of groups before doing the topological sort. This was brittle, though, and depended on implementation details of the topological sort to be correct. Replace the old topological sort with use of the new `TopologicalSort::minSort` utility, which is a more principled method of achieving a minimal topological sort with respect to some comparator. Also draw inspiration from ReorderGlobals and apply an exponential factor to take the users of a rec group into account when determining its weight.
Diffstat (limited to 'test/lit/basic')
-rw-r--r--test/lit/basic/subtypes.wast58
-rw-r--r--test/lit/basic/types-function-references.wast96
2 files changed, 77 insertions, 77 deletions
diff --git a/test/lit/basic/subtypes.wast b/test/lit/basic/subtypes.wast
index d283ebefa..24ab1b193 100644
--- a/test/lit/basic/subtypes.wast
+++ b/test/lit/basic/subtypes.wast
@@ -28,15 +28,11 @@
;; CHECK-TEXT: (type $struct-i31 (sub $struct-any (struct (field (ref i31)))))
- ;; CHECK-TEXT: (type $5 (func (param (ref $vector-i32) (ref null $vector-i32))))
-
;; CHECK-TEXT: (type $vector-any (sub (array (ref any))))
;; CHECK-BIN: (type $struct-any (sub (struct (field (ref any)))))
;; CHECK-BIN: (type $struct-i31 (sub $struct-any (struct (field (ref i31)))))
- ;; CHECK-BIN: (type $5 (func (param (ref $vector-i32) (ref null $vector-i32))))
-
;; CHECK-BIN: (type $vector-any (sub (array (ref any))))
(type $vector-any (sub (array (ref any))))
;; CHECK-TEXT: (type $vector-i31 (sub $vector-any (array (ref i31))))
@@ -50,15 +46,7 @@
(type $struct-i31 (sub $struct-any (struct
(field (ref i31))
)))
- ;; CHECK-TEXT: (type $8 (func (param (ref $vector-i31) (ref $vector-any))))
-
- ;; CHECK-TEXT: (type $9 (func (param (ref $struct-i31) (ref $struct-any))))
-
;; CHECK-TEXT: (type $struct-i31_any (sub $struct-i31 (struct (field (ref i31)) (field (ref any)))))
- ;; CHECK-BIN: (type $8 (func (param (ref $vector-i31) (ref $vector-any))))
-
- ;; CHECK-BIN: (type $9 (func (param (ref $struct-i31) (ref $struct-any))))
-
;; CHECK-BIN: (type $struct-i31_any (sub $struct-i31 (struct (field (ref i31)) (field (ref any)))))
(type $struct-i31_any (sub $struct-i31(struct
(field (ref i31))
@@ -74,20 +62,32 @@
(field (ref $struct-rec-two))
)))
+ ;; CHECK-TEXT: (type $8 (func (param (ref $vector-i32) (ref null $vector-i32))))
+
+ ;; CHECK-TEXT: (type $9 (func (param (ref $vector-i31) (ref $vector-any))))
+
+ ;; CHECK-TEXT: (type $10 (func (param (ref $struct-i31) (ref $struct-any))))
+
;; CHECK-TEXT: (type $11 (func (param (ref $struct-i31) (ref $struct-i31_any))))
;; CHECK-TEXT: (type $12 (func (param (ref $struct-rec-one) (ref $struct-rec-two))))
- ;; CHECK-TEXT: (func $foo (type $5) (param $no-null (ref $vector-i32)) (param $yes-null (ref null $vector-i32))
+ ;; CHECK-TEXT: (func $foo (type $8) (param $no-null (ref $vector-i32)) (param $yes-null (ref null $vector-i32))
;; CHECK-TEXT-NEXT: (local.set $yes-null
;; CHECK-TEXT-NEXT: (local.get $no-null)
;; CHECK-TEXT-NEXT: )
;; CHECK-TEXT-NEXT: )
+ ;; CHECK-BIN: (type $8 (func (param (ref $vector-i32) (ref null $vector-i32))))
+
+ ;; CHECK-BIN: (type $9 (func (param (ref $vector-i31) (ref $vector-any))))
+
+ ;; CHECK-BIN: (type $10 (func (param (ref $struct-i31) (ref $struct-any))))
+
;; CHECK-BIN: (type $11 (func (param (ref $struct-i31) (ref $struct-i31_any))))
;; CHECK-BIN: (type $12 (func (param (ref $struct-rec-one) (ref $struct-rec-two))))
- ;; CHECK-BIN: (func $foo (type $5) (param $no-null (ref $vector-i32)) (param $yes-null (ref null $vector-i32))
+ ;; CHECK-BIN: (func $foo (type $8) (param $no-null (ref $vector-i32)) (param $yes-null (ref null $vector-i32))
;; CHECK-BIN-NEXT: (local.set $yes-null
;; CHECK-BIN-NEXT: (local.get $no-null)
;; CHECK-BIN-NEXT: )
@@ -98,12 +98,12 @@
(local.set $yes-null (local.get $no-null))
)
- ;; CHECK-TEXT: (func $bar (type $8) (param $v-i31 (ref $vector-i31)) (param $v-any (ref $vector-any))
+ ;; CHECK-TEXT: (func $bar (type $9) (param $v-i31 (ref $vector-i31)) (param $v-any (ref $vector-any))
;; CHECK-TEXT-NEXT: (local.set $v-any
;; CHECK-TEXT-NEXT: (local.get $v-i31)
;; CHECK-TEXT-NEXT: )
;; CHECK-TEXT-NEXT: )
- ;; CHECK-BIN: (func $bar (type $8) (param $v-i31 (ref $vector-i31)) (param $v-any (ref $vector-any))
+ ;; CHECK-BIN: (func $bar (type $9) (param $v-i31 (ref $vector-i31)) (param $v-any (ref $vector-any))
;; CHECK-BIN-NEXT: (local.set $v-any
;; CHECK-BIN-NEXT: (local.get $v-i31)
;; CHECK-BIN-NEXT: )
@@ -114,12 +114,12 @@
(local.set $v-any (local.get $v-i31))
)
- ;; CHECK-TEXT: (func $baz (type $9) (param $s-i31 (ref $struct-i31)) (param $s-any (ref $struct-any))
+ ;; CHECK-TEXT: (func $baz (type $10) (param $s-i31 (ref $struct-i31)) (param $s-any (ref $struct-any))
;; CHECK-TEXT-NEXT: (local.set $s-any
;; CHECK-TEXT-NEXT: (local.get $s-i31)
;; CHECK-TEXT-NEXT: )
;; CHECK-TEXT-NEXT: )
- ;; CHECK-BIN: (func $baz (type $9) (param $s-i31 (ref $struct-i31)) (param $s-any (ref $struct-any))
+ ;; CHECK-BIN: (func $baz (type $10) (param $s-i31 (ref $struct-i31)) (param $s-any (ref $struct-any))
;; CHECK-BIN-NEXT: (local.set $s-any
;; CHECK-BIN-NEXT: (local.get $s-i31)
;; CHECK-BIN-NEXT: )
@@ -172,41 +172,41 @@
;; CHECK-BIN-NODEBUG: (type $4 (sub $3 (struct (field (ref i31)))))
-;; CHECK-BIN-NODEBUG: (type $5 (func (param (ref $2) (ref null $2))))
+;; CHECK-BIN-NODEBUG: (type $5 (sub (array (ref any))))
-;; CHECK-BIN-NODEBUG: (type $6 (sub (array (ref any))))
+;; CHECK-BIN-NODEBUG: (type $6 (sub $5 (array (ref i31))))
-;; CHECK-BIN-NODEBUG: (type $7 (sub $6 (array (ref i31))))
+;; CHECK-BIN-NODEBUG: (type $7 (sub $4 (struct (field (ref i31)) (field (ref any)))))
-;; CHECK-BIN-NODEBUG: (type $8 (func (param (ref $7) (ref $6))))
+;; CHECK-BIN-NODEBUG: (type $8 (func (param (ref $2) (ref null $2))))
-;; CHECK-BIN-NODEBUG: (type $9 (func (param (ref $4) (ref $3))))
+;; CHECK-BIN-NODEBUG: (type $9 (func (param (ref $6) (ref $5))))
-;; CHECK-BIN-NODEBUG: (type $10 (sub $4 (struct (field (ref i31)) (field (ref any)))))
+;; CHECK-BIN-NODEBUG: (type $10 (func (param (ref $4) (ref $3))))
-;; CHECK-BIN-NODEBUG: (type $11 (func (param (ref $4) (ref $10))))
+;; CHECK-BIN-NODEBUG: (type $11 (func (param (ref $4) (ref $7))))
;; CHECK-BIN-NODEBUG: (type $12 (func (param (ref $0) (ref $1))))
-;; CHECK-BIN-NODEBUG: (func $0 (type $5) (param $0 (ref $2)) (param $1 (ref null $2))
+;; CHECK-BIN-NODEBUG: (func $0 (type $8) (param $0 (ref $2)) (param $1 (ref null $2))
;; CHECK-BIN-NODEBUG-NEXT: (local.set $1
;; CHECK-BIN-NODEBUG-NEXT: (local.get $0)
;; CHECK-BIN-NODEBUG-NEXT: )
;; CHECK-BIN-NODEBUG-NEXT: )
-;; CHECK-BIN-NODEBUG: (func $1 (type $8) (param $0 (ref $7)) (param $1 (ref $6))
+;; CHECK-BIN-NODEBUG: (func $1 (type $9) (param $0 (ref $6)) (param $1 (ref $5))
;; CHECK-BIN-NODEBUG-NEXT: (local.set $1
;; CHECK-BIN-NODEBUG-NEXT: (local.get $0)
;; CHECK-BIN-NODEBUG-NEXT: )
;; CHECK-BIN-NODEBUG-NEXT: )
-;; CHECK-BIN-NODEBUG: (func $2 (type $9) (param $0 (ref $4)) (param $1 (ref $3))
+;; CHECK-BIN-NODEBUG: (func $2 (type $10) (param $0 (ref $4)) (param $1 (ref $3))
;; CHECK-BIN-NODEBUG-NEXT: (local.set $1
;; CHECK-BIN-NODEBUG-NEXT: (local.get $0)
;; CHECK-BIN-NODEBUG-NEXT: )
;; CHECK-BIN-NODEBUG-NEXT: )
-;; CHECK-BIN-NODEBUG: (func $3 (type $11) (param $0 (ref $4)) (param $1 (ref $10))
+;; CHECK-BIN-NODEBUG: (func $3 (type $11) (param $0 (ref $4)) (param $1 (ref $7))
;; CHECK-BIN-NODEBUG-NEXT: (local.set $0
;; CHECK-BIN-NODEBUG-NEXT: (local.get $1)
;; CHECK-BIN-NODEBUG-NEXT: )
diff --git a/test/lit/basic/types-function-references.wast b/test/lit/basic/types-function-references.wast
index b85e1f422..792536cfe 100644
--- a/test/lit/basic/types-function-references.wast
+++ b/test/lit/basic/types-function-references.wast
@@ -10,39 +10,39 @@
;; RUN: cat %t.bin.nodebug.wast | filecheck %s --check-prefix=CHECK-BIN-NODEBUG
(module
+ ;; CHECK-TEXT: (type $mixed_results (func (result anyref f32 anyref f32)))
+
+ ;; CHECK-TEXT: (type $i32-i32 (func (param i32) (result i32)))
+
;; CHECK-TEXT: (type $void (func))
;; CHECK-BIN: (type $mixed_results (func (result anyref f32 anyref f32)))
+ ;; CHECK-BIN: (type $i32-i32 (func (param i32) (result i32)))
+
;; CHECK-BIN: (type $void (func))
(type $void (func))
;; inline ref type in result
- ;; CHECK-TEXT: (type $i32-i32 (func (param i32) (result i32)))
-
- ;; CHECK-TEXT: (type $mixed_results (func (result anyref f32 anyref f32)))
-
;; CHECK-TEXT: (type $3 (func (result i32 (ref null $mixed_results) f64)))
- ;; CHECK-TEXT: (type $4 (func (param (ref $i32-i32)) (result i32)))
-
- ;; CHECK-TEXT: (type $5 (func (param (ref null $i32-i32)) (result i32)))
-
- ;; CHECK-TEXT: (type $6 (func (result i32)))
-
;; CHECK-TEXT: (type $_=>_eqref (func (result eqref)))
- ;; CHECK-BIN: (type $i32-i32 (func (param i32) (result i32)))
-
;; CHECK-BIN: (type $3 (func (result i32 (ref null $mixed_results) f64)))
- ;; CHECK-BIN: (type $4 (func (param (ref $i32-i32)) (result i32)))
+ ;; CHECK-BIN: (type $_=>_eqref (func (result eqref)))
+ (type $_=>_eqref (func (result eqref)))
- ;; CHECK-BIN: (type $5 (func (param (ref null $i32-i32)) (result i32)))
+ ;; CHECK-TEXT: (type $5 (func (param (ref $i32-i32)) (result i32)))
- ;; CHECK-BIN: (type $6 (func (result i32)))
+ ;; CHECK-TEXT: (type $6 (func (param (ref null $i32-i32)) (result i32)))
- ;; CHECK-BIN: (type $_=>_eqref (func (result eqref)))
- (type $_=>_eqref (func (result eqref)))
+ ;; CHECK-TEXT: (type $7 (func (result i32)))
;; CHECK-TEXT: (type $f64_=>_ref_null<_->_eqref> (func (param f64) (result (ref null $_=>_eqref))))
+ ;; CHECK-BIN: (type $5 (func (param (ref $i32-i32)) (result i32)))
+
+ ;; CHECK-BIN: (type $6 (func (param (ref null $i32-i32)) (result i32)))
+
+ ;; CHECK-BIN: (type $7 (func (result i32)))
+
;; CHECK-BIN: (type $f64_=>_ref_null<_->_eqref> (func (param f64) (result (ref null $_=>_eqref))))
(type $f64_=>_ref_null<_->_eqref> (func (param f64) (result (ref null $_=>_eqref))))
(type $=>eqref (func (result eqref)))
@@ -104,13 +104,13 @@
(call_ref $i32-i32 (i32.const 42) (ref.func $call-ref-more))
)
- ;; CHECK-TEXT: (func $call_from-param (type $4) (param $f (ref $i32-i32)) (result i32)
+ ;; CHECK-TEXT: (func $call_from-param (type $5) (param $f (ref $i32-i32)) (result i32)
;; CHECK-TEXT-NEXT: (call_ref $i32-i32
;; CHECK-TEXT-NEXT: (i32.const 42)
;; CHECK-TEXT-NEXT: (local.get $f)
;; CHECK-TEXT-NEXT: )
;; CHECK-TEXT-NEXT: )
- ;; CHECK-BIN: (func $call_from-param (type $4) (param $f (ref $i32-i32)) (result i32)
+ ;; CHECK-BIN: (func $call_from-param (type $5) (param $f (ref $i32-i32)) (result i32)
;; CHECK-BIN-NEXT: (call_ref $i32-i32
;; CHECK-BIN-NEXT: (i32.const 42)
;; CHECK-BIN-NEXT: (local.get $f)
@@ -120,13 +120,13 @@
(call_ref $i32-i32 (i32.const 42) (local.get $f))
)
- ;; CHECK-TEXT: (func $call_from-param-null (type $5) (param $f (ref null $i32-i32)) (result i32)
+ ;; CHECK-TEXT: (func $call_from-param-null (type $6) (param $f (ref null $i32-i32)) (result i32)
;; CHECK-TEXT-NEXT: (call_ref $i32-i32
;; CHECK-TEXT-NEXT: (i32.const 42)
;; CHECK-TEXT-NEXT: (local.get $f)
;; CHECK-TEXT-NEXT: )
;; CHECK-TEXT-NEXT: )
- ;; CHECK-BIN: (func $call_from-param-null (type $5) (param $f (ref null $i32-i32)) (result i32)
+ ;; CHECK-BIN: (func $call_from-param-null (type $6) (param $f (ref null $i32-i32)) (result i32)
;; CHECK-BIN-NEXT: (call_ref $i32-i32
;; CHECK-BIN-NEXT: (i32.const 42)
;; CHECK-BIN-NEXT: (local.get $f)
@@ -136,7 +136,7 @@
(call_ref $i32-i32 (i32.const 42) (local.get $f))
)
- ;; CHECK-TEXT: (func $call_from-local-null (type $6) (result i32)
+ ;; CHECK-TEXT: (func $call_from-local-null (type $7) (result i32)
;; CHECK-TEXT-NEXT: (local $f (ref null $i32-i32))
;; CHECK-TEXT-NEXT: (local.set $f
;; CHECK-TEXT-NEXT: (ref.func $call-ref-more)
@@ -146,7 +146,7 @@
;; CHECK-TEXT-NEXT: (local.get $f)
;; CHECK-TEXT-NEXT: )
;; CHECK-TEXT-NEXT: )
- ;; CHECK-BIN: (func $call_from-local-null (type $6) (result i32)
+ ;; CHECK-BIN: (func $call_from-local-null (type $7) (result i32)
;; CHECK-BIN-NEXT: (local $f (ref null $i32-i32))
;; CHECK-BIN-NEXT: (local.set $f
;; CHECK-BIN-NEXT: (ref.func $call-ref-more)
@@ -354,21 +354,21 @@
)
;; CHECK-BIN-NODEBUG: (type $0 (func (result anyref f32 anyref f32)))
-;; CHECK-BIN-NODEBUG: (type $1 (func))
+;; CHECK-BIN-NODEBUG: (type $1 (func (param i32) (result i32)))
-;; CHECK-BIN-NODEBUG: (type $2 (func (param i32) (result i32)))
+;; CHECK-BIN-NODEBUG: (type $2 (func))
;; CHECK-BIN-NODEBUG: (type $3 (func (result i32 (ref null $0) f64)))
-;; CHECK-BIN-NODEBUG: (type $4 (func (param (ref $2)) (result i32)))
+;; CHECK-BIN-NODEBUG: (type $4 (func (result eqref)))
-;; CHECK-BIN-NODEBUG: (type $5 (func (param (ref null $2)) (result i32)))
+;; CHECK-BIN-NODEBUG: (type $5 (func (param (ref $1)) (result i32)))
-;; CHECK-BIN-NODEBUG: (type $6 (func (result i32)))
+;; CHECK-BIN-NODEBUG: (type $6 (func (param (ref null $1)) (result i32)))
-;; CHECK-BIN-NODEBUG: (type $7 (func (result eqref)))
+;; CHECK-BIN-NODEBUG: (type $7 (func (result i32)))
-;; CHECK-BIN-NODEBUG: (type $8 (func (param f64) (result (ref null $7))))
+;; CHECK-BIN-NODEBUG: (type $8 (func (param f64) (result (ref null $4))))
;; CHECK-BIN-NODEBUG: (type $9 (func (result anyref)))
@@ -376,62 +376,62 @@
;; CHECK-BIN-NODEBUG: (elem declare func $0 $2)
-;; CHECK-BIN-NODEBUG: (func $0 (type $1)
-;; CHECK-BIN-NODEBUG-NEXT: (call_ref $1
+;; CHECK-BIN-NODEBUG: (func $0 (type $2)
+;; CHECK-BIN-NODEBUG-NEXT: (call_ref $2
;; CHECK-BIN-NODEBUG-NEXT: (ref.func $0)
;; CHECK-BIN-NODEBUG-NEXT: )
;; CHECK-BIN-NODEBUG-NEXT: )
-;; CHECK-BIN-NODEBUG: (func $1 (type $1)
-;; CHECK-BIN-NODEBUG-NEXT: (return_call_ref $1
+;; CHECK-BIN-NODEBUG: (func $1 (type $2)
+;; CHECK-BIN-NODEBUG-NEXT: (return_call_ref $2
;; CHECK-BIN-NODEBUG-NEXT: (ref.func $0)
;; CHECK-BIN-NODEBUG-NEXT: )
;; CHECK-BIN-NODEBUG-NEXT: )
-;; CHECK-BIN-NODEBUG: (func $2 (type $2) (param $0 i32) (result i32)
-;; CHECK-BIN-NODEBUG-NEXT: (call_ref $2
+;; CHECK-BIN-NODEBUG: (func $2 (type $1) (param $0 i32) (result i32)
+;; CHECK-BIN-NODEBUG-NEXT: (call_ref $1
;; CHECK-BIN-NODEBUG-NEXT: (i32.const 42)
;; CHECK-BIN-NODEBUG-NEXT: (ref.func $2)
;; CHECK-BIN-NODEBUG-NEXT: )
;; CHECK-BIN-NODEBUG-NEXT: )
-;; CHECK-BIN-NODEBUG: (func $3 (type $4) (param $0 (ref $2)) (result i32)
-;; CHECK-BIN-NODEBUG-NEXT: (call_ref $2
+;; CHECK-BIN-NODEBUG: (func $3 (type $5) (param $0 (ref $1)) (result i32)
+;; CHECK-BIN-NODEBUG-NEXT: (call_ref $1
;; CHECK-BIN-NODEBUG-NEXT: (i32.const 42)
;; CHECK-BIN-NODEBUG-NEXT: (local.get $0)
;; CHECK-BIN-NODEBUG-NEXT: )
;; CHECK-BIN-NODEBUG-NEXT: )
-;; CHECK-BIN-NODEBUG: (func $4 (type $5) (param $0 (ref null $2)) (result i32)
-;; CHECK-BIN-NODEBUG-NEXT: (call_ref $2
+;; CHECK-BIN-NODEBUG: (func $4 (type $6) (param $0 (ref null $1)) (result i32)
+;; CHECK-BIN-NODEBUG-NEXT: (call_ref $1
;; CHECK-BIN-NODEBUG-NEXT: (i32.const 42)
;; CHECK-BIN-NODEBUG-NEXT: (local.get $0)
;; CHECK-BIN-NODEBUG-NEXT: )
;; CHECK-BIN-NODEBUG-NEXT: )
-;; CHECK-BIN-NODEBUG: (func $5 (type $6) (result i32)
-;; CHECK-BIN-NODEBUG-NEXT: (local $0 (ref null $2))
+;; CHECK-BIN-NODEBUG: (func $5 (type $7) (result i32)
+;; CHECK-BIN-NODEBUG-NEXT: (local $0 (ref null $1))
;; CHECK-BIN-NODEBUG-NEXT: (local.set $0
;; CHECK-BIN-NODEBUG-NEXT: (ref.func $2)
;; CHECK-BIN-NODEBUG-NEXT: )
-;; CHECK-BIN-NODEBUG-NEXT: (call_ref $2
+;; CHECK-BIN-NODEBUG-NEXT: (call_ref $1
;; CHECK-BIN-NODEBUG-NEXT: (i32.const 42)
;; CHECK-BIN-NODEBUG-NEXT: (local.get $0)
;; CHECK-BIN-NODEBUG-NEXT: )
;; CHECK-BIN-NODEBUG-NEXT: )
-;; CHECK-BIN-NODEBUG: (func $6 (type $8) (param $0 f64) (result (ref null $7))
+;; CHECK-BIN-NODEBUG: (func $6 (type $8) (param $0 f64) (result (ref null $4))
;; CHECK-BIN-NODEBUG-NEXT: (ref.null nofunc)
;; CHECK-BIN-NODEBUG-NEXT: )
-;; CHECK-BIN-NODEBUG: (func $7 (type $1)
+;; CHECK-BIN-NODEBUG: (func $7 (type $2)
;; CHECK-BIN-NODEBUG-NEXT: (local $0 i32)
;; CHECK-BIN-NODEBUG-NEXT: (local $1 f64)
;; CHECK-BIN-NODEBUG-NEXT: (local $2 (ref null $9))
;; CHECK-BIN-NODEBUG-NEXT: (nop)
;; CHECK-BIN-NODEBUG-NEXT: )
-;; CHECK-BIN-NODEBUG: (func $8 (type $1)
+;; 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)
@@ -467,7 +467,7 @@
;; CHECK-BIN-NODEBUG-NEXT: )
;; CHECK-BIN-NODEBUG-NEXT: )
-;; CHECK-BIN-NODEBUG: (func $9 (type $1)
+;; CHECK-BIN-NODEBUG: (func $9 (type $2)
;; CHECK-BIN-NODEBUG-NEXT: (local $0 (ref null $0))
;; CHECK-BIN-NODEBUG-NEXT: (local $1 (ref null $0))
;; CHECK-BIN-NODEBUG-NEXT: (local $2 anyref)
@@ -480,7 +480,7 @@
;; CHECK-BIN-NODEBUG-NEXT: (nop)
;; CHECK-BIN-NODEBUG-NEXT: )
-;; CHECK-BIN-NODEBUG: (func $10 (type $1)
+;; CHECK-BIN-NODEBUG: (func $10 (type $2)
;; CHECK-BIN-NODEBUG-NEXT: (local $0 i32)
;; CHECK-BIN-NODEBUG-NEXT: (local $1 i64)
;; CHECK-BIN-NODEBUG-NEXT: (local $2 i64)