diff options
Diffstat (limited to 'test/lit/passes')
201 files changed, 3116 insertions, 3116 deletions
diff --git a/test/lit/passes/O.wast b/test/lit/passes/O.wast index 946cf12fd..ce2c85211 100644 --- a/test/lit/passes/O.wast +++ b/test/lit/passes/O.wast @@ -4,11 +4,11 @@ ;; RUN: foreach %s %t wasm-opt -O -S -o - | filecheck %s (module - ;; CHECK: (type $i32_=>_i32 (func (param i32) (result i32))) + ;; CHECK: (type $0 (func (param i32) (result i32))) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $1 (func (result i32))) - ;; CHECK: (type $i64_=>_none (func (param i64))) + ;; CHECK: (type $2 (func (param i64))) ;; CHECK: (export "ret" (func $ret)) diff --git a/test/lit/passes/O1.wast b/test/lit/passes/O1.wast index 9821a21bf..516c9b2ee 100644 --- a/test/lit/passes/O1.wast +++ b/test/lit/passes/O1.wast @@ -4,7 +4,7 @@ ;; RUN: foreach %s %t wasm-opt -O1 -S -o - | filecheck %s (module - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $0 (func (result i32))) ;; CHECK: (memory $0 1 1) (memory $0 1 1) diff --git a/test/lit/passes/O1_skip.wast b/test/lit/passes/O1_skip.wast index c22242aa6..d4eef7c84 100644 --- a/test/lit/passes/O1_skip.wast +++ b/test/lit/passes/O1_skip.wast @@ -7,9 +7,9 @@ ;; CHECK-NOT: warning: (module - ;; CHECK: (type $i32_i32_=>_none (func (param i32 i32))) + ;; CHECK: (type $0 (func (param i32 i32))) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $1 (func (param i32))) ;; CHECK: (import "a" "b" (func $log (param i32 i32))) (import "a" "b" (func $log (param i32 i32))) diff --git a/test/lit/passes/O3_Oz.wast b/test/lit/passes/O3_Oz.wast index a60064778..4dca886ac 100644 --- a/test/lit/passes/O3_Oz.wast +++ b/test/lit/passes/O3_Oz.wast @@ -28,7 +28,7 @@ ) ) ) -;; CHECK: (type $i32_=>_i32 (func (param i32) (result i32))) +;; CHECK: (type $0 (func (param i32) (result i32))) ;; CHECK: (export "export" (func $1)) diff --git a/test/lit/passes/O3_inlining.wast b/test/lit/passes/O3_inlining.wast index 0acb21045..a16a8b8d4 100644 --- a/test/lit/passes/O3_inlining.wast +++ b/test/lit/passes/O3_inlining.wast @@ -5,7 +5,7 @@ (module (global $global$0 (mut f64) (f64.const -32768)) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $0 (func (param i32))) ;; CHECK: (global $global$1 (mut i32) (i32.const 100)) (global $global$1 (mut i32) (i32.const 100)) diff --git a/test/lit/passes/O4_disable-bulk-memory.wast b/test/lit/passes/O4_disable-bulk-memory.wast index 5029f13e9..051f62456 100644 --- a/test/lit/passes/O4_disable-bulk-memory.wast +++ b/test/lit/passes/O4_disable-bulk-memory.wast @@ -46,7 +46,7 @@ (type $7 (func (param i32 i32 i32))) ;; CHECK: (type $11 (func (param i32))) - ;; CHECK: (type $f64_f64_f64_f64_f64_f64_f64_=>_i32 (func (param f64 f64 f64 f64 f64 f64 f64) (result i32))) + ;; CHECK: (type $3 (func (param f64 f64 f64 f64 f64 f64 f64) (result i32))) ;; CHECK: (type $8 (func (result f64))) (type $8 (func (result f64))) diff --git a/test/lit/passes/O_fast-math.wast b/test/lit/passes/O_fast-math.wast index b1b8e9544..bff7553a3 100644 --- a/test/lit/passes/O_fast-math.wast +++ b/test/lit/passes/O_fast-math.wast @@ -90,11 +90,11 @@ ) ) ) -;; CHECK: (type $none_=>_f32 (func (result f32))) +;; CHECK: (type $0 (func (result f32))) -;; CHECK: (type $f32_=>_f32 (func (param f32) (result f32))) +;; CHECK: (type $1 (func (param f32) (result f32))) -;; CHECK: (type $f64_=>_f64 (func (param f64) (result f64))) +;; CHECK: (type $2 (func (param f64) (result f64))) ;; CHECK: (export "div" (func $0)) diff --git a/test/lit/passes/Oz.wast b/test/lit/passes/Oz.wast index 3a6ac1f7d..85a722737 100644 --- a/test/lit/passes/Oz.wast +++ b/test/lit/passes/Oz.wast @@ -5,13 +5,13 @@ (module (memory 100 100) - ;; CHECK: (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) + ;; CHECK: (type $0 (func (param i32 i32) (result i32))) - ;; CHECK: (type $i32_=>_i32 (func (param i32) (result i32))) + ;; CHECK: (type $1 (func (param i32) (result i32))) - ;; CHECK: (type $i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32) (result i32))) + ;; CHECK: (type $2 (func (param i32 i32 i32 i32) (result i32))) - ;; CHECK: (type $none_=>_v128 (func (result v128))) + ;; CHECK: (type $3 (func (result v128))) ;; CHECK: (memory $0 100 100) @@ -37,7 +37,7 @@ ;; CHECK: (export "precompute-simd" (func $precompute-simd)) - ;; CHECK: (func $basics (type $i32_i32_=>_i32) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) + ;; CHECK: (func $basics (type $0) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add @@ -59,7 +59,7 @@ ) (i32.add (local.get $x2) (local.get $y2)) ) - ;; CHECK: (func $8 (type $i32_i32_i32_i32_=>_i32) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + ;; CHECK: (func $8 (type $2) (; has Stack IR ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.add @@ -131,7 +131,7 @@ ) ) - ;; CHECK: (func $9 (type $i32_=>_i32) (; has Stack IR ;) (param $0 i32) (result i32) + ;; CHECK: (func $9 (type $1) (; has Stack IR ;) (param $0 i32) (result i32) ;; CHECK-NEXT: (i32.mul ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const -4) @@ -147,7 +147,7 @@ ) ) - ;; CHECK: (func $10 (type $i32_=>_i32) (; has Stack IR ;) (param $0 i32) (result i32) + ;; CHECK: (func $10 (type $1) (; has Stack IR ;) (param $0 i32) (result i32) ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 31) @@ -163,7 +163,7 @@ ) ) - ;; CHECK: (func $11 (type $i32_=>_i32) (; has Stack IR ;) (param $0 i32) (result i32) + ;; CHECK: (func $11 (type $1) (; has Stack IR ;) (param $0 i32) (result i32) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (return @@ -193,7 +193,7 @@ ) (i32.const 0) ) - ;; CHECK: (func $12 (type $i32_i32_=>_i32) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) + ;; CHECK: (func $12 (type $0) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (return @@ -223,7 +223,7 @@ ) (i32.const 0) ) - ;; CHECK: (func $13 (type $i32_i32_=>_i32) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) + ;; CHECK: (func $13 (type $0) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (select ;; CHECK-NEXT: (local.get $1) @@ -248,7 +248,7 @@ (i32.const 0) ) - ;; CHECK: (func $14 (type $i32_i32_=>_i32) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) + ;; CHECK: (func $14 (type $0) (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (select ;; CHECK-NEXT: (i32.const 0) @@ -273,7 +273,7 @@ (i32.const 0) ) - ;; CHECK: (func $precompute-simd (type $none_=>_v128) (; has Stack IR ;) (result v128) + ;; CHECK: (func $precompute-simd (type $3) (; has Stack IR ;) (result v128) ;; CHECK-NEXT: (v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000) ;; CHECK-NEXT: ) (func $precompute-simd (export "precompute-simd") (result v128) diff --git a/test/lit/passes/abstract-type-refining.wast b/test/lit/passes/abstract-type-refining.wast index fba61723a..64b7ff214 100644 --- a/test/lit/passes/abstract-type-refining.wast +++ b/test/lit/passes/abstract-type-refining.wast @@ -12,13 +12,13 @@ ;; TNH mode $A and $D will also not be emitted in the output anymore. (module ;; NO_TNH: (rec - ;; NO_TNH-NEXT: (type $none_=>_none (func)) + ;; NO_TNH-NEXT: (type $0 (func)) ;; NO_TNH: (type $A (struct )) (type $A (struct)) ;; YESTNH: (rec - ;; YESTNH-NEXT: (type $none_=>_none (func)) + ;; YESTNH-NEXT: (type $0 (func)) ;; YESTNH: (type $B (struct )) ;; NO_TNH: (type $B (sub $A (struct ))) @@ -35,15 +35,15 @@ ;; NO_TNH: (type $E (sub $D (struct ))) (type $E (struct_subtype $D)) - ;; YESTNH: (type $anyref_=>_none (func (param anyref))) + ;; YESTNH: (type $4 (func (param anyref))) ;; YESTNH: (global $global anyref (struct.new_default $B)) - ;; NO_TNH: (type $anyref_=>_none (func (param anyref))) + ;; NO_TNH: (type $6 (func (param anyref))) ;; NO_TNH: (global $global anyref (struct.new_default $B)) (global $global anyref (struct.new $B)) - ;; YESTNH: (func $new (type $anyref_=>_none) (param $x anyref) + ;; YESTNH: (func $new (type $4) (param $x anyref) ;; YESTNH-NEXT: (drop ;; YESTNH-NEXT: (struct.new_default $C) ;; YESTNH-NEXT: ) @@ -51,7 +51,7 @@ ;; YESTNH-NEXT: (struct.new_default $E) ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: ) - ;; NO_TNH: (func $new (type $anyref_=>_none) (param $x anyref) + ;; NO_TNH: (func $new (type $6) (param $x anyref) ;; NO_TNH-NEXT: (drop ;; NO_TNH-NEXT: (struct.new_default $C) ;; NO_TNH-NEXT: ) @@ -68,7 +68,7 @@ ) ) - ;; YESTNH: (func $ref.cast (type $anyref_=>_none) (param $x anyref) + ;; YESTNH: (func $ref.cast (type $4) (param $x anyref) ;; YESTNH-NEXT: (drop ;; YESTNH-NEXT: (ref.cast (ref $B) ;; YESTNH-NEXT: (local.get $x) @@ -95,7 +95,7 @@ ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: ) - ;; NO_TNH: (func $ref.cast (type $anyref_=>_none) (param $x anyref) + ;; NO_TNH: (func $ref.cast (type $6) (param $x anyref) ;; NO_TNH-NEXT: (drop ;; NO_TNH-NEXT: (ref.cast (ref $A) ;; NO_TNH-NEXT: (local.get $x) @@ -152,14 +152,14 @@ ) ) - ;; YESTNH: (func $ref.test (type $anyref_=>_none) (param $x anyref) + ;; YESTNH: (func $ref.test (type $4) (param $x anyref) ;; YESTNH-NEXT: (drop ;; YESTNH-NEXT: (ref.test (ref $B) ;; YESTNH-NEXT: (local.get $x) ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: ) - ;; NO_TNH: (func $ref.test (type $anyref_=>_none) (param $x anyref) + ;; NO_TNH: (func $ref.test (type $6) (param $x anyref) ;; NO_TNH-NEXT: (drop ;; NO_TNH-NEXT: (ref.test (ref $A) ;; NO_TNH-NEXT: (local.get $x) @@ -174,7 +174,7 @@ ) ) - ;; YESTNH: (func $br_on (type $anyref_=>_none) (param $x anyref) + ;; YESTNH: (func $br_on (type $4) (param $x anyref) ;; YESTNH-NEXT: (drop ;; YESTNH-NEXT: (block $block (result (ref $B)) ;; YESTNH-NEXT: (drop @@ -186,7 +186,7 @@ ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: ) - ;; NO_TNH: (func $br_on (type $anyref_=>_none) (param $x anyref) + ;; NO_TNH: (func $br_on (type $6) (param $x anyref) ;; NO_TNH-NEXT: (drop ;; NO_TNH-NEXT: (block $block (result anyref) ;; NO_TNH-NEXT: (drop @@ -211,14 +211,14 @@ ) ) - ;; YESTNH: (func $basic (type $anyref_=>_none) (param $x anyref) + ;; YESTNH: (func $basic (type $4) (param $x anyref) ;; YESTNH-NEXT: (drop ;; YESTNH-NEXT: (ref.cast (ref struct) ;; YESTNH-NEXT: (local.get $x) ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: ) - ;; NO_TNH: (func $basic (type $anyref_=>_none) (param $x anyref) + ;; NO_TNH: (func $basic (type $6) (param $x anyref) ;; NO_TNH-NEXT: (drop ;; NO_TNH-NEXT: (ref.cast (ref struct) ;; NO_TNH-NEXT: (local.get $x) @@ -234,7 +234,7 @@ ) ) - ;; YESTNH: (func $locals (type $none_=>_none) + ;; YESTNH: (func $locals (type $0) ;; YESTNH-NEXT: (local $A (ref $B)) ;; YESTNH-NEXT: (local $B (ref $B)) ;; YESTNH-NEXT: (local $C (ref $C)) @@ -242,7 +242,7 @@ ;; YESTNH-NEXT: (local $E (ref $E)) ;; YESTNH-NEXT: (nop) ;; YESTNH-NEXT: ) - ;; NO_TNH: (func $locals (type $none_=>_none) + ;; NO_TNH: (func $locals (type $0) ;; NO_TNH-NEXT: (local $A (ref $A)) ;; NO_TNH-NEXT: (local $B (ref $B)) ;; NO_TNH-NEXT: (local $C (ref $C)) @@ -271,12 +271,12 @@ ;; YESTNH: (type $B1 (sub $A (struct ))) - ;; YESTNH: (type $anyref_=>_none (func (param anyref))) + ;; YESTNH: (type $2 (func (param anyref))) ;; YESTNH: (type $B (sub $A (struct ))) ;; NO_TNH: (type $B1 (sub $A (struct ))) - ;; NO_TNH: (type $anyref_=>_none (func (param anyref))) + ;; NO_TNH: (type $2 (func (param anyref))) ;; NO_TNH: (type $B (sub $A (struct ))) (type $B (struct_subtype $A)) @@ -288,12 +288,12 @@ ;; NO_TNH: (global $global anyref (struct.new_default $B)) (global $global anyref (struct.new $B)) - ;; YESTNH: (func $new (type $anyref_=>_none) (param $x anyref) + ;; YESTNH: (func $new (type $2) (param $x anyref) ;; YESTNH-NEXT: (drop ;; YESTNH-NEXT: (struct.new_default $B1) ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: ) - ;; NO_TNH: (func $new (type $anyref_=>_none) (param $x anyref) + ;; NO_TNH: (func $new (type $2) (param $x anyref) ;; NO_TNH-NEXT: (drop ;; NO_TNH-NEXT: (struct.new_default $B1) ;; NO_TNH-NEXT: ) @@ -304,7 +304,7 @@ ) ) - ;; YESTNH: (func $ref.cast (type $anyref_=>_none) (param $x anyref) + ;; YESTNH: (func $ref.cast (type $2) (param $x anyref) ;; YESTNH-NEXT: (drop ;; YESTNH-NEXT: (ref.cast (ref $A) ;; YESTNH-NEXT: (local.get $x) @@ -321,7 +321,7 @@ ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: ) - ;; NO_TNH: (func $ref.cast (type $anyref_=>_none) (param $x anyref) + ;; NO_TNH: (func $ref.cast (type $2) (param $x anyref) ;; NO_TNH-NEXT: (drop ;; NO_TNH-NEXT: (ref.cast (ref $A) ;; NO_TNH-NEXT: (local.get $x) @@ -373,16 +373,16 @@ (type $B1 (struct_subtype $A)) ;; this is a new type ) - ;; YESTNH: (type $anyref_=>_none (func (param anyref))) + ;; YESTNH: (type $1 (func (param anyref))) - ;; YESTNH: (func $new (type $anyref_=>_none) (param $x anyref) + ;; YESTNH: (func $new (type $1) (param $x anyref) ;; YESTNH-NEXT: (drop ;; YESTNH-NEXT: (struct.new_default $B1) ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: ) - ;; NO_TNH: (type $anyref_=>_none (func (param anyref))) + ;; NO_TNH: (type $2 (func (param anyref))) - ;; NO_TNH: (func $new (type $anyref_=>_none) (param $x anyref) + ;; NO_TNH: (func $new (type $2) (param $x anyref) ;; NO_TNH-NEXT: (drop ;; NO_TNH-NEXT: (struct.new_default $B1) ;; NO_TNH-NEXT: ) @@ -393,7 +393,7 @@ ) ) - ;; YESTNH: (func $ref.cast (type $anyref_=>_none) (param $x anyref) + ;; YESTNH: (func $ref.cast (type $1) (param $x anyref) ;; YESTNH-NEXT: (drop ;; YESTNH-NEXT: (ref.cast (ref $B1) ;; YESTNH-NEXT: (local.get $x) @@ -410,7 +410,7 @@ ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: ) - ;; NO_TNH: (func $ref.cast (type $anyref_=>_none) (param $x anyref) + ;; NO_TNH: (func $ref.cast (type $2) (param $x anyref) ;; NO_TNH-NEXT: (drop ;; NO_TNH-NEXT: (ref.cast (ref $A) ;; NO_TNH-NEXT: (local.get $x) @@ -460,16 +460,16 @@ ;; NO_TNH: (type $C (sub $B (struct ))) (type $C (struct_subtype $B)) - ;; YESTNH: (type $anyref_=>_none (func (param anyref))) + ;; YESTNH: (type $1 (func (param anyref))) - ;; YESTNH: (func $new (type $anyref_=>_none) (param $x anyref) + ;; YESTNH: (func $new (type $1) (param $x anyref) ;; YESTNH-NEXT: (drop ;; YESTNH-NEXT: (struct.new_default $C) ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: ) - ;; NO_TNH: (type $anyref_=>_none (func (param anyref))) + ;; NO_TNH: (type $3 (func (param anyref))) - ;; NO_TNH: (func $new (type $anyref_=>_none) (param $x anyref) + ;; NO_TNH: (func $new (type $3) (param $x anyref) ;; NO_TNH-NEXT: (drop ;; NO_TNH-NEXT: (struct.new_default $C) ;; NO_TNH-NEXT: ) @@ -480,7 +480,7 @@ ) ) - ;; YESTNH: (func $ref.cast (type $anyref_=>_none) (param $x anyref) + ;; YESTNH: (func $ref.cast (type $1) (param $x anyref) ;; YESTNH-NEXT: (drop ;; YESTNH-NEXT: (ref.cast (ref $C) ;; YESTNH-NEXT: (local.get $x) @@ -497,7 +497,7 @@ ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: ) - ;; NO_TNH: (func $ref.cast (type $anyref_=>_none) (param $x anyref) + ;; NO_TNH: (func $ref.cast (type $3) (param $x anyref) ;; NO_TNH-NEXT: (drop ;; NO_TNH-NEXT: (ref.cast (ref $A) ;; NO_TNH-NEXT: (local.get $x) @@ -547,11 +547,11 @@ ) ;; YESTNH: (rec - ;; YESTNH-NEXT: (type $none_=>_none (func)) + ;; YESTNH-NEXT: (type $0 (func)) - ;; YESTNH: (type $anyref_=>_none (func (param anyref))) + ;; YESTNH: (type $1 (func (param anyref))) - ;; YESTNH: (func $ref.cast (type $anyref_=>_none) (param $x anyref) + ;; YESTNH: (func $ref.cast (type $1) (param $x anyref) ;; YESTNH-NEXT: (drop ;; YESTNH-NEXT: (ref.cast (ref none) ;; YESTNH-NEXT: (local.get $x) @@ -574,11 +574,11 @@ ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: ) ;; NO_TNH: (rec - ;; NO_TNH-NEXT: (type $none_=>_none (func)) + ;; NO_TNH-NEXT: (type $0 (func)) - ;; NO_TNH: (type $anyref_=>_none (func (param anyref))) + ;; NO_TNH: (type $1 (func (param anyref))) - ;; NO_TNH: (func $ref.cast (type $anyref_=>_none) (param $x anyref) + ;; NO_TNH: (func $ref.cast (type $1) (param $x anyref) ;; NO_TNH-NEXT: (drop ;; NO_TNH-NEXT: (ref.cast (ref none) ;; NO_TNH-NEXT: (local.get $x) @@ -624,7 +624,7 @@ ) ) - ;; YESTNH: (func $ref.cast.null (type $anyref_=>_none) (param $x anyref) + ;; YESTNH: (func $ref.cast.null (type $1) (param $x anyref) ;; YESTNH-NEXT: (drop ;; YESTNH-NEXT: (ref.cast nullref ;; YESTNH-NEXT: (local.get $x) @@ -646,7 +646,7 @@ ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: ) - ;; NO_TNH: (func $ref.cast.null (type $anyref_=>_none) (param $x anyref) + ;; NO_TNH: (func $ref.cast.null (type $1) (param $x anyref) ;; NO_TNH-NEXT: (drop ;; NO_TNH-NEXT: (ref.cast nullref ;; NO_TNH-NEXT: (local.get $x) @@ -692,7 +692,7 @@ ) ) - ;; YESTNH: (func $ref.test (type $anyref_=>_none) (param $x anyref) + ;; YESTNH: (func $ref.test (type $1) (param $x anyref) ;; YESTNH-NEXT: (drop ;; YESTNH-NEXT: (ref.test (ref none) ;; YESTNH-NEXT: (local.get $x) @@ -704,7 +704,7 @@ ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: ) - ;; NO_TNH: (func $ref.test (type $anyref_=>_none) (param $x anyref) + ;; NO_TNH: (func $ref.test (type $1) (param $x anyref) ;; NO_TNH-NEXT: (drop ;; NO_TNH-NEXT: (ref.test (ref none) ;; NO_TNH-NEXT: (local.get $x) @@ -731,7 +731,7 @@ ) ) - ;; YESTNH: (func $br_on (type $anyref_=>_none) (param $x anyref) + ;; YESTNH: (func $br_on (type $1) (param $x anyref) ;; YESTNH-NEXT: (drop ;; YESTNH-NEXT: (block $block (result (ref none)) ;; YESTNH-NEXT: (drop @@ -751,7 +751,7 @@ ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: ) - ;; NO_TNH: (func $br_on (type $anyref_=>_none) (param $x anyref) + ;; NO_TNH: (func $br_on (type $1) (param $x anyref) ;; NO_TNH-NEXT: (drop ;; NO_TNH-NEXT: (block $block (result (ref none)) ;; NO_TNH-NEXT: (drop @@ -794,14 +794,14 @@ ) ) - ;; YESTNH: (func $locals (type $none_=>_none) + ;; YESTNH: (func $locals (type $0) ;; YESTNH-NEXT: (local $A (ref none)) ;; YESTNH-NEXT: (local $B (ref none)) ;; YESTNH-NEXT: (local $C1 (ref none)) ;; YESTNH-NEXT: (local $C2 nullref) ;; YESTNH-NEXT: (nop) ;; YESTNH-NEXT: ) - ;; NO_TNH: (func $locals (type $none_=>_none) + ;; NO_TNH: (func $locals (type $0) ;; NO_TNH-NEXT: (local $A (ref none)) ;; NO_TNH-NEXT: (local $B (ref none)) ;; NO_TNH-NEXT: (local $C1 (ref none)) @@ -822,7 +822,7 @@ (module (rec ;; NO_TNH: (rec - ;; NO_TNH-NEXT: (type $anyref_=>_none (func (param anyref))) + ;; NO_TNH-NEXT: (type $0 (func (param anyref))) ;; NO_TNH: (type $A (struct )) (type $A (struct)) @@ -831,7 +831,7 @@ (type $B (struct_subtype $A)) ;; YESTNH: (rec - ;; YESTNH-NEXT: (type $anyref_=>_none (func (param anyref))) + ;; YESTNH-NEXT: (type $0 (func (param anyref))) ;; YESTNH: (type $C1 (struct )) ;; NO_TNH: (type $C1 (sub $B (struct ))) @@ -844,7 +844,7 @@ ;; NO_TNH: (global $global anyref (struct.new_default $C1)) (global $global anyref (struct.new $C1)) - ;; YESTNH: (func $ref.cast (type $anyref_=>_none) (param $x anyref) + ;; YESTNH: (func $ref.cast (type $0) (param $x anyref) ;; YESTNH-NEXT: (drop ;; YESTNH-NEXT: (ref.cast (ref $C1) ;; YESTNH-NEXT: (local.get $x) @@ -866,7 +866,7 @@ ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: ) - ;; NO_TNH: (func $ref.cast (type $anyref_=>_none) (param $x anyref) + ;; NO_TNH: (func $ref.cast (type $0) (param $x anyref) ;; NO_TNH-NEXT: (drop ;; NO_TNH-NEXT: (ref.cast (ref $A) ;; NO_TNH-NEXT: (local.get $x) @@ -913,7 +913,7 @@ ) ) - ;; YESTNH: (func $ref.cast.null (type $anyref_=>_none) (param $x anyref) + ;; YESTNH: (func $ref.cast.null (type $0) (param $x anyref) ;; YESTNH-NEXT: (drop ;; YESTNH-NEXT: (ref.cast (ref null $C1) ;; YESTNH-NEXT: (local.get $x) @@ -935,7 +935,7 @@ ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: ) - ;; NO_TNH: (func $ref.cast.null (type $anyref_=>_none) (param $x anyref) + ;; NO_TNH: (func $ref.cast.null (type $0) (param $x anyref) ;; NO_TNH-NEXT: (drop ;; NO_TNH-NEXT: (ref.cast (ref null $A) ;; NO_TNH-NEXT: (local.get $x) @@ -999,12 +999,12 @@ ;; NO_TNH: (type $C (sub $B (func))) (type $C (func_subtype $B)) - ;; YESTNH: (type $funcref_=>_none (func (param funcref))) + ;; YESTNH: (type $3 (func (param funcref))) ;; YESTNH: (func $A (type $A) ;; YESTNH-NEXT: (nop) ;; YESTNH-NEXT: ) - ;; NO_TNH: (type $funcref_=>_none (func (param funcref))) + ;; NO_TNH: (type $3 (func (param funcref))) ;; NO_TNH: (func $A (type $A) ;; NO_TNH-NEXT: (nop) @@ -1021,7 +1021,7 @@ (func $C (type $A) ) - ;; YESTNH: (func $casts (type $funcref_=>_none) (param $x funcref) + ;; YESTNH: (func $casts (type $3) (param $x funcref) ;; YESTNH-NEXT: (drop ;; YESTNH-NEXT: (ref.cast (ref $A) ;; YESTNH-NEXT: (local.get $x) @@ -1038,7 +1038,7 @@ ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: ) - ;; NO_TNH: (func $casts (type $funcref_=>_none) (param $x funcref) + ;; NO_TNH: (func $casts (type $3) (param $x funcref) ;; NO_TNH-NEXT: (drop ;; NO_TNH-NEXT: (ref.cast (ref $A) ;; NO_TNH-NEXT: (local.get $x) @@ -1084,11 +1084,11 @@ (type $A (func)) ;; YESTNH: (rec - ;; YESTNH-NEXT: (type $funcref_=>_none (func (param funcref))) + ;; YESTNH-NEXT: (type $1 (func (param funcref))) ;; YESTNH: (type $B (sub $A (func))) ;; NO_TNH: (rec - ;; NO_TNH-NEXT: (type $funcref_=>_none (func (param funcref))) + ;; NO_TNH-NEXT: (type $1 (func (param funcref))) ;; NO_TNH: (type $B (sub $A (func))) (type $B (func_subtype $A)) @@ -1138,7 +1138,7 @@ ) ) - ;; YESTNH: (func $casts (type $funcref_=>_none) (param $x funcref) + ;; YESTNH: (func $casts (type $1) (param $x funcref) ;; YESTNH-NEXT: (drop ;; YESTNH-NEXT: (ref.cast (ref $A) ;; YESTNH-NEXT: (local.get $x) @@ -1155,7 +1155,7 @@ ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: ) - ;; NO_TNH: (func $casts (type $funcref_=>_none) (param $x funcref) + ;; NO_TNH: (func $casts (type $1) (param $x funcref) ;; NO_TNH-NEXT: (drop ;; NO_TNH-NEXT: (ref.cast (ref $A) ;; NO_TNH-NEXT: (local.get $x) @@ -1196,11 +1196,11 @@ ;; Array subtyping, which is a TODO - for now we do nothing. (module ;; YESTNH: (rec - ;; YESTNH-NEXT: (type $anyref_=>_none (func (param anyref))) + ;; YESTNH-NEXT: (type $0 (func (param anyref))) ;; YESTNH: (type $A (array (mut i32))) ;; NO_TNH: (rec - ;; NO_TNH-NEXT: (type $anyref_=>_none (func (param anyref))) + ;; NO_TNH-NEXT: (type $0 (func (param anyref))) ;; NO_TNH: (type $A (array (mut i32))) (type $A (array (mut i32))) @@ -1252,7 +1252,7 @@ (i32.const 20) )) - ;; YESTNH: (func $casts (type $anyref_=>_none) (param $x anyref) + ;; YESTNH: (func $casts (type $0) (param $x anyref) ;; YESTNH-NEXT: (drop ;; YESTNH-NEXT: (ref.cast (ref $A) ;; YESTNH-NEXT: (local.get $x) @@ -1269,7 +1269,7 @@ ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: ) - ;; NO_TNH: (func $casts (type $anyref_=>_none) (param $x anyref) + ;; NO_TNH: (func $casts (type $0) (param $x anyref) ;; NO_TNH-NEXT: (drop ;; NO_TNH-NEXT: (ref.cast (ref $A) ;; NO_TNH-NEXT: (local.get $x) diff --git a/test/lit/passes/alignment-lowering.wast b/test/lit/passes/alignment-lowering.wast index 9875f9adf..0bcbbf3df 100644 --- a/test/lit/passes/alignment-lowering.wast +++ b/test/lit/passes/alignment-lowering.wast @@ -4,7 +4,7 @@ ;; RUN: foreach %s %t wasm-opt --alignment-lowering -S -o - | filecheck %s (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (memory $0 1 1) (memory $0 1 1) diff --git a/test/lit/passes/alignment-lowering64.wast b/test/lit/passes/alignment-lowering64.wast index 5c20cc7eb..de4926911 100644 --- a/test/lit/passes/alignment-lowering64.wast +++ b/test/lit/passes/alignment-lowering64.wast @@ -4,7 +4,7 @@ ;; RUN: foreach %s %t wasm-opt --alignment-lowering --enable-memory64 -S -o - | filecheck %s (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (memory $0 i64 1 1) (memory $0 i64 1 1) diff --git a/test/lit/passes/asyncify-wasm64.wast b/test/lit/passes/asyncify-wasm64.wast index 754af239b..87865e9bd 100644 --- a/test/lit/passes/asyncify-wasm64.wast +++ b/test/lit/passes/asyncify-wasm64.wast @@ -3,16 +3,16 @@ ;; RUN: wasm-opt --enable-memory64 --asyncify %s -S -o - | filecheck %s (module - ;; CHECK: (type $i32_i32_=>_none (func (param i32 i32))) + ;; CHECK: (type $0 (func (param i32 i32))) ;; CHECK: (type $f (func (param i32))) (type $f (func (param i32))) (memory i64 1 2) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $2 (func)) - ;; CHECK: (type $i64_=>_none (func (param i64))) + ;; CHECK: (type $3 (func (param i64))) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $4 (func (result i32))) ;; CHECK: (import "env" "import" (func $import)) (import "env" "import" (func $import)) diff --git a/test/lit/passes/asyncify-wasm64_pass-arg=in-secondary-memory.wast b/test/lit/passes/asyncify-wasm64_pass-arg=in-secondary-memory.wast index f41edf675..a3991b67d 100644 --- a/test/lit/passes/asyncify-wasm64_pass-arg=in-secondary-memory.wast +++ b/test/lit/passes/asyncify-wasm64_pass-arg=in-secondary-memory.wast @@ -4,13 +4,13 @@ (module (memory i64 1 2) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $1 (func (param i32))) - ;; CHECK: (type $i32_i32_=>_none (func (param i32 i32))) + ;; CHECK: (type $2 (func (param i32 i32))) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $3 (func (result i32))) ;; CHECK: (import "env" "import" (func $import)) (import "env" "import" (func $import)) diff --git a/test/lit/passes/asyncify.wast b/test/lit/passes/asyncify.wast index 2507375e7..05d447f23 100644 --- a/test/lit/passes/asyncify.wast +++ b/test/lit/passes/asyncify.wast @@ -7,11 +7,11 @@ ;; CHECK: (type $f (func (param i32))) (type $f (func (param i32))) (memory 1 2) - ;; CHECK: (type $i32_i32_=>_none (func (param i32 i32))) + ;; CHECK: (type $1 (func (param i32 i32))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $2 (func)) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $3 (func (result i32))) ;; CHECK: (import "env" "import" (func $import)) (import "env" "import" (func $import)) diff --git a/test/lit/passes/asyncify_enable-multivalue.wast b/test/lit/passes/asyncify_enable-multivalue.wast index c9a84d458..2d6147816 100644 --- a/test/lit/passes/asyncify_enable-multivalue.wast +++ b/test/lit/passes/asyncify_enable-multivalue.wast @@ -10,11 +10,11 @@ (import "asyncify" "stop_unwind" (func $asyncify_stop_unwind)) (import "asyncify" "start_rewind" (func $asyncify_start_rewind (param i32))) (import "asyncify" "stop_rewind" (func $asyncify_stop_rewind)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $1 (func (param i32))) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $2 (func (result i32))) ;; CHECK: (global $sleeping (mut i32) (i32.const 0)) (global $sleeping (mut i32) (i32.const 0)) @@ -383,15 +383,15 @@ ;; CHECK-NEXT: ) (module (memory 1 2) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $1 (func (param i32))) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $2 (func (result i32))) - ;; CHECK: (type $i32_=>_i32 (func (param i32) (result i32))) + ;; CHECK: (type $3 (func (param i32) (result i32))) - ;; CHECK: (type $none_=>_i32_i64 (func (result i32 i64))) + ;; CHECK: (type $4 (func (result i32 i64))) ;; CHECK: (import "env" "import" (func $import)) (import "env" "import" (func $import)) @@ -2682,11 +2682,11 @@ ;; CHECK-NEXT: ) (module ) -;; CHECK: (type $i32_=>_none (func (param i32))) +;; CHECK: (type $0 (func (param i32))) -;; CHECK: (type $none_=>_none (func)) +;; CHECK: (type $1 (func)) -;; CHECK: (type $none_=>_i32 (func (result i32))) +;; CHECK: (type $2 (func (result i32))) ;; CHECK: (global $__asyncify_state (mut i32) (i32.const 0)) diff --git a/test/lit/passes/asyncify_mod-asyncify-always-and-only-unwind.wast b/test/lit/passes/asyncify_mod-asyncify-always-and-only-unwind.wast index ea14c2400..316684a0f 100644 --- a/test/lit/passes/asyncify_mod-asyncify-always-and-only-unwind.wast +++ b/test/lit/passes/asyncify_mod-asyncify-always-and-only-unwind.wast @@ -5,11 +5,11 @@ (module (memory 1 2) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $1 (func (result i32))) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $2 (func (param i32))) ;; CHECK: (import "env" "import" (func $import)) (import "env" "import" (func $import)) diff --git a/test/lit/passes/asyncify_mod-asyncify-always-and-only-unwind_O.wast b/test/lit/passes/asyncify_mod-asyncify-always-and-only-unwind_O.wast index 298377755..b9ee21463 100644 --- a/test/lit/passes/asyncify_mod-asyncify-always-and-only-unwind_O.wast +++ b/test/lit/passes/asyncify_mod-asyncify-always-and-only-unwind_O.wast @@ -5,11 +5,11 @@ (module (memory 1 2) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $1 (func (param i32))) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $2 (func (result i32))) ;; CHECK: (import "env" "import" (func $import)) (import "env" "import" (func $import)) diff --git a/test/lit/passes/asyncify_mod-asyncify-never-unwind.wast b/test/lit/passes/asyncify_mod-asyncify-never-unwind.wast index 67bfb5694..122c092ca 100644 --- a/test/lit/passes/asyncify_mod-asyncify-never-unwind.wast +++ b/test/lit/passes/asyncify_mod-asyncify-never-unwind.wast @@ -5,11 +5,11 @@ (module (memory 1 2) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $1 (func (result i32))) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $2 (func (param i32))) ;; CHECK: (import "env" "import" (func $import)) (import "env" "import" (func $import)) diff --git a/test/lit/passes/asyncify_mod-asyncify-never-unwind_O.wast b/test/lit/passes/asyncify_mod-asyncify-never-unwind_O.wast index 1a2a945a1..d8a3e92fd 100644 --- a/test/lit/passes/asyncify_mod-asyncify-never-unwind_O.wast +++ b/test/lit/passes/asyncify_mod-asyncify-never-unwind_O.wast @@ -5,11 +5,11 @@ (module (memory 1 2) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $1 (func (param i32))) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $2 (func (result i32))) ;; CHECK: (import "env" "import" (func $import)) (import "env" "import" (func $import)) diff --git a/test/lit/passes/asyncify_optimize-level=1.wast b/test/lit/passes/asyncify_optimize-level=1.wast index 65432a2ea..5fdd27758 100644 --- a/test/lit/passes/asyncify_optimize-level=1.wast +++ b/test/lit/passes/asyncify_optimize-level=1.wast @@ -5,13 +5,13 @@ (module (memory 1 2) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $1 (func (param i32))) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $2 (func (result i32))) - ;; CHECK: (type $i32_=>_i32 (func (param i32) (result i32))) + ;; CHECK: (type $3 (func (param i32) (result i32))) ;; CHECK: (import "env" "import" (func $import)) (import "env" "import" (func $import)) diff --git a/test/lit/passes/asyncify_pass-arg=asyncify-addlist@foo.wast b/test/lit/passes/asyncify_pass-arg=asyncify-addlist@foo.wast index 861b7ff60..3c67158d3 100644 --- a/test/lit/passes/asyncify_pass-arg=asyncify-addlist@foo.wast +++ b/test/lit/passes/asyncify_pass-arg=asyncify-addlist@foo.wast @@ -5,11 +5,11 @@ (module (memory 1 2) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $1 (func (param i32))) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $2 (func (result i32))) ;; CHECK: (import "env" "import" (func $import)) (import "env" "import" (func $import)) diff --git a/test/lit/passes/asyncify_pass-arg=asyncify-addlist@foo_pass-arg=asyncify-ignore-indirect.wast b/test/lit/passes/asyncify_pass-arg=asyncify-addlist@foo_pass-arg=asyncify-ignore-indirect.wast index 9abf10062..143342cc3 100644 --- a/test/lit/passes/asyncify_pass-arg=asyncify-addlist@foo_pass-arg=asyncify-ignore-indirect.wast +++ b/test/lit/passes/asyncify_pass-arg=asyncify-addlist@foo_pass-arg=asyncify-ignore-indirect.wast @@ -9,9 +9,9 @@ (memory 1 2) (table 1 funcref) (elem (i32.const 0)) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $1 (func (param i32))) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $2 (func (result i32))) ;; CHECK: (import "env" "import" (func $import)) (import "env" "import" (func $import)) diff --git a/test/lit/passes/asyncify_pass-arg=asyncify-asserts_pass-arg=asyncify-onlylist@waka.wast b/test/lit/passes/asyncify_pass-arg=asyncify-asserts_pass-arg=asyncify-onlylist@waka.wast index 3871e88ca..b7edc038c 100644 --- a/test/lit/passes/asyncify_pass-arg=asyncify-asserts_pass-arg=asyncify-onlylist@waka.wast +++ b/test/lit/passes/asyncify_pass-arg=asyncify-asserts_pass-arg=asyncify-onlylist@waka.wast @@ -12,9 +12,9 @@ (memory 1 2) ;; CHECK: (type $f (func)) (type $f (func)) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $1 (func (param i32))) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $2 (func (result i32))) ;; CHECK: (import "env" "import" (func $import)) (import "env" "import" (func $import)) diff --git a/test/lit/passes/asyncify_pass-arg=asyncify-blacklist@foo,bar.wast b/test/lit/passes/asyncify_pass-arg=asyncify-blacklist@foo,bar.wast index 83dd0a2ce..e0baa77af 100644 --- a/test/lit/passes/asyncify_pass-arg=asyncify-blacklist@foo,bar.wast +++ b/test/lit/passes/asyncify_pass-arg=asyncify-blacklist@foo,bar.wast @@ -5,11 +5,11 @@ (module (memory 1 2) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $1 (func (param i32))) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $2 (func (result i32))) ;; CHECK: (import "env" "import" (func $import)) (import "env" "import" (func $import)) diff --git a/test/lit/passes/asyncify_pass-arg=asyncify-ignore-imports.wast b/test/lit/passes/asyncify_pass-arg=asyncify-ignore-imports.wast index a0861d7a6..7fa6d19dc 100644 --- a/test/lit/passes/asyncify_pass-arg=asyncify-ignore-imports.wast +++ b/test/lit/passes/asyncify_pass-arg=asyncify-ignore-imports.wast @@ -7,9 +7,9 @@ (memory 1 2) ;; CHECK: (type $f (func)) (type $f (func)) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $1 (func (param i32))) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $2 (func (result i32))) ;; CHECK: (import "env" "import" (func $import)) (import "env" "import" (func $import)) diff --git a/test/lit/passes/asyncify_pass-arg=asyncify-ignore-indirect.wast b/test/lit/passes/asyncify_pass-arg=asyncify-ignore-indirect.wast index 5f8a9345c..73eede2c6 100644 --- a/test/lit/passes/asyncify_pass-arg=asyncify-ignore-indirect.wast +++ b/test/lit/passes/asyncify_pass-arg=asyncify-ignore-indirect.wast @@ -7,9 +7,9 @@ (memory 1 2) ;; CHECK: (type $f (func)) (type $f (func)) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $1 (func (param i32))) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $2 (func (result i32))) ;; CHECK: (import "env" "import" (func $import)) (import "env" "import" (func $import)) diff --git a/test/lit/passes/asyncify_pass-arg=asyncify-imports@env.import,env.import2.wast b/test/lit/passes/asyncify_pass-arg=asyncify-imports@env.import,env.import2.wast index 89690a3f0..ca691b86f 100644 --- a/test/lit/passes/asyncify_pass-arg=asyncify-imports@env.import,env.import2.wast +++ b/test/lit/passes/asyncify_pass-arg=asyncify-imports@env.import,env.import2.wast @@ -9,11 +9,11 @@ (import "asyncify" "start_unwind" (func $asyncify_start_unwind (param i32))) (import "asyncify" "start_rewind" (func $asyncify_start_rewind (param i32))) (import "asyncify" "stop_rewind" (func $asyncify_stop_rewind)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $1 (func (param i32))) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $2 (func (result i32))) ;; CHECK: (global $sleeping (mut i32) (i32.const 0)) (global $sleeping (mut i32) (i32.const 0)) @@ -379,13 +379,13 @@ ;; CHECK-NEXT: ) (module (memory 1 2) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $1 (func (param i32))) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $2 (func (result i32))) - ;; CHECK: (type $i32_=>_i32 (func (param i32) (result i32))) + ;; CHECK: (type $3 (func (param i32) (result i32))) ;; CHECK: (import "env" "import" (func $import)) (import "env" "import" (func $import)) diff --git a/test/lit/passes/asyncify_pass-arg=asyncify-onlylist@foo,bar.wast b/test/lit/passes/asyncify_pass-arg=asyncify-onlylist@foo,bar.wast index 438216c5b..369c1c999 100644 --- a/test/lit/passes/asyncify_pass-arg=asyncify-onlylist@foo,bar.wast +++ b/test/lit/passes/asyncify_pass-arg=asyncify-onlylist@foo,bar.wast @@ -5,11 +5,11 @@ (module (memory 1 2) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $1 (func (param i32))) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $2 (func (result i32))) ;; CHECK: (import "env" "import" (func $import)) (import "env" "import" (func $import)) diff --git a/test/lit/passes/asyncify_pass-arg=asyncify-side-module.wast b/test/lit/passes/asyncify_pass-arg=asyncify-side-module.wast index fbf96a97e..5afc9a83b 100644 --- a/test/lit/passes/asyncify_pass-arg=asyncify-side-module.wast +++ b/test/lit/passes/asyncify_pass-arg=asyncify-side-module.wast @@ -5,11 +5,11 @@ (module ) -;; CHECK: (type $i32_=>_none (func (param i32))) +;; CHECK: (type $0 (func (param i32))) -;; CHECK: (type $none_=>_none (func)) +;; CHECK: (type $1 (func)) -;; CHECK: (type $none_=>_i32 (func (result i32))) +;; CHECK: (type $2 (func (result i32))) ;; CHECK: (import "env" "__asyncify_state" (global $__asyncify_state (mut i32))) diff --git a/test/lit/passes/asyncify_pass-arg=asyncify-verbose.wast b/test/lit/passes/asyncify_pass-arg=asyncify-verbose.wast index c605b26a2..1104fd296 100644 --- a/test/lit/passes/asyncify_pass-arg=asyncify-verbose.wast +++ b/test/lit/passes/asyncify_pass-arg=asyncify-verbose.wast @@ -5,11 +5,11 @@ (module (memory 1 2) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $1 (func (param i32))) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $2 (func (result i32))) ;; CHECK: (import "env" "import" (func $import)) (import "env" "import" (func $import)) diff --git a/test/lit/passes/asyncify_pass-arg=in-secondary-memory.wast b/test/lit/passes/asyncify_pass-arg=in-secondary-memory.wast index f18292bef..3cf051907 100644 --- a/test/lit/passes/asyncify_pass-arg=in-secondary-memory.wast +++ b/test/lit/passes/asyncify_pass-arg=in-secondary-memory.wast @@ -5,22 +5,22 @@ (module (memory 1 2) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $1 (func (param i32))) - ;; CHECK: (type $i32_i32_=>_none (func (param i32 i32))) + ;; CHECK: (type $2 (func (param i32 i32))) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $3 (func (result i32))) ;; CHECK: (import "env" "import" (func $import)) - ;; SIZE: (type $none_=>_none (func)) + ;; SIZE: (type $0 (func)) - ;; SIZE: (type $i32_=>_none (func (param i32))) + ;; SIZE: (type $1 (func (param i32))) - ;; SIZE: (type $i32_i32_=>_none (func (param i32 i32))) + ;; SIZE: (type $2 (func (param i32 i32))) - ;; SIZE: (type $none_=>_i32 (func (result i32))) + ;; SIZE: (type $3 (func (result i32))) ;; SIZE: (import "env" "import" (func $import)) (import "env" "import" (func $import)) diff --git a/test/lit/passes/avoid-reinterprets.wast b/test/lit/passes/avoid-reinterprets.wast index 046812dce..0ecb67e5c 100644 --- a/test/lit/passes/avoid-reinterprets.wast +++ b/test/lit/passes/avoid-reinterprets.wast @@ -5,9 +5,9 @@ (module (memory 1) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (type $none_=>_f32 (func (result f32))) + ;; CHECK: (type $1 (func (result f32))) ;; CHECK: (memory $0 1) diff --git a/test/lit/passes/avoid-reinterprets64.wast b/test/lit/passes/avoid-reinterprets64.wast index 7ddda24a0..76f12a70b 100644 --- a/test/lit/passes/avoid-reinterprets64.wast +++ b/test/lit/passes/avoid-reinterprets64.wast @@ -5,9 +5,9 @@ (module (memory i64 1) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (type $none_=>_f32 (func (result f32))) + ;; CHECK: (type $1 (func (result f32))) ;; CHECK: (memory $0 i64 1) diff --git a/test/lit/passes/catch-pop-fixup-eh.wast b/test/lit/passes/catch-pop-fixup-eh.wast index f50a21a05..685a07685 100644 --- a/test/lit/passes/catch-pop-fixup-eh.wast +++ b/test/lit/passes/catch-pop-fixup-eh.wast @@ -17,7 +17,7 @@ ;; CHECK: (tag $e-struct.A (param (ref $struct.A))) (tag $e-struct.A (param (ref $struct.A))) - ;; CHECK: (func $pop-within-block1 (type $none_=>_none) + ;; CHECK: (func $pop-within-block1 (type $0) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (try $try ;; CHECK-NEXT: (do @@ -49,7 +49,7 @@ ) ) - ;; CHECK: (func $pop-within-block2 (type $none_=>_none) + ;; CHECK: (func $pop-within-block2 (type $0) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (try $try ;; CHECK-NEXT: (do @@ -97,7 +97,7 @@ ) ) - ;; CHECK: (func $pop-within-block3 (type $none_=>_i32) (result i32) + ;; CHECK: (func $pop-within-block3 (type $1) (result i32) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (try $try (result i32) ;; CHECK-NEXT: (do @@ -138,11 +138,11 @@ ) ) - ;; CHECK: (func $helper (type $none_=>_none) + ;; CHECK: (func $helper (type $0) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $helper) - ;; CHECK: (func $pop-within-implicit-block1 (type $none_=>_none) + ;; CHECK: (func $pop-within-implicit-block1 (type $0) ;; CHECK-NEXT: (try $try ;; CHECK-NEXT: (do ;; CHECK-NEXT: (nop) @@ -171,7 +171,7 @@ ) ) - ;; CHECK: (func $pop-within-implicit-block2 (type $none_=>_none) + ;; CHECK: (func $pop-within-implicit-block2 (type $0) ;; CHECK-NEXT: (try $try ;; CHECK-NEXT: (do ;; CHECK-NEXT: (nop) @@ -202,7 +202,7 @@ ) ) - ;; CHECK: (func $pop-within-try (type $none_=>_i32) (result i32) + ;; CHECK: (func $pop-within-try (type $1) (result i32) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (try $try (result i32) ;; CHECK-NEXT: (do @@ -242,7 +242,7 @@ ) ) - ;; CHECK: (func $pop-within-if-condition (type $none_=>_i32) (result i32) + ;; CHECK: (func $pop-within-if-condition (type $1) (result i32) ;; CHECK-NEXT: (try $try (result i32) ;; CHECK-NEXT: (do ;; CHECK-NEXT: (i32.const 0) @@ -273,7 +273,7 @@ ) ) - ;; CHECK: (func $pop-within-block-within-if-condition (type $none_=>_none) + ;; CHECK: (func $pop-within-block-within-if-condition (type $0) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (try $try ;; CHECK-NEXT: (do @@ -317,7 +317,7 @@ ) ) - ;; CHECK: (func $pop-tuple-within-block (type $none_=>_none) + ;; CHECK: (func $pop-tuple-within-block (type $0) ;; CHECK-NEXT: (local $x (i32 f32)) ;; CHECK-NEXT: (local $1 (i32 f32)) ;; CHECK-NEXT: (try $try @@ -354,7 +354,7 @@ ) ) - ;; CHECK: (func $pop-non-defaultable-type-within-block (type $none_=>_none) + ;; CHECK: (func $pop-non-defaultable-type-within-block (type $0) ;; CHECK-NEXT: (local $0 (ref $struct.A)) ;; CHECK-NEXT: (try $try ;; CHECK-NEXT: (do diff --git a/test/lit/passes/cfp.wast b/test/lit/passes/cfp.wast index 80fdb5eb2..d49c8b755 100644 --- a/test/lit/passes/cfp.wast +++ b/test/lit/passes/cfp.wast @@ -6,11 +6,11 @@ ;; name getting in the way) (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (type $struct (struct (field i32))) (type $struct (struct i32)) - ;; CHECK: (func $impossible-get (type $none_=>_none) + ;; CHECK: (func $impossible-get (type $0) ;; CHECK-NEXT: (local $struct (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block @@ -36,9 +36,9 @@ (module ;; CHECK: (type $struct (struct (field i64))) (type $struct (struct i64)) - ;; CHECK: (type $ref?|$struct|_=>_none (func (param (ref null $struct)))) + ;; CHECK: (type $1 (func (param (ref null $struct)))) - ;; CHECK: (func $test (type $ref?|$struct|_=>_none) (param $struct (ref null $struct)) + ;; CHECK: (func $test (type $1) (param $struct (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new_default $struct) ;; CHECK-NEXT: ) @@ -75,9 +75,9 @@ (module ;; CHECK: (type $struct (struct (field f32))) (type $struct (struct f32)) - ;; CHECK: (type $ref?|$struct|_=>_none (func (param (ref null $struct)))) + ;; CHECK: (type $1 (func (param (ref null $struct)))) - ;; CHECK: (func $test (type $ref?|$struct|_=>_none) (param $struct (ref null $struct)) + ;; CHECK: (func $test (type $1) (param $struct (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $struct ;; CHECK-NEXT: (f32.const 42) @@ -113,9 +113,9 @@ (module ;; CHECK: (type $struct (struct (field f32))) (type $struct (struct f32)) - ;; CHECK: (type $f32_ref?|$struct|_=>_none (func (param f32 (ref null $struct)))) + ;; CHECK: (type $1 (func (param f32 (ref null $struct)))) - ;; CHECK: (func $test (type $f32_ref?|$struct|_=>_none) (param $f f32) (param $struct (ref null $struct)) + ;; CHECK: (func $test (type $1) (param $f f32) (param $struct (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $struct ;; CHECK-NEXT: (local.get $f) @@ -147,11 +147,11 @@ (module ;; CHECK: (type $struct (struct (field i32))) (type $struct (struct i32)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) - ;; CHECK: (type $ref?|$struct|_=>_none (func (param (ref null $struct)))) + ;; CHECK: (type $2 (func (param (ref null $struct)))) - ;; CHECK: (func $create (type $none_=>_none) + ;; CHECK: (func $create (type $1) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $struct ;; CHECK-NEXT: (i32.const 10) @@ -165,7 +165,7 @@ ) ) ) - ;; CHECK: (func $get (type $ref?|$struct|_=>_none) (param $struct (ref null $struct)) + ;; CHECK: (func $get (type $2) (param $struct (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (drop @@ -192,11 +192,11 @@ ;; CHECK: (type $struct (struct (field i32))) (type $struct (struct i32)) - ;; CHECK: (type $ref?|$struct|_=>_none (func (param (ref null $struct)))) + ;; CHECK: (type $1 (func (param (ref null $struct)))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $2 (func)) - ;; CHECK: (func $get (type $ref?|$struct|_=>_none) (param $struct (ref null $struct)) + ;; CHECK: (func $get (type $1) (param $struct (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (drop @@ -216,7 +216,7 @@ ) ) - ;; CHECK: (func $create (type $none_=>_none) + ;; CHECK: (func $create (type $2) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $struct ;; CHECK-NEXT: (i32.const 10) @@ -237,9 +237,9 @@ (module ;; CHECK: (type $struct (struct (field f32))) (type $struct (struct f32)) - ;; CHECK: (type $ref?|$struct|_=>_none (func (param (ref null $struct)))) + ;; CHECK: (type $1 (func (param (ref null $struct)))) - ;; CHECK: (func $test (type $ref?|$struct|_=>_none) (param $struct (ref null $struct)) + ;; CHECK: (func $test (type $1) (param $struct (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $struct ;; CHECK-NEXT: (f32.const 42) @@ -279,11 +279,11 @@ (module ;; CHECK: (type $struct (struct (field (mut f32)))) (type $struct (struct (mut f32))) - ;; CHECK: (type $ref?|$struct|_=>_none (func (param (ref null $struct)))) + ;; CHECK: (type $1 (func (param (ref null $struct)))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $2 (func)) - ;; CHECK: (func $create (type $none_=>_none) + ;; CHECK: (func $create (type $2) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $struct ;; CHECK-NEXT: (f32.const 42) @@ -297,7 +297,7 @@ ) ) ) - ;; CHECK: (func $set (type $ref?|$struct|_=>_none) (param $struct (ref null $struct)) + ;; CHECK: (func $set (type $1) (param $struct (ref null $struct)) ;; CHECK-NEXT: (struct.set $struct 0 ;; CHECK-NEXT: (local.get $struct) ;; CHECK-NEXT: (f32.const 1337) @@ -309,7 +309,7 @@ (f32.const 1337) ) ) - ;; CHECK: (func $get (type $ref?|$struct|_=>_none) (param $struct (ref null $struct)) + ;; CHECK: (func $get (type $1) (param $struct (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.get $struct 0 ;; CHECK-NEXT: (local.get $struct) @@ -330,11 +330,11 @@ (module ;; CHECK: (type $struct (struct (field (mut f32)))) (type $struct (struct (mut f32))) - ;; CHECK: (type $ref?|$struct|_=>_none (func (param (ref null $struct)))) + ;; CHECK: (type $1 (func (param (ref null $struct)))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $2 (func)) - ;; CHECK: (func $create (type $none_=>_none) + ;; CHECK: (func $create (type $2) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $struct ;; CHECK-NEXT: (f32.const 42) @@ -348,7 +348,7 @@ ) ) ) - ;; CHECK: (func $set (type $ref?|$struct|_=>_none) (param $struct (ref null $struct)) + ;; CHECK: (func $set (type $1) (param $struct (ref null $struct)) ;; CHECK-NEXT: (struct.set $struct 0 ;; CHECK-NEXT: (local.get $struct) ;; CHECK-NEXT: (f32.const 42) @@ -360,7 +360,7 @@ (f32.const 42) ;; The last testcase had 1337 here. ) ) - ;; CHECK: (func $get (type $ref?|$struct|_=>_none) (param $struct (ref null $struct)) + ;; CHECK: (func $get (type $1) (param $struct (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result f32) ;; CHECK-NEXT: (drop @@ -385,13 +385,13 @@ (module ;; CHECK: (type $struct (struct (field (mut f32)))) (type $struct (struct (mut f32))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) - ;; CHECK: (type $i32_ref?|$struct|_=>_none (func (param i32 (ref null $struct)))) + ;; CHECK: (type $2 (func (param i32 (ref null $struct)))) - ;; CHECK: (type $ref?|$struct|_=>_none (func (param (ref null $struct)))) + ;; CHECK: (type $3 (func (param (ref null $struct)))) - ;; CHECK: (func $create (type $none_=>_none) + ;; CHECK: (func $create (type $1) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $struct ;; CHECK-NEXT: (block (result f32) @@ -412,7 +412,7 @@ ) ) ) - ;; CHECK: (func $set (type $i32_ref?|$struct|_=>_none) (param $x i32) (param $struct (ref null $struct)) + ;; CHECK: (func $set (type $2) (param $x i32) (param $struct (ref null $struct)) ;; CHECK-NEXT: (struct.set $struct 0 ;; CHECK-NEXT: (local.get $struct) ;; CHECK-NEXT: (if (result f32) @@ -433,7 +433,7 @@ ) ) ) - ;; CHECK: (func $get (type $ref?|$struct|_=>_none) (param $struct (ref null $struct)) + ;; CHECK: (func $get (type $3) (param $struct (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result f32) ;; CHECK-NEXT: (drop @@ -458,18 +458,18 @@ (module ;; CHECK: (type $struct (struct (field funcref))) (type $struct (struct funcref)) - ;; CHECK: (type $ref?|$struct|_=>_none (func (param (ref null $struct)))) + ;; CHECK: (type $1 (func (param (ref null $struct)))) ;; CHECK: (elem declare func $test) - ;; CHECK: (func $test (type $ref?|$struct|_=>_none) (param $struct (ref null $struct)) + ;; CHECK: (func $test (type $1) (param $struct (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $struct ;; CHECK-NEXT: (ref.func $test) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (block (result (ref $ref?|$struct|_=>_none)) + ;; CHECK-NEXT: (block (result (ref $1)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.as_non_null ;; CHECK-NEXT: (local.get $struct) @@ -496,9 +496,9 @@ ;; Test for unreachable creations, sets, and gets. (module (type $struct (struct (mut i32))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (func $test (type $none_=>_none) + ;; CHECK: (func $test (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block ;; (replaces something unreachable we can't emit) ;; CHECK-NEXT: (drop @@ -547,16 +547,16 @@ ;; subtype, the get must trap anyhow (the reference it receives can ;; only be null in this closed world). (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (type $struct (struct (field i32))) (type $struct (struct i32)) ;; CHECK: (type $substruct (sub $struct (struct (field i32)))) (type $substruct (struct_subtype i32 $struct)) - ;; CHECK: (type $ref?|$substruct|_=>_none (func (param (ref null $substruct)))) + ;; CHECK: (type $3 (func (param (ref null $substruct)))) - ;; CHECK: (func $create (type $none_=>_none) + ;; CHECK: (func $create (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $struct ;; CHECK-NEXT: (i32.const 10) @@ -570,7 +570,7 @@ ) ) ) - ;; CHECK: (func $get (type $ref?|$substruct|_=>_none) (param $substruct (ref null $substruct)) + ;; CHECK: (func $get (type $3) (param $substruct (ref null $substruct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block ;; CHECK-NEXT: (drop @@ -596,14 +596,14 @@ (module ;; CHECK: (type $struct (struct (field (mut i32)))) (type $struct (struct (mut i32))) - ;; CHECK: (type $ref?|$struct|_=>_none (func (param (ref null $struct)))) + ;; CHECK: (type $1 (func (param (ref null $struct)))) ;; CHECK: (type $substruct (sub $struct (struct (field (mut i32))))) (type $substruct (struct_subtype (mut i32) $struct)) - ;; CHECK: (type $ref?|$substruct|_=>_none (func (param (ref null $substruct)))) + ;; CHECK: (type $3 (func (param (ref null $substruct)))) - ;; CHECK: (func $create (type $ref?|$struct|_=>_none) (param $struct (ref null $struct)) + ;; CHECK: (func $create (type $1) (param $struct (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $struct ;; CHECK-NEXT: (i32.const 10) @@ -625,7 +625,7 @@ (i32.const 10) ) ) - ;; CHECK: (func $get (type $ref?|$substruct|_=>_none) (param $substruct (ref null $substruct)) + ;; CHECK: (func $get (type $3) (param $substruct (ref null $substruct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (drop @@ -650,7 +650,7 @@ ;; reference to the subtype (we never create a supertype) and so we ;; can optimize. (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (type $struct (struct (field i32))) (type $struct (struct i32)) @@ -658,9 +658,9 @@ ;; CHECK: (type $substruct (sub $struct (struct (field i32) (field f64)))) (type $substruct (struct_subtype i32 f64 $struct)) - ;; CHECK: (type $ref?|$struct|_=>_none (func (param (ref null $struct)))) + ;; CHECK: (type $3 (func (param (ref null $struct)))) - ;; CHECK: (func $create (type $none_=>_none) + ;; CHECK: (func $create (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $substruct ;; CHECK-NEXT: (i32.const 10) @@ -676,7 +676,7 @@ ) ) ) - ;; CHECK: (func $get (type $ref?|$struct|_=>_none) (param $struct (ref null $struct)) + ;; CHECK: (func $get (type $3) (param $struct (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (drop @@ -702,14 +702,14 @@ (module ;; CHECK: (type $struct (struct (field i32))) (type $struct (struct i32)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) ;; CHECK: (type $substruct (sub $struct (struct (field i32) (field f64)))) (type $substruct (struct_subtype i32 f64 $struct)) - ;; CHECK: (type $ref?|$struct|_=>_none (func (param (ref null $struct)))) + ;; CHECK: (type $3 (func (param (ref null $struct)))) - ;; CHECK: (func $create (type $none_=>_none) + ;; CHECK: (func $create (type $1) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $struct ;; CHECK-NEXT: (i32.const 10) @@ -735,7 +735,7 @@ ) ) ) - ;; CHECK: (func $get (type $ref?|$struct|_=>_none) (param $struct (ref null $struct)) + ;; CHECK: (func $get (type $3) (param $struct (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (drop @@ -762,14 +762,14 @@ (module ;; CHECK: (type $struct (struct (field i32))) (type $struct (struct i32)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) ;; CHECK: (type $substruct (sub $struct (struct (field i32) (field f64)))) (type $substruct (struct_subtype i32 f64 $struct)) - ;; CHECK: (type $ref?|$struct|_=>_none (func (param (ref null $struct)))) + ;; CHECK: (type $3 (func (param (ref null $struct)))) - ;; CHECK: (func $create (type $none_=>_none) + ;; CHECK: (func $create (type $1) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $struct ;; CHECK-NEXT: (i32.const 10) @@ -795,7 +795,7 @@ ) ) ) - ;; CHECK: (func $get (type $ref?|$struct|_=>_none) (param $struct (ref null $struct)) + ;; CHECK: (func $get (type $3) (param $struct (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.get $struct 0 ;; CHECK-NEXT: (local.get $struct) @@ -823,11 +823,11 @@ ;; CHECK: (type $substruct (sub $struct (struct (field i32) (field f64)))) (type $substruct (struct_subtype i32 f64 $struct)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $2 (func)) - ;; CHECK: (type $ref?|$substruct|_=>_none (func (param (ref null $substruct)))) + ;; CHECK: (type $3 (func (param (ref null $substruct)))) - ;; CHECK: (func $create (type $none_=>_none) + ;; CHECK: (func $create (type $2) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $struct ;; CHECK-NEXT: (i32.const 10) @@ -853,7 +853,7 @@ ) ) ) - ;; CHECK: (func $get (type $ref?|$substruct|_=>_none) (param $substruct (ref null $substruct)) + ;; CHECK: (func $get (type $3) (param $substruct (ref null $substruct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (drop @@ -882,11 +882,11 @@ ;; CHECK: (type $substruct (sub $struct (struct (field (mut i32)) (field f64)))) (type $substruct (struct_subtype (mut i32) f64 $struct)) - ;; CHECK: (type $ref?|$struct|_=>_none (func (param (ref null $struct)))) + ;; CHECK: (type $2 (func (param (ref null $struct)))) - ;; CHECK: (type $ref?|$substruct|_=>_none (func (param (ref null $substruct)))) + ;; CHECK: (type $3 (func (param (ref null $substruct)))) - ;; CHECK: (func $create (type $ref?|$struct|_=>_none) (param $struct (ref null $struct)) + ;; CHECK: (func $create (type $2) (param $struct (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $struct ;; CHECK-NEXT: (i32.const 10) @@ -920,7 +920,7 @@ ) ) ) - ;; CHECK: (func $get (type $ref?|$substruct|_=>_none) (param $substruct (ref null $substruct)) + ;; CHECK: (func $get (type $3) (param $substruct (ref null $substruct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.get $substruct 0 ;; CHECK-NEXT: (local.get $substruct) @@ -948,11 +948,11 @@ ;; CHECK: (type $struct3 (sub $struct2 (struct (field i32) (field f64) (field anyref)))) (type $struct3 (struct_subtype i32 f64 anyref $struct2)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $3 (func)) - ;; CHECK: (type $ref?|$struct1|_ref?|$struct2|_ref?|$struct3|_=>_none (func (param (ref null $struct1) (ref null $struct2) (ref null $struct3)))) + ;; CHECK: (type $4 (func (param (ref null $struct1) (ref null $struct2) (ref null $struct3)))) - ;; CHECK: (func $create (type $none_=>_none) + ;; CHECK: (func $create (type $3) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $struct3 ;; CHECK-NEXT: (i32.const 20) @@ -970,7 +970,7 @@ ) ) ) - ;; CHECK: (func $get (type $ref?|$struct1|_ref?|$struct2|_ref?|$struct3|_=>_none) (param $struct1 (ref null $struct1)) (param $struct2 (ref null $struct2)) (param $struct3 (ref null $struct3)) + ;; CHECK: (func $get (type $4) (param $struct1 (ref null $struct1)) (param $struct2 (ref null $struct2)) (param $struct3 (ref null $struct3)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (drop @@ -1083,11 +1083,11 @@ ;; CHECK: (type $struct3 (sub $struct2 (struct (field i32) (field i32) (field f64) (field f64) (field anyref) (field anyref)))) (type $struct3 (struct_subtype i32 i32 f64 f64 anyref anyref $struct2)) - ;; CHECK: (type $anyref_=>_none (func (param anyref))) + ;; CHECK: (type $3 (func (param anyref))) - ;; CHECK: (type $ref?|$struct1|_ref?|$struct2|_ref?|$struct3|_=>_none (func (param (ref null $struct1) (ref null $struct2) (ref null $struct3)))) + ;; CHECK: (type $4 (func (param (ref null $struct1) (ref null $struct2) (ref null $struct3)))) - ;; CHECK: (func $create (type $anyref_=>_none) (param $any anyref) + ;; CHECK: (func $create (type $3) (param $any anyref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $struct1 ;; CHECK-NEXT: (i32.const 10) @@ -1124,7 +1124,7 @@ ) ) ) - ;; CHECK: (func $get (type $ref?|$struct1|_ref?|$struct2|_ref?|$struct3|_=>_none) (param $struct1 (ref null $struct1)) (param $struct2 (ref null $struct2)) (param $struct3 (ref null $struct3)) + ;; CHECK: (func $get (type $4) (param $struct1 (ref null $struct1)) (param $struct2 (ref null $struct2)) (param $struct3 (ref null $struct3)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (drop @@ -1311,11 +1311,11 @@ ;; CHECK: (type $struct3 (sub $struct2 (struct (field (mut i32)) (field f64) (field anyref)))) (type $struct3 (struct_subtype (mut i32) f64 anyref $struct2)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $3 (func)) - ;; CHECK: (type $ref?|$struct1|_ref?|$struct2|_ref?|$struct3|_=>_none (func (param (ref null $struct1) (ref null $struct2) (ref null $struct3)))) + ;; CHECK: (type $4 (func (param (ref null $struct1) (ref null $struct2) (ref null $struct3)))) - ;; CHECK: (func $create (type $none_=>_none) + ;; CHECK: (func $create (type $3) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $struct1 ;; CHECK-NEXT: (i32.const 10) @@ -1355,7 +1355,7 @@ ) ) ) - ;; CHECK: (func $get (type $ref?|$struct1|_ref?|$struct2|_ref?|$struct3|_=>_none) (param $struct1 (ref null $struct1)) (param $struct2 (ref null $struct2)) (param $struct3 (ref null $struct3)) + ;; CHECK: (func $get (type $4) (param $struct1 (ref null $struct1)) (param $struct2 (ref null $struct2)) (param $struct3 (ref null $struct3)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.get $struct1 0 ;; CHECK-NEXT: (local.get $struct1) @@ -1410,11 +1410,11 @@ ;; CHECK: (type $struct3 (sub $struct2 (struct (field (mut i32)) (field f64) (field anyref)))) (type $struct3 (struct_subtype (mut i32) f64 anyref $struct2)) - ;; CHECK: (type $ref?|$struct2|_=>_none (func (param (ref null $struct2)))) + ;; CHECK: (type $3 (func (param (ref null $struct2)))) - ;; CHECK: (type $ref?|$struct1|_ref?|$struct2|_ref?|$struct3|_=>_none (func (param (ref null $struct1) (ref null $struct2) (ref null $struct3)))) + ;; CHECK: (type $4 (func (param (ref null $struct1) (ref null $struct2) (ref null $struct3)))) - ;; CHECK: (func $create (type $ref?|$struct2|_=>_none) (param $struct2 (ref null $struct2)) + ;; CHECK: (func $create (type $3) (param $struct2 (ref null $struct2)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $struct1 ;; CHECK-NEXT: (i32.const 10) @@ -1463,7 +1463,7 @@ ) ) ) - ;; CHECK: (func $get (type $ref?|$struct1|_ref?|$struct2|_ref?|$struct3|_=>_none) (param $struct1 (ref null $struct1)) (param $struct2 (ref null $struct2)) (param $struct3 (ref null $struct3)) + ;; CHECK: (func $get (type $4) (param $struct1 (ref null $struct1)) (param $struct2 (ref null $struct2)) (param $struct3 (ref null $struct3)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.get $struct1 0 ;; CHECK-NEXT: (local.get $struct1) @@ -1506,11 +1506,11 @@ ;; CHECK: (type $struct (struct (field i32) (field f64) (field i32) (field f64) (field i32))) (type $struct (struct i32 f64 i32 f64 i32)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) - ;; CHECK: (type $ref?|$struct|_=>_none (func (param (ref null $struct)))) + ;; CHECK: (type $2 (func (param (ref null $struct)))) - ;; CHECK: (func $create (type $none_=>_none) + ;; CHECK: (func $create (type $1) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $struct ;; CHECK-NEXT: (i32.eqz @@ -1536,7 +1536,7 @@ ) ) ) - ;; CHECK: (func $get (type $ref?|$struct|_=>_none) (param $struct (ref null $struct)) + ;; CHECK: (func $get (type $2) (param $struct (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.get $struct 0 ;; CHECK-NEXT: (local.get $struct) @@ -1636,13 +1636,13 @@ ;; CHECK: (type $C (sub $B (struct (field (mut i32))))) (type $C (struct_subtype (mut i32) $B)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $3 (func)) - ;; CHECK: (type $ref|$A|_=>_none (func (param (ref $A)))) + ;; CHECK: (type $4 (func (param (ref $A)))) - ;; CHECK: (type $ref|$C|_=>_none (func (param (ref $C)))) + ;; CHECK: (type $5 (func (param (ref $C)))) - ;; CHECK: (func $create (type $none_=>_none) + ;; CHECK: (func $create (type $3) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $C ;; CHECK-NEXT: (i32.const 10) @@ -1656,7 +1656,7 @@ ) ) ) - ;; CHECK: (func $set (type $ref|$A|_=>_none) (param $a (ref $A)) + ;; CHECK: (func $set (type $4) (param $a (ref $A)) ;; CHECK-NEXT: (struct.set $A 0 ;; CHECK-NEXT: (local.get $a) ;; CHECK-NEXT: (i32.const 20) @@ -1668,7 +1668,7 @@ (i32.const 20) ) ) - ;; CHECK: (func $get (type $ref|$C|_=>_none) (param $c (ref $C)) + ;; CHECK: (func $get (type $5) (param $c (ref $C)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.get $C 0 ;; CHECK-NEXT: (local.get $c) @@ -1690,9 +1690,9 @@ ;; CHECK: (type $struct (struct (field (mut i32)))) (type $struct (struct (mut i32))) - ;; CHECK: (type $ref?|$struct|_ref?|$struct|_=>_none (func (param (ref null $struct) (ref null $struct)))) + ;; CHECK: (type $1 (func (param (ref null $struct) (ref null $struct)))) - ;; CHECK: (func $test (type $ref?|$struct|_ref?|$struct|_=>_none) (param $struct (ref null $struct)) (param $other (ref null $struct)) + ;; CHECK: (func $test (type $1) (param $struct (ref null $struct)) (param $other (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new_default $struct) ;; CHECK-NEXT: ) @@ -1746,9 +1746,9 @@ ;; CHECK: (type $other (struct (field (mut f64)) (field (mut i32)))) (type $other (struct (mut f64) (mut i32))) - ;; CHECK: (type $ref?|$struct|_ref?|$other|_=>_none (func (param (ref null $struct) (ref null $other)))) + ;; CHECK: (type $2 (func (param (ref null $struct) (ref null $other)))) - ;; CHECK: (func $test (type $ref?|$struct|_ref?|$other|_=>_none) (param $struct (ref null $struct)) (param $other (ref null $other)) + ;; CHECK: (func $test (type $2) (param $struct (ref null $struct)) (param $other (ref null $other)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new_default $struct) ;; CHECK-NEXT: ) @@ -1791,9 +1791,9 @@ ;; CHECK: (type $struct (struct (field (mut i32)) (field (mut i32)))) (type $struct (struct (mut i32) (mut i32))) - ;; CHECK: (type $ref?|$struct|_=>_none (func (param (ref null $struct)))) + ;; CHECK: (type $1 (func (param (ref null $struct)))) - ;; CHECK: (func $test (type $ref?|$struct|_=>_none) (param $struct (ref null $struct)) + ;; CHECK: (func $test (type $1) (param $struct (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new_default $struct) ;; CHECK-NEXT: ) @@ -1837,12 +1837,12 @@ ;; CHECK: (type $struct (struct (field i32))) (type $struct (struct i32)) - ;; CHECK: (type $ref?|$struct|_=>_none (func (param (ref null $struct)))) + ;; CHECK: (type $1 (func (param (ref null $struct)))) ;; CHECK: (global $global i32 (i32.const 42)) (global $global i32 (i32.const 42)) - ;; CHECK: (func $test (type $ref?|$struct|_=>_none) (param $struct (ref null $struct)) + ;; CHECK: (func $test (type $1) (param $struct (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $struct ;; CHECK-NEXT: (global.get $global) @@ -1879,12 +1879,12 @@ ;; CHECK: (type $struct (struct (field i32))) (type $struct (struct i32)) - ;; CHECK: (type $ref?|$struct|_=>_none (func (param (ref null $struct)))) + ;; CHECK: (type $1 (func (param (ref null $struct)))) ;; CHECK: (global $global (mut i32) (i32.const 42)) (global $global (mut i32) (i32.const 42)) - ;; CHECK: (func $test (type $ref?|$struct|_=>_none) (param $struct (ref null $struct)) + ;; CHECK: (func $test (type $1) (param $struct (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $struct ;; CHECK-NEXT: (global.get $global) @@ -1915,12 +1915,12 @@ ;; CHECK: (type $struct (struct (field (mut i32)))) (type $struct (struct (mut i32))) - ;; CHECK: (type $ref?|$struct|_=>_none (func (param (ref null $struct)))) + ;; CHECK: (type $1 (func (param (ref null $struct)))) ;; CHECK: (global $global i32 (i32.const 42)) (global $global i32 (i32.const 42)) - ;; CHECK: (func $test (type $ref?|$struct|_=>_none) (param $struct (ref null $struct)) + ;; CHECK: (func $test (type $1) (param $struct (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $struct ;; CHECK-NEXT: (global.get $global) @@ -1966,14 +1966,14 @@ ;; CHECK: (type $struct (struct (field (mut i32)))) (type $struct (struct (mut i32))) - ;; CHECK: (type $ref?|$struct|_=>_none (func (param (ref null $struct)))) + ;; CHECK: (type $1 (func (param (ref null $struct)))) ;; CHECK: (global $global i32 (i32.const 42)) (global $global i32 (i32.const 42)) ;; CHECK: (global $global-2 i32 (i32.const 1337)) (global $global-2 i32 (i32.const 1337)) - ;; CHECK: (func $test (type $ref?|$struct|_=>_none) (param $struct (ref null $struct)) + ;; CHECK: (func $test (type $1) (param $struct (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $struct ;; CHECK-NEXT: (global.get $global) @@ -2012,14 +2012,14 @@ ;; CHECK: (type $struct (struct (field (mut i32)))) (type $struct (struct (mut i32))) - ;; CHECK: (type $ref?|$struct|_=>_none (func (param (ref null $struct)))) + ;; CHECK: (type $1 (func (param (ref null $struct)))) ;; CHECK: (global $global i32 (i32.const 42)) (global $global i32 (i32.const 42)) ;; CHECK: (global $global-2 i32 (i32.const 1337)) (global $global-2 i32 (i32.const 1337)) - ;; CHECK: (func $test (type $ref?|$struct|_=>_none) (param $struct (ref null $struct)) + ;; CHECK: (func $test (type $1) (param $struct (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $struct ;; CHECK-NEXT: (global.get $global) @@ -2068,7 +2068,7 @@ ;; CHECK: (type $object (struct (field $itable (ref $itable)))) (type $object (struct (field $itable (ref $itable)))) - ;; CHECK: (type $ref?|$object|_=>_funcref (func (param (ref null $object)) (result funcref))) + ;; CHECK: (type $3 (func (param (ref null $object)) (result funcref))) ;; CHECK: (global $global (ref $itable) (array.new_fixed $itable 2 ;; CHECK-NEXT: (struct.new $vtable @@ -2087,7 +2087,7 @@ ) )) - ;; CHECK: (func $test (type $ref?|$object|_=>_funcref) (param $object (ref null $object)) (result funcref) + ;; CHECK: (func $test (type $3) (param $object (ref null $object)) (result funcref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $object ;; CHECK-NEXT: (global.get $global) @@ -2133,7 +2133,7 @@ ;; Test we handle packed fields properly. (module (rec - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (rec ;; CHECK-NEXT: (type $A_8 (struct (field i8))) @@ -2147,7 +2147,7 @@ ;; CHECK: (import "a" "b" (global $g i32)) (import "a" "b" (global $g i32)) - ;; CHECK: (func $test (type $none_=>_none) + ;; CHECK: (func $test (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (drop @@ -2232,9 +2232,9 @@ (type $B (struct_subtype (field (mut i32)) $A)) ) - ;; CHECK: (type $i32_=>_i32 (func (param i32) (result i32))) + ;; CHECK: (type $2 (func (param i32) (result i32))) - ;; CHECK: (func $test (type $i32_=>_i32) (param $0 i32) (result i32) + ;; CHECK: (func $test (type $2) (param $0 i32) (result i32) ;; CHECK-NEXT: (local $A (ref $A)) ;; CHECK-NEXT: (local $B (ref $B)) ;; CHECK-NEXT: (struct.set $A 0 diff --git a/test/lit/passes/coalesce-locals-eh.wast b/test/lit/passes/coalesce-locals-eh.wast index 3f94924a1..16b4db40a 100644 --- a/test/lit/passes/coalesce-locals-eh.wast +++ b/test/lit/passes/coalesce-locals-eh.wast @@ -4,7 +4,7 @@ (module ;; CHECK: (tag $e (param)) - ;; CHECK: (func $bar (type $none_=>_i32) (result i32) + ;; CHECK: (func $bar (type $1) (result i32) ;; CHECK-NEXT: (i32.const 1984) ;; CHECK-NEXT: ) (func $bar (result i32) @@ -12,7 +12,7 @@ ) (tag $e) - ;; CHECK: (func $bug-cfg-traversal (type $i32_=>_i32) (param $0 i32) (result i32) + ;; CHECK: (func $bug-cfg-traversal (type $2) (param $0 i32) (result i32) ;; CHECK-NEXT: (try $try ;; CHECK-NEXT: (do ;; CHECK-NEXT: (local.set $0 diff --git a/test/lit/passes/coalesce-locals-gc-nn.wast b/test/lit/passes/coalesce-locals-gc-nn.wast index 438759dc3..32a34e016 100644 --- a/test/lit/passes/coalesce-locals-gc-nn.wast +++ b/test/lit/passes/coalesce-locals-gc-nn.wast @@ -3,7 +3,7 @@ ;; RUN: | filecheck %s (module - ;; CHECK: (func $nn-locals (type $ref|any|_=>_none) (param $0 (ref any)) + ;; CHECK: (func $nn-locals (type $0) (param $0 (ref any)) ;; CHECK-NEXT: (local $1 ((ref any) (ref any))) ;; CHECK-NEXT: (local $2 ((ref any) (ref any))) ;; CHECK-NEXT: (local.set $1 @@ -82,7 +82,7 @@ ) ) - ;; CHECK: (func $unreachable-get-of-non-nullable (type $none_=>_none) + ;; CHECK: (func $unreachable-get-of-non-nullable (type $1) ;; CHECK-NEXT: (local $0 (ref any)) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (drop diff --git a/test/lit/passes/coalesce-locals-gc.wast b/test/lit/passes/coalesce-locals-gc.wast index 55574bfe4..ae639c7f9 100644 --- a/test/lit/passes/coalesce-locals-gc.wast +++ b/test/lit/passes/coalesce-locals-gc.wast @@ -21,7 +21,7 @@ ;; CHECK: (global $global (ref null $array) (ref.null none)) (global $global (ref null $array) (ref.null $array)) - ;; CHECK: (func $test-dead-get-non-nullable (type $ref|struct|_=>_none) (param $0 (ref struct)) + ;; CHECK: (func $test-dead-get-non-nullable (type $5) (param $0 (ref struct)) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result (ref struct)) @@ -39,7 +39,7 @@ ) ) - ;; CHECK: (func $br_on_null (type $ref?|$array|_=>_ref?|$array|) (param $0 (ref null $array)) (result (ref null $array)) + ;; CHECK: (func $br_on_null (type $6) (param $0 (ref null $array)) (result (ref null $array)) ;; CHECK-NEXT: (block $label$1 (result (ref null $array)) ;; CHECK-NEXT: (block $label$2 ;; CHECK-NEXT: (br $label$1 @@ -75,7 +75,7 @@ ) ) - ;; CHECK: (func $nn-dead (type $none_=>_none) + ;; CHECK: (func $nn-dead (type $2) ;; CHECK-NEXT: (local $0 funcref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.func $nn-dead) @@ -114,7 +114,7 @@ ) ) - ;; CHECK: (func $nn-dead-nameless (type $none_=>_none) + ;; CHECK: (func $nn-dead-nameless (type $2) ;; CHECK-NEXT: (local $0 (ref func)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.func $nn-dead) @@ -145,7 +145,7 @@ ) ) - ;; CHECK: (func $unreachable-get-null (type $none_=>_none) + ;; CHECK: (func $unreachable-get-null (type $2) ;; CHECK-NEXT: (local $0 anyref) ;; CHECK-NEXT: (local $1 i31ref) ;; CHECK-NEXT: (unreachable) @@ -176,7 +176,7 @@ ) ) - ;; CHECK: (func $remove-tee-refinalize (type $ref?|$A|_ref?|$B|_=>_structref) (param $0 (ref null $A)) (param $1 (ref null $B)) (result structref) + ;; CHECK: (func $remove-tee-refinalize (type $4) (param $0 (ref null $A)) (param $1 (ref null $B)) (result structref) ;; CHECK-NEXT: (struct.get $A 0 ;; CHECK-NEXT: (block (result (ref null $A)) ;; CHECK-NEXT: (local.get $1) @@ -197,7 +197,7 @@ ) ) - ;; CHECK: (func $remove-tee-refinalize-2 (type $ref?|$A|_ref?|$B|_=>_structref) (param $0 (ref null $A)) (param $1 (ref null $B)) (result structref) + ;; CHECK: (func $remove-tee-refinalize-2 (type $4) (param $0 (ref null $A)) (param $1 (ref null $B)) (result structref) ;; CHECK-NEXT: (struct.get $A 0 ;; CHECK-NEXT: (block (result (ref null $A)) ;; CHECK-NEXT: (local.get $1) @@ -219,7 +219,7 @@ ) ) - ;; CHECK: (func $replace-i31-local (type $none_=>_i32) (result i32) + ;; CHECK: (func $replace-i31-local (type $7) (result i32) ;; CHECK-NEXT: (local $0 i31ref) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (unreachable) @@ -251,7 +251,7 @@ ) ) - ;; CHECK: (func $replace-struct-param (type $f64_ref?|$A|_=>_f32) (param $0 f64) (param $1 (ref null $A)) (result f32) + ;; CHECK: (func $replace-struct-param (type $8) (param $0 f64) (param $1 (ref null $A)) (result f32) ;; CHECK-NEXT: (call $replace-struct-param ;; CHECK-NEXT: (block (result f64) ;; CHECK-NEXT: (unreachable) diff --git a/test/lit/passes/coalesce-locals.wast b/test/lit/passes/coalesce-locals.wast index 96947c07b..aa76ca823 100644 --- a/test/lit/passes/coalesce-locals.wast +++ b/test/lit/passes/coalesce-locals.wast @@ -7,13 +7,13 @@ (memory 10) ;; CHECK: (type $2 (func)) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $1 (func (result i32))) ;; CHECK: (type $4 (func (param i32))) ;; CHECK: (type $FUNCSIG$iii (func (param i32 i32) (result i32))) - ;; CHECK: (type $f64_i32_=>_i64 (func (param f64 i32) (result i64))) + ;; CHECK: (type $4 (func (param f64 i32) (result i64))) ;; CHECK: (type $3 (func (param i32 f32))) @@ -26,11 +26,11 @@ (import $_emscripten_autodebug_i32 "env" "_emscripten_autodebug_i32" (param i32 i32) (result i32)) (import $get "env" "get" (result i32)) (import $set "env" "set" (param i32)) - ;; CHECK: (type $i32_=>_i32 (func (param i32) (result i32))) + ;; CHECK: (type $7 (func (param i32) (result i32))) - ;; CHECK: (type $i32_i32_=>_none (func (param i32 i32))) + ;; CHECK: (type $8 (func (param i32 i32))) - ;; CHECK: (type $none_=>_f64 (func (result f64))) + ;; CHECK: (type $9 (func (result f64))) ;; CHECK: (import "env" "_emscripten_autodebug_i32" (func $_emscripten_autodebug_i32 (param i32 i32) (result i32))) diff --git a/test/lit/passes/code-folding-eh.wast b/test/lit/passes/code-folding-eh.wast index 68d64b764..e83559c2b 100644 --- a/test/lit/passes/code-folding-eh.wast +++ b/test/lit/passes/code-folding-eh.wast @@ -6,7 +6,7 @@ ;; CHECK: (tag $e-i32 (param i32)) (tag $e-i32 (param i32)) - ;; CHECK: (func $pop-test (type $none_=>_none) + ;; CHECK: (func $pop-test (type $0) ;; CHECK-NEXT: (block $folding-inner0 ;; CHECK-NEXT: (try ;; CHECK-NEXT: (do @@ -67,12 +67,12 @@ ) ) - ;; CHECK: (func $foo (type $none_=>_none) + ;; CHECK: (func $foo (type $0) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $foo) - ;; CHECK: (func $try-call-optimize-terminating-tails (type $none_=>_i32) (result i32) + ;; CHECK: (func $try-call-optimize-terminating-tails (type $2) (result i32) ;; CHECK-NEXT: (try ;; CHECK-NEXT: (do ;; CHECK-NEXT: (call $foo) @@ -116,7 +116,7 @@ (i32.const 0) ) - ;; CHECK: (func $try-call-optimize-expression-tails (type $none_=>_none) + ;; CHECK: (func $try-call-optimize-expression-tails (type $0) ;; CHECK-NEXT: (block $x ;; CHECK-NEXT: (try ;; CHECK-NEXT: (do diff --git a/test/lit/passes/code-folding_enable-threads.wast b/test/lit/passes/code-folding_enable-threads.wast index a14f0901c..15b83f71b 100644 --- a/test/lit/passes/code-folding_enable-threads.wast +++ b/test/lit/passes/code-folding_enable-threads.wast @@ -4,9 +4,9 @@ ;; RUN: foreach %s %t wasm-opt --code-folding --enable-threads -S -o - | filecheck %s (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (type $none_=>_f32 (func (result f32))) + ;; CHECK: (type $1 (func (result f32))) ;; CHECK: (type $13 (func (param f32))) (type $13 (func (param f32))) @@ -260,7 +260,7 @@ ) ) (module - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $0 (func (result i32))) ;; CHECK: (memory $0 (shared 1 1)) (memory $0 (shared 1 1)) @@ -294,7 +294,7 @@ (module ;; CHECK: (type $0 (func)) (type $0 (func)) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $1 (func (param i32))) ;; CHECK: (global $global$0 (mut i32) (i32.const 10)) (global $global$0 (mut i32) (i32.const 10)) diff --git a/test/lit/passes/code-pushing-eh.wast b/test/lit/passes/code-pushing-eh.wast index 689e0a9cd..60d9f907f 100644 --- a/test/lit/passes/code-pushing-eh.wast +++ b/test/lit/passes/code-pushing-eh.wast @@ -7,7 +7,7 @@ ;; CHECK: (tag $e (param i32)) (tag $e (param i32)) - ;; CHECK: (func $cannot-push-past-call (type $none_=>_none) + ;; CHECK: (func $cannot-push-past-call (type $0) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (block $out ;; CHECK-NEXT: (local.set $x @@ -37,7 +37,7 @@ ) ) - ;; CHECK: (func $cannot-push-past-throw (type $none_=>_none) + ;; CHECK: (func $cannot-push-past-throw (type $0) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (block $out ;; CHECK-NEXT: (local.set $x @@ -70,7 +70,7 @@ ) ) - ;; CHECK: (func $can-push-past-try (type $none_=>_none) + ;; CHECK: (func $can-push-past-try (type $0) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (block $out ;; CHECK-NEXT: (try $try @@ -115,12 +115,12 @@ ) ) - ;; CHECK: (func $foo (type $none_=>_none) + ;; CHECK: (func $foo (type $0) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $foo) - ;; CHECK: (func $cannot-push-past-try (type $none_=>_none) + ;; CHECK: (func $cannot-push-past-try (type $0) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (block $out ;; CHECK-NEXT: (local.set $x @@ -167,7 +167,7 @@ ) ) - ;; CHECK: (func $cannot-push-past-rethrow-within-catch (type $none_=>_none) + ;; CHECK: (func $cannot-push-past-rethrow-within-catch (type $0) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (block $out ;; CHECK-NEXT: (local.set $x @@ -214,7 +214,7 @@ ) ) - ;; CHECK: (func $can-push-past-try-delegate (type $none_=>_none) + ;; CHECK: (func $can-push-past-try-delegate (type $0) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (block $out ;; CHECK-NEXT: (try $l @@ -269,7 +269,7 @@ ) ) - ;; CHECK: (func $cannot-push-past-try-delegate (type $none_=>_none) + ;; CHECK: (func $cannot-push-past-try-delegate (type $0) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (block $out ;; CHECK-NEXT: (local.set $x @@ -324,7 +324,7 @@ ) ) - ;; CHECK: (func $can-push-past-conditional-throw (type $i32_=>_none) (param $param i32) + ;; CHECK: (func $can-push-past-conditional-throw (type $1) (param $param i32) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (block $block ;; CHECK-NEXT: (if @@ -357,7 +357,7 @@ ) ) - ;; CHECK: (func $cannot-push-past-conditional-throw-extra-use (type $i32_=>_none) (param $param i32) + ;; CHECK: (func $cannot-push-past-conditional-throw-extra-use (type $1) (param $param i32) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (block $block ;; CHECK-NEXT: (local.set $x diff --git a/test/lit/passes/code-pushing-gc.wast b/test/lit/passes/code-pushing-gc.wast index ffb5a25d3..1aac5c55c 100644 --- a/test/lit/passes/code-pushing-gc.wast +++ b/test/lit/passes/code-pushing-gc.wast @@ -2,7 +2,7 @@ ;; RUN: wasm-opt %s --code-pushing -all -S -o - | filecheck %s (module - ;; CHECK: (func $br_on (type $none_=>_none) + ;; CHECK: (func $br_on (type $0) ;; CHECK-NEXT: (local $x funcref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block $out (result (ref func)) @@ -40,7 +40,7 @@ ) ) - ;; CHECK: (func $br_on_no (type $none_=>_none) + ;; CHECK: (func $br_on_no (type $0) ;; CHECK-NEXT: (local $x funcref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block $out (result (ref func)) diff --git a/test/lit/passes/code-pushing_ignore-implicit-traps.wast b/test/lit/passes/code-pushing_ignore-implicit-traps.wast index a64390c05..d8fadefd7 100644 --- a/test/lit/passes/code-pushing_ignore-implicit-traps.wast +++ b/test/lit/passes/code-pushing_ignore-implicit-traps.wast @@ -5,9 +5,9 @@ (module (memory 1) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $1 (func (result i32))) ;; CHECK: (memory $0 1) diff --git a/test/lit/passes/code-pushing_into_if.wast b/test/lit/passes/code-pushing_into_if.wast index 61c674948..3ef905dd5 100644 --- a/test/lit/passes/code-pushing_into_if.wast +++ b/test/lit/passes/code-pushing_into_if.wast @@ -2,10 +2,10 @@ ;; RUN: wasm-opt %s --code-pushing -all -S -o - | filecheck %s (module - ;; CHECK: (import "binaryen-intrinsics" "call.without.effects" (func $call.without.effects (type $i32_funcref_=>_i32) (param i32 funcref) (result i32))) + ;; CHECK: (import "binaryen-intrinsics" "call.without.effects" (func $call.without.effects (type $2) (param i32 funcref) (result i32))) (import "binaryen-intrinsics" "call.without.effects" (func $call.without.effects (param i32 funcref) (result i32))) - ;; CHECK: (func $if-nop (type $i32_=>_none) (param $p i32) + ;; CHECK: (func $if-nop (type $0) (param $p i32) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (local.set $x ;; CHECK-NEXT: (i32.const 1) @@ -25,7 +25,7 @@ ) ) - ;; CHECK: (func $if-nop-nop (type $i32_=>_none) (param $p i32) + ;; CHECK: (func $if-nop-nop (type $0) (param $p i32) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (local.set $x ;; CHECK-NEXT: (i32.const 1) @@ -46,7 +46,7 @@ ) ) - ;; CHECK: (func $if-use (type $i32_=>_none) (param $p i32) + ;; CHECK: (func $if-use (type $0) (param $p i32) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (if @@ -71,7 +71,7 @@ ) ) - ;; CHECK: (func $if-use-nop (type $i32_=>_none) (param $p i32) + ;; CHECK: (func $if-use-nop (type $0) (param $p i32) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (if @@ -97,7 +97,7 @@ ) ) - ;; CHECK: (func $if-else-use (type $i32_=>_none) (param $p i32) + ;; CHECK: (func $if-else-use (type $0) (param $p i32) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (if @@ -124,7 +124,7 @@ ) ) - ;; CHECK: (func $unpushed-interference (type $i32_=>_none) (param $p i32) + ;; CHECK: (func $unpushed-interference (type $0) (param $p i32) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (local $y i32) ;; CHECK-NEXT: (local.set $x @@ -154,7 +154,7 @@ ) ) - ;; CHECK: (func $if-use-use (type $i32_=>_none) (param $p i32) + ;; CHECK: (func $if-use-use (type $0) (param $p i32) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (local.set $x ;; CHECK-NEXT: (i32.const 1) @@ -180,7 +180,7 @@ ) ) - ;; CHECK: (func $if-use-after (type $i32_=>_none) (param $p i32) + ;; CHECK: (func $if-use-after (type $0) (param $p i32) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (local.set $x ;; CHECK-NEXT: (i32.const 1) @@ -206,7 +206,7 @@ (drop (local.get $x)) ) - ;; CHECK: (func $if-use-after-nop (type $i32_=>_none) (param $p i32) + ;; CHECK: (func $if-use-after-nop (type $0) (param $p i32) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (local.set $x ;; CHECK-NEXT: (i32.const 1) @@ -233,7 +233,7 @@ (drop (local.get $x)) ) - ;; CHECK: (func $if-else-use-after (type $i32_=>_none) (param $p i32) + ;; CHECK: (func $if-else-use-after (type $0) (param $p i32) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (local.set $x ;; CHECK-NEXT: (i32.const 1) @@ -260,7 +260,7 @@ (drop (local.get $x)) ) - ;; CHECK: (func $if-use-after-unreachable (type $i32_=>_none) (param $p i32) + ;; CHECK: (func $if-use-after-unreachable (type $0) (param $p i32) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (if @@ -291,7 +291,7 @@ (drop (local.get $x)) ) - ;; CHECK: (func $if-use-after-unreachable-else (type $i32_=>_none) (param $p i32) + ;; CHECK: (func $if-use-after-unreachable-else (type $0) (param $p i32) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (if @@ -321,7 +321,7 @@ (drop (local.get $x)) ) - ;; CHECK: (func $optimize-many (type $i32_=>_none) (param $p i32) + ;; CHECK: (func $optimize-many (type $0) (param $p i32) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (local $y i32) ;; CHECK-NEXT: (local $z i32) @@ -372,7 +372,7 @@ ) ) - ;; CHECK: (func $past-other (type $i32_=>_none) (param $p i32) + ;; CHECK: (func $past-other (type $0) (param $p i32) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (local $t i32) ;; CHECK-NEXT: (nop) @@ -403,7 +403,7 @@ ) ) - ;; CHECK: (func $past-other-no (type $i32_=>_none) (param $p i32) + ;; CHECK: (func $past-other-no (type $0) (param $p i32) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (local $t i32) ;; CHECK-NEXT: (local.set $x @@ -433,7 +433,7 @@ ) ) - ;; CHECK: (func $past-condition-no (type $i32_=>_none) (param $p i32) + ;; CHECK: (func $past-condition-no (type $0) (param $p i32) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (local $t i32) ;; CHECK-NEXT: (local.set $x @@ -459,7 +459,7 @@ ) ) - ;; CHECK: (func $past-condition-no-2 (type $none_=>_none) + ;; CHECK: (func $past-condition-no-2 (type $3) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (local $t i32) ;; CHECK-NEXT: (local.set $x @@ -483,7 +483,7 @@ ) ) - ;; CHECK: (func $past-condition-no-3 (type $i32_=>_none) (param $p i32) + ;; CHECK: (func $past-condition-no-3 (type $0) (param $p i32) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (local $t i32) ;; CHECK-NEXT: (local.set $x @@ -509,7 +509,7 @@ ) ) - ;; CHECK: (func $if-condition-return (type $i32_=>_none) (param $p i32) + ;; CHECK: (func $if-condition-return (type $0) (param $p i32) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (if @@ -541,7 +541,7 @@ ) ) - ;; CHECK: (func $if-condition-break-used (type $i32_=>_none) (param $p i32) + ;; CHECK: (func $if-condition-break-used (type $0) (param $p i32) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (local.set $x ;; CHECK-NEXT: (i32.const 1) @@ -580,7 +580,7 @@ (drop (local.get $x)) ) - ;; CHECK: (func $one-push-prevents-another (type $i32_=>_none) (param $p i32) + ;; CHECK: (func $one-push-prevents-another (type $0) (param $p i32) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (local $y i32) ;; CHECK-NEXT: (local.set $x @@ -616,7 +616,7 @@ ) ) - ;; CHECK: (func $one-push-prevents-another-flipped (type $i32_=>_none) (param $p i32) + ;; CHECK: (func $one-push-prevents-another-flipped (type $0) (param $p i32) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (local $y i32) ;; CHECK-NEXT: (local.set $x @@ -652,7 +652,7 @@ ) ) - ;; CHECK: (func $sink-call (type $i32_=>_i32) (param $p i32) (result i32) + ;; CHECK: (func $sink-call (type $1) (param $p i32) (result i32) ;; CHECK-NEXT: (local $temp i32) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (if @@ -691,7 +691,7 @@ (i32.const 0) ) - ;; CHECK: (func $no-sink-call (type $i32_=>_i32) (param $p i32) (result i32) + ;; CHECK: (func $no-sink-call (type $1) (param $p i32) (result i32) ;; CHECK-NEXT: (local $temp i32) ;; CHECK-NEXT: (local.set $temp ;; CHECK-NEXT: (call $call.without.effects @@ -728,7 +728,7 @@ (local.get $temp) ;; this line changed. ) - ;; CHECK: (func $no-sink-call-2 (type $i32_=>_i32) (param $p i32) (result i32) + ;; CHECK: (func $no-sink-call-2 (type $1) (param $p i32) (result i32) ;; CHECK-NEXT: (local $temp i32) ;; CHECK-NEXT: (local.set $temp ;; CHECK-NEXT: (call $call.without.effects @@ -766,7 +766,7 @@ (local.get $temp) ) - ;; CHECK: (func $no-sink-call-3 (type $i32_=>_i32) (param $p i32) (result i32) + ;; CHECK: (func $no-sink-call-3 (type $1) (param $p i32) (result i32) ;; CHECK-NEXT: (local $temp i32) ;; CHECK-NEXT: (local.set $temp ;; CHECK-NEXT: (call $call.without.effects @@ -812,7 +812,7 @@ (i32.const 0) ;; this line was added. ) - ;; CHECK: (func $sink-call-3 (type $i32_=>_i32) (param $p i32) (result i32) + ;; CHECK: (func $sink-call-3 (type $1) (param $p i32) (result i32) ;; CHECK-NEXT: (local $temp i32) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (if @@ -862,7 +862,7 @@ (i32.const 0) ) - ;; CHECK: (func $no-sink-call-sub (type $i32_=>_i32) (param $p i32) (result i32) + ;; CHECK: (func $no-sink-call-sub (type $1) (param $p i32) (result i32) ;; CHECK-NEXT: (local $temp i32) ;; CHECK-NEXT: (local $other i32) ;; CHECK-NEXT: (local.set $temp @@ -904,7 +904,7 @@ (i32.const 0) ) - ;; CHECK: (func $ref-into-if (type $ref|any|_=>_none) (param $0 (ref any)) + ;; CHECK: (func $ref-into-if (type $4) (param $0 (ref any)) ;; CHECK-NEXT: (local $1 anyref) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (if diff --git a/test/lit/passes/code-pushing_tnh.wast b/test/lit/passes/code-pushing_tnh.wast index 17f69a466..1dcf725ad 100644 --- a/test/lit/passes/code-pushing_tnh.wast +++ b/test/lit/passes/code-pushing_tnh.wast @@ -4,9 +4,9 @@ ;; RUN: foreach %s %t wasm-opt --code-pushing -tnh -S -o - | filecheck %s (module - ;; CHECK: (type $i32_i32_=>_none (func (param i32 i32))) + ;; CHECK: (type $0 (func (param i32 i32))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) ;; CHECK: (func $div (param $x i32) (param $y i32) ;; CHECK-NEXT: (local $temp i32) diff --git a/test/lit/passes/const-hoisting.wast b/test/lit/passes/const-hoisting.wast index f55ed4cb6..64b5ef5c4 100644 --- a/test/lit/passes/const-hoisting.wast +++ b/test/lit/passes/const-hoisting.wast @@ -4,7 +4,7 @@ ;; RUN: foreach %s %t wasm-opt --const-hoisting -S -o - | filecheck %s (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (func $10-of-each ;; CHECK-NEXT: (local $0 i32) diff --git a/test/lit/passes/dae-gc-refine-params.wast b/test/lit/passes/dae-gc-refine-params.wast index 6bc7324ef..cf3e75ebe 100644 --- a/test/lit/passes/dae-gc-refine-params.wast +++ b/test/lit/passes/dae-gc-refine-params.wast @@ -19,7 +19,7 @@ (type ${i32_f32} (struct_subtype (field i32) (field f32) ${i32})) - ;; CHECK: (func $call-various-params-no (type $none_=>_none) + ;; CHECK: (func $call-various-params-no (type $0) ;; CHECK-NEXT: (call $various-params-no ;; CHECK-NEXT: (call $get_{}) ;; CHECK-NEXT: (call $get_{i32}) @@ -45,7 +45,7 @@ ) ;; This function is called in ways that do not allow us to alter the types of ;; its parameters (see last function). - ;; CHECK: (func $various-params-no (type $ref?|${}|_ref?|${}|_=>_none) (param $x (ref null ${})) (param $y (ref null ${})) + ;; CHECK: (func $various-params-no (type $7) (param $x (ref null ${})) (param $y (ref null ${})) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) @@ -59,26 +59,26 @@ (drop (local.get $y)) ) - ;; CHECK: (func $get_{} (type $none_=>_ref?|${}|) (result (ref null ${})) + ;; CHECK: (func $get_{} (type $8) (result (ref null ${})) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) (func $get_{} (result (ref null ${})) (unreachable) ) - ;; CHECK: (func $get_{i32} (type $none_=>_ref?|${i32}|) (result (ref null ${i32})) + ;; CHECK: (func $get_{i32} (type $5) (result (ref null ${i32})) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) (func $get_{i32} (result (ref null ${i32})) (unreachable) ) - ;; CHECK: (func $get_{f64} (type $none_=>_ref?|${f64}|) (result (ref null ${f64})) + ;; CHECK: (func $get_{f64} (type $10) (result (ref null ${f64})) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) (func $get_{f64} (result (ref null ${f64})) (unreachable) ) - ;; CHECK: (func $call-various-params-yes (type $none_=>_none) + ;; CHECK: (func $call-various-params-yes (type $0) ;; CHECK-NEXT: (call $various-params-yes ;; CHECK-NEXT: (call $get_null_{i32}) ;; CHECK-NEXT: (i32.const 0) @@ -107,7 +107,7 @@ ) ;; This function is called in ways that *do* allow us to alter the types of ;; its parameters (see last function). - ;; CHECK: (func $various-params-yes (type $ref?|${i32}|_i32_ref?|${i32}|_=>_none) (param $x (ref null ${i32})) (param $i i32) (param $y (ref null ${i32})) + ;; CHECK: (func $various-params-yes (type $11) (param $x (ref null ${i32})) (param $i i32) (param $y (ref null ${i32})) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) @@ -125,7 +125,7 @@ (drop (local.get $y)) ) - ;; CHECK: (func $call-various-params-set (type $none_=>_none) + ;; CHECK: (func $call-various-params-set (type $0) ;; CHECK-NEXT: (call $various-params-set ;; CHECK-NEXT: (call $get_null_{i32}) ;; CHECK-NEXT: (call $get_null_{i32}) @@ -150,7 +150,7 @@ ;; This function is called in ways that *do* allow us to alter the types of ;; its parameters (see last function), however, we reuse the parameters by ;; writing to them, which causes problems in one case. - ;; CHECK: (func $various-params-set (type $ref?|${i32}|_ref?|${i32}|_=>_none) (param $x (ref null ${i32})) (param $y (ref null ${i32})) + ;; CHECK: (func $various-params-set (type $12) (param $x (ref null ${i32})) (param $y (ref null ${i32})) ;; CHECK-NEXT: (local $2 (ref null ${})) ;; CHECK-NEXT: (local.set $2 ;; CHECK-NEXT: (local.get $x) @@ -196,7 +196,7 @@ ) ) - ;; CHECK: (func $call-various-params-tee (type $none_=>_none) + ;; CHECK: (func $call-various-params-tee (type $0) ;; CHECK-NEXT: (call $various-params-tee ;; CHECK-NEXT: (call $get_null_{i32}) ;; CHECK-NEXT: ) @@ -207,7 +207,7 @@ (call $get_null_{i32}) ) ) - ;; CHECK: (func $various-params-tee (type $ref?|${i32}|_=>_none) (param $x (ref null ${i32})) + ;; CHECK: (func $various-params-tee (type $6) (param $x (ref null ${i32})) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) @@ -232,7 +232,7 @@ ) ) - ;; CHECK: (func $call-various-params-null (type $none_=>_none) + ;; CHECK: (func $call-various-params-null (type $0) ;; CHECK-NEXT: (call $various-params-null ;; CHECK-NEXT: (ref.as_non_null ;; CHECK-NEXT: (ref.null none) @@ -262,7 +262,7 @@ ) ;; This function is called in ways that allow us to make the first parameter ;; non-nullable. - ;; CHECK: (func $various-params-null (type $ref|none|_ref?|${i32}|_=>_none) (param $x (ref none)) (param $y (ref null ${i32})) + ;; CHECK: (func $various-params-null (type $13) (param $x (ref none)) (param $y (ref null ${i32})) ;; CHECK-NEXT: (local $temp i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.get $x) @@ -286,7 +286,7 @@ (local.set $temp (local.get $temp)) ) - ;; CHECK: (func $call-various-params-middle (type $none_=>_none) + ;; CHECK: (func $call-various-params-middle (type $0) ;; CHECK-NEXT: (call $various-params-middle ;; CHECK-NEXT: (call $get_null_{i32_i64}) ;; CHECK-NEXT: ) @@ -304,7 +304,7 @@ (call $get_null_{i32_f32}) ) ) - ;; CHECK: (func $various-params-middle (type $ref?|${i32}|_=>_none) (param $x (ref null ${i32})) + ;; CHECK: (func $various-params-middle (type $6) (param $x (ref null ${i32})) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) @@ -314,7 +314,7 @@ (drop (local.get $x)) ) - ;; CHECK: (func $unused-and-refinable (type $none_=>_none) + ;; CHECK: (func $unused-and-refinable (type $0) ;; CHECK-NEXT: (local $0 structref) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) @@ -330,7 +330,7 @@ ;; local). ) - ;; CHECK: (func $call-unused-and-refinable (type $none_=>_none) + ;; CHECK: (func $call-unused-and-refinable (type $0) ;; CHECK-NEXT: (call $unused-and-refinable) ;; CHECK-NEXT: ) (func $call-unused-and-refinable @@ -339,7 +339,7 @@ ) ) - ;; CHECK: (func $non-nullable-fixup (type $ref|${}|_=>_none) (param $0 (ref ${})) + ;; CHECK: (func $non-nullable-fixup (type $14) (param $0 (ref ${})) ;; CHECK-NEXT: (local $1 structref) ;; CHECK-NEXT: (local.set $1 ;; CHECK-NEXT: (local.get $0) @@ -357,7 +357,7 @@ ) ) - ;; CHECK: (func $call-non-nullable-fixup (type $none_=>_none) + ;; CHECK: (func $call-non-nullable-fixup (type $0) ;; CHECK-NEXT: (call $non-nullable-fixup ;; CHECK-NEXT: (struct.new_default ${}) ;; CHECK-NEXT: ) @@ -368,7 +368,7 @@ ) ) - ;; CHECK: (func $call-update-null (type $none_=>_none) + ;; CHECK: (func $call-update-null (type $0) ;; CHECK-NEXT: (call $update-null ;; CHECK-NEXT: (ref.null none) ;; CHECK-NEXT: ) @@ -387,7 +387,7 @@ ) ) - ;; CHECK: (func $update-null (type $ref?|${}|_=>_none) (param $x (ref null ${})) + ;; CHECK: (func $update-null (type $15) (param $x (ref null ${})) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) @@ -399,7 +399,7 @@ (drop (local.get $x)) ) - ;; CHECK: (func $get_null_{i32} (type $none_=>_ref?|${i32}|) (result (ref null ${i32})) + ;; CHECK: (func $get_null_{i32} (type $5) (result (ref null ${i32})) ;; CHECK-NEXT: (select (result (ref null ${i32})) ;; CHECK-NEXT: (ref.null none) ;; CHECK-NEXT: (struct.new_default ${i32}) @@ -416,7 +416,7 @@ ) ) - ;; CHECK: (func $get_null_{i32_i64} (type $none_=>_ref?|${i32_i64}|) (result (ref null ${i32_i64})) + ;; CHECK: (func $get_null_{i32_i64} (type $16) (result (ref null ${i32_i64})) ;; CHECK-NEXT: (select (result (ref null ${i32_i64})) ;; CHECK-NEXT: (ref.null none) ;; CHECK-NEXT: (struct.new_default ${i32_i64}) @@ -431,7 +431,7 @@ ) ) - ;; CHECK: (func $get_null_{i32_f32} (type $none_=>_ref?|${i32_f32}|) (result (ref null ${i32_f32})) + ;; CHECK: (func $get_null_{i32_f32} (type $17) (result (ref null ${i32_f32})) ;; CHECK-NEXT: (select (result (ref null ${i32_f32})) ;; CHECK-NEXT: (ref.null none) ;; CHECK-NEXT: (struct.new_default ${i32_f32}) diff --git a/test/lit/passes/dae-gc-refine-return.wast b/test/lit/passes/dae-gc-refine-return.wast index 0487392de..bab22b2cb 100644 --- a/test/lit/passes/dae-gc-refine-return.wast +++ b/test/lit/passes/dae-gc-refine-return.wast @@ -20,7 +20,7 @@ (table 1 1 funcref) ;; We cannot refine the return type if nothing is actually returned. - ;; CHECK: (func $refine-return-no-return (type $none_=>_anyref) (result anyref) + ;; CHECK: (func $refine-return-no-return (type $2) (result anyref) ;; CHECK-NEXT: (local $temp anyref) ;; CHECK-NEXT: (local.set $temp ;; CHECK-NEXT: (call $refine-return-no-return) @@ -37,7 +37,7 @@ ) ;; We cannot refine the return type if it is already the best it can be. - ;; CHECK: (func $refine-return-no-refining (type $none_=>_anyref) (result anyref) + ;; CHECK: (func $refine-return-no-refining (type $2) (result anyref) ;; CHECK-NEXT: (local $temp anyref) ;; CHECK-NEXT: (local $any anyref) ;; CHECK-NEXT: (local.set $temp @@ -55,7 +55,7 @@ ) ;; Refine the return type based on the value flowing out. - ;; CHECK: (func $refine-return-flow (type $none_=>_i31ref) (result i31ref) + ;; CHECK: (func $refine-return-flow (type $3) (result i31ref) ;; CHECK-NEXT: (local $temp anyref) ;; CHECK-NEXT: (local $i31 i31ref) ;; CHECK-NEXT: (local.set $temp @@ -71,7 +71,7 @@ (local.get $i31) ) - ;; CHECK: (func $call-refine-return-flow (type $none_=>_i31ref) (result i31ref) + ;; CHECK: (func $call-refine-return-flow (type $3) (result i31ref) ;; CHECK-NEXT: (local $temp anyref) ;; CHECK-NEXT: (local.set $temp ;; CHECK-NEXT: (call $call-refine-return-flow) @@ -97,7 +97,7 @@ ) ;; Refine the return type based on a return. - ;; CHECK: (func $refine-return-return (type $none_=>_i31ref) (result i31ref) + ;; CHECK: (func $refine-return-return (type $3) (result i31ref) ;; CHECK-NEXT: (local $temp anyref) ;; CHECK-NEXT: (local $i31 i31ref) ;; CHECK-NEXT: (local.set $temp @@ -117,7 +117,7 @@ ) ;; Refine the return type based on multiple values. - ;; CHECK: (func $refine-return-many (type $none_=>_i31ref) (result i31ref) + ;; CHECK: (func $refine-return-many (type $3) (result i31ref) ;; CHECK-NEXT: (local $temp anyref) ;; CHECK-NEXT: (local $i31 i31ref) ;; CHECK-NEXT: (local.set $temp @@ -154,7 +154,7 @@ (local.get $i31) ) - ;; CHECK: (func $refine-return-many-lub (type $none_=>_eqref) (result eqref) + ;; CHECK: (func $refine-return-many-lub (type $5) (result eqref) ;; CHECK-NEXT: (local $temp anyref) ;; CHECK-NEXT: (local $i31 i31ref) ;; CHECK-NEXT: (local $struct structref) @@ -194,7 +194,7 @@ (local.get $i31) ) - ;; CHECK: (func $refine-return-many-lub-2 (type $none_=>_eqref) (result eqref) + ;; CHECK: (func $refine-return-many-lub-2 (type $5) (result eqref) ;; CHECK-NEXT: (local $temp anyref) ;; CHECK-NEXT: (local $i31 i31ref) ;; CHECK-NEXT: (local $struct structref) @@ -235,7 +235,7 @@ ) ;; We can refine the return types of tuples. - ;; CHECK: (func $refine-return-tuple (type $none_=>_i31ref_i32) (result i31ref i32) + ;; CHECK: (func $refine-return-tuple (type $6) (result i31ref i32) ;; CHECK-NEXT: (local $temp anyref) ;; CHECK-NEXT: (local $i31 i31ref) ;; CHECK-NEXT: (local.set $temp @@ -268,13 +268,13 @@ ;; returns a ref.func of this one. They both begin by returning a funcref; ;; after refining the return type of the second function, it will have a more ;; specific type (which is ok as subtyping is allowed with tail calls). - ;; CHECK: (func $do-return-call (type $none_=>_funcref) (result funcref) + ;; CHECK: (func $do-return-call (type $7) (result funcref) ;; CHECK-NEXT: (return_call $return-ref-func) ;; CHECK-NEXT: ) (func $do-return-call (result funcref) (return_call $return-ref-func) ) - ;; CHECK: (func $return-ref-func (type $none_=>_ref|none_->_funcref|) (result (ref $none_=>_funcref)) + ;; CHECK: (func $return-ref-func (type $9) (result (ref $7)) ;; CHECK-NEXT: (ref.func $do-return-call) ;; CHECK-NEXT: ) (func $return-ref-func (result funcref) @@ -297,7 +297,7 @@ ;; target's return type is more specific than anyref. (return_call $tail-callee) ) - ;; CHECK: (func $tail-caller-no (type $none_=>_anyref) (result anyref) + ;; CHECK: (func $tail-caller-no (type $2) (result anyref) ;; CHECK-NEXT: (local $any anyref) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 1) @@ -317,7 +317,7 @@ ) (return_call $tail-callee) ) - ;; CHECK: (func $tail-call-caller (type $none_=>_none) + ;; CHECK: (func $tail-call-caller (type $4) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $tail-caller-yes) ;; CHECK-NEXT: ) @@ -350,7 +350,7 @@ (func $tail-caller-indirect-yes (result anyref) (return_call_indirect (type $return_{}) (i32.const 0)) ) - ;; CHECK: (func $tail-caller-indirect-no (type $none_=>_anyref) (result anyref) + ;; CHECK: (func $tail-caller-indirect-no (type $2) (result anyref) ;; CHECK-NEXT: (local $any anyref) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 1) @@ -370,7 +370,7 @@ ) (return_call_indirect (type $return_{}) (i32.const 0)) ) - ;; CHECK: (func $tail-call-caller-indirect (type $none_=>_none) + ;; CHECK: (func $tail-call-caller-indirect (type $4) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $tail-caller-indirect-yes) ;; CHECK-NEXT: ) @@ -405,7 +405,7 @@ (return_call_ref $return_{} (local.get $return_{})) ) - ;; CHECK: (func $tail-caller-call_ref-no (type $none_=>_anyref) (result anyref) + ;; CHECK: (func $tail-caller-call_ref-no (type $2) (result anyref) ;; CHECK-NEXT: (local $any anyref) ;; CHECK-NEXT: (local $return_{} (ref null $return_{})) ;; CHECK-NEXT: (if @@ -427,7 +427,7 @@ ) (return_call_ref $return_{} (local.get $return_{})) ) - ;; CHECK: (func $tail-caller-call_ref-unreachable (type $none_=>_anyref) (result anyref) + ;; CHECK: (func $tail-caller-call_ref-unreachable (type $2) (result anyref) ;; CHECK-NEXT: (block ;; (replaces something unreachable we can't emit) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (unreachable) @@ -440,7 +440,7 @@ ;; should not hit an assertion on such things. (return_call_ref $return_{} (unreachable)) ) - ;; CHECK: (func $tail-call-caller-call_ref (type $none_=>_none) + ;; CHECK: (func $tail-call-caller-call_ref (type $4) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $tail-caller-call_ref-yes) ;; CHECK-NEXT: ) @@ -463,7 +463,7 @@ ) ) - ;; CHECK: (func $update-null (type $i32_i32_=>_ref?|${i32}|) (param $x i32) (param $y i32) (result (ref null ${i32})) + ;; CHECK: (func $update-null (type $10) (param $x i32) (param $y i32) (result (ref null ${i32})) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: (if @@ -494,7 +494,7 @@ ) ) - ;; CHECK: (func $call-update-null (type $none_=>_anyref) (result anyref) + ;; CHECK: (func $call-update-null (type $2) (result anyref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $update-null ;; CHECK-NEXT: (i32.const 0) diff --git a/test/lit/passes/dae-gc.wast b/test/lit/passes/dae-gc.wast index 97216ae8f..5ca1d0373 100644 --- a/test/lit/passes/dae-gc.wast +++ b/test/lit/passes/dae-gc.wast @@ -5,7 +5,7 @@ ;; CHECK: (type ${} (struct )) (type ${} (struct)) - ;; CHECK: (func $foo (type $none_=>_none) + ;; CHECK: (func $foo (type $0) ;; CHECK-NEXT: (call $bar) ;; CHECK-NEXT: ) (func $foo @@ -15,7 +15,7 @@ ) ) ) - ;; CHECK: (func $bar (type $none_=>_none) + ;; CHECK: (func $bar (type $0) ;; CHECK-NEXT: (local $0 i31ref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.tee $0 @@ -49,14 +49,14 @@ ) ;; A function that gets a non-nullable reference that is never used. We can ;; still create a non-nullable local for that parameter. - ;; CHECK: (func $get-nonnull (type $none_=>_none) + ;; CHECK: (func $get-nonnull (type $0) ;; CHECK-NEXT: (local $0 (ref ${})) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $get-nonnull (param $0 (ref ${})) (nop) ) - ;; CHECK: (func $send-nonnull (type $none_=>_none) + ;; CHECK: (func $send-nonnull (type $0) ;; CHECK-NEXT: (call $get-nonnull) ;; CHECK-NEXT: ) (func $send-nonnull @@ -68,8 +68,8 @@ ;; Test ref.func and ref.null optimization of constant parameter values. (module - ;; CHECK: (func $foo (type $ref|none_->_none|_=>_none) (param $0 (ref $none_=>_none)) - ;; CHECK-NEXT: (local $1 (ref $none_=>_none)) + ;; CHECK: (func $foo (type $1) (param $0 (ref $0)) + ;; CHECK-NEXT: (local $1 (ref $0)) ;; CHECK-NEXT: (local.set $1 ;; CHECK-NEXT: (ref.func $a) ;; CHECK-NEXT: ) @@ -88,7 +88,7 @@ (drop (local.get $y)) ) - ;; CHECK: (func $call-foo (type $none_=>_none) + ;; CHECK: (func $call-foo (type $0) ;; CHECK-NEXT: (call $foo ;; CHECK-NEXT: (ref.func $b) ;; CHECK-NEXT: ) @@ -109,7 +109,7 @@ ) ) - ;; CHECK: (func $bar (type $i31ref_=>_none) (param $0 i31ref) + ;; CHECK: (func $bar (type $2) (param $0 i31ref) ;; CHECK-NEXT: (local $1 nullref) ;; CHECK-NEXT: (local.set $1 ;; CHECK-NEXT: (ref.null none) @@ -129,7 +129,7 @@ (drop (local.get $y)) ) - ;; CHECK: (func $call-bar (type $none_=>_none) + ;; CHECK: (func $call-bar (type $0) ;; CHECK-NEXT: (call $bar ;; CHECK-NEXT: (ref.null none) ;; CHECK-NEXT: ) @@ -154,15 +154,15 @@ ) ;; Helper functions so we have something to take the reference of. - ;; CHECK: (func $a (type $none_=>_none) + ;; CHECK: (func $a (type $0) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $a) - ;; CHECK: (func $b (type $none_=>_none) + ;; CHECK: (func $b (type $0) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $b) - ;; CHECK: (func $c (type $none_=>_none) + ;; CHECK: (func $c (type $0) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $c) @@ -170,7 +170,7 @@ ;; Test that string constants can be applied. (module - ;; CHECK: (func $0 (type $none_=>_none) + ;; CHECK: (func $0 (type $0) ;; CHECK-NEXT: (call $1) ;; CHECK-NEXT: ) (func $0 @@ -179,7 +179,7 @@ (string.const "929") ) ) - ;; CHECK: (func $1 (type $none_=>_none) + ;; CHECK: (func $1 (type $0) ;; CHECK-NEXT: (local $0 (ref string)) ;; CHECK-NEXT: (local $1 (ref string)) ;; CHECK-NEXT: (local.set $0 diff --git a/test/lit/passes/dae-optimizing.wast b/test/lit/passes/dae-optimizing.wast index 908543e60..ddffbacfe 100644 --- a/test/lit/passes/dae-optimizing.wast +++ b/test/lit/passes/dae-optimizing.wast @@ -4,12 +4,10 @@ ;; RUN: foreach %s %t wasm-opt --dae-optimizing -S -o - | filecheck %s (module + ;; CHECK: (type $0 (func (result i32))) (type $0 (func (param f32) (result f32))) + ;; CHECK: (type $1 (func (result f32))) (type $1 (func (param f64 f32 f32 f64 f32 i64 f64) (result i32))) - ;; CHECK: (type $none_=>_i32 (func (result i32))) - - ;; CHECK: (type $none_=>_f32 (func (result f32))) - ;; CHECK: (type $2 (func (param f64 f32 f32 f64 f32 i32 i32 f64) (result i32))) (type $2 (func (param f64 f32 f32 f64 f32 i32 i32 f64) (result i32))) ;; CHECK: (global $global$0 (mut i32) (i32.const 10)) diff --git a/test/lit/passes/dae-refine-params-and-optimize.wast b/test/lit/passes/dae-refine-params-and-optimize.wast index 65611908a..9d893c21e 100644 --- a/test/lit/passes/dae-refine-params-and-optimize.wast +++ b/test/lit/passes/dae-refine-params-and-optimize.wast @@ -4,9 +4,9 @@ ;; The br_on_cast_fail is optimized away thanks to the refined type. The output still has some unoptimized code (an additional --dce pass would get rid of the drop-return pattern here), but that is not directly relevant to this test. (module - ;; CHECK: (type $ref|array|_=>_i32 (func (param (ref array)) (result i32))) + ;; CHECK: (type $0 (func (param (ref array)) (result i32))) - ;; CHECK: (func $len (type $ref|array|_=>_i32) (param $0 (ref array)) (result i32) + ;; CHECK: (func $len (type $0) (param $0 (ref array)) (result i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (return ;; CHECK-NEXT: (array.len @@ -29,7 +29,7 @@ ) (i32.const -1) ) - ;; CHECK: (func $optimize-after-refinement (type $ref|array|_=>_i32) (param $0 (ref array)) (result i32) + ;; CHECK: (func $optimize-after-refinement (type $0) (param $0 (ref array)) (result i32) ;; CHECK-NEXT: (call $len ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/dae_all-features.wast b/test/lit/passes/dae_all-features.wast index 71af5a0bc..61591e977 100644 --- a/test/lit/passes/dae_all-features.wast +++ b/test/lit/passes/dae_all-features.wast @@ -5,19 +5,19 @@ (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $1 (func (param i32))) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $2 (func (result i32))) - ;; CHECK: (type $none_=>_f64 (func (result f64))) + ;; CHECK: (type $3 (func (result f64))) - ;; CHECK: (type $f64_=>_none (func (param f64))) + ;; CHECK: (type $4 (func (param f64))) - ;; CHECK: (import "a" "b" (func $get-i32 (type $none_=>_i32) (result i32))) + ;; CHECK: (import "a" "b" (func $get-i32 (type $2) (result i32))) (import "a" "b" (func $get-i32 (result i32))) - ;; CHECK: (import "a" "c" (func $get-f64 (type $none_=>_f64) (result f64))) + ;; CHECK: (import "a" "c" (func $get-f64 (type $3) (result f64))) (import "a" "c" (func $get-f64 (result f64))) ;; CHECK: (table $0 2 2 funcref) @@ -28,7 +28,7 @@ (export "a8" (func $a8)) (table 2 2 funcref) (elem (i32.const 0) $a9 $c8) - ;; CHECK: (func $a (type $none_=>_none) + ;; CHECK: (func $a (type $0) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (i32.const 1) @@ -36,13 +36,13 @@ ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $a (param $x i32)) - ;; CHECK: (func $b (type $none_=>_none) + ;; CHECK: (func $b (type $0) ;; CHECK-NEXT: (call $a) ;; CHECK-NEXT: ) (func $b (call $a (i32.const 1)) ;; best case scenario ) - ;; CHECK: (func $a1 (type $none_=>_none) + ;; CHECK: (func $a1 (type $0) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (i32.const 2) @@ -52,19 +52,19 @@ (func $a1 (param $x i32) (unreachable) ) - ;; CHECK: (func $b1 (type $none_=>_none) + ;; CHECK: (func $b1 (type $0) ;; CHECK-NEXT: (call $a1) ;; CHECK-NEXT: ) (func $b1 (call $a1 (i32.const 2)) ;; same value in both, so works ) - ;; CHECK: (func $b11 (type $none_=>_none) + ;; CHECK: (func $b11 (type $0) ;; CHECK-NEXT: (call $a1) ;; CHECK-NEXT: ) (func $b11 (call $a1 (i32.const 2)) ) - ;; CHECK: (func $a2 (type $i32_=>_none) (param $x i32) + ;; CHECK: (func $a2 (type $1) (param $x i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) @@ -72,7 +72,7 @@ (func $a2 (param $x i32) (drop (local.get $x)) ) - ;; CHECK: (func $b2 (type $none_=>_none) + ;; CHECK: (func $b2 (type $0) ;; CHECK-NEXT: (call $a2 ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) @@ -80,7 +80,7 @@ (func $b2 (call $a2 (i32.const 3)) ;; different value! ) - ;; CHECK: (func $b22 (type $none_=>_none) + ;; CHECK: (func $b22 (type $0) ;; CHECK-NEXT: (call $a2 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) @@ -88,7 +88,7 @@ (func $b22 (call $a2 (i32.const 4)) ) - ;; CHECK: (func $a3 (type $none_=>_none) + ;; CHECK: (func $a3 (type $0) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.const -1) @@ -97,24 +97,24 @@ (func $a3 (param $x i32) (drop (i32.const -1)) ;; diff value, but at least unused, so no need to send ) - ;; CHECK: (func $b3 (type $none_=>_none) + ;; CHECK: (func $b3 (type $0) ;; CHECK-NEXT: (call $a3) ;; CHECK-NEXT: ) (func $b3 (call $a3 (i32.const 3)) ) - ;; CHECK: (func $b33 (type $none_=>_none) + ;; CHECK: (func $b33 (type $0) ;; CHECK-NEXT: (call $a3) ;; CHECK-NEXT: ) (func $b33 (call $a3 (i32.const 4)) ) - ;; CHECK: (func $a4 (type $i32_=>_none) (param $x i32) + ;; CHECK: (func $a4 (type $1) (param $x i32) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $a4 (param $x i32) ;; diff value, but with effects ) - ;; CHECK: (func $b4 (type $none_=>_none) + ;; CHECK: (func $b4 (type $0) ;; CHECK-NEXT: (call $a4 ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) @@ -122,7 +122,7 @@ (func $b4 (call $a4 (unreachable)) ) - ;; CHECK: (func $b43 (type $none_=>_none) + ;; CHECK: (func $b43 (type $0) ;; CHECK-NEXT: (call $a4 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) @@ -130,7 +130,7 @@ (func $b43 (call $a4 (i32.const 4)) ) - ;; CHECK: (func $a5 (type $none_=>_none) + ;; CHECK: (func $a5 (type $0) ;; CHECK-NEXT: (local $0 f64) ;; CHECK-NEXT: (local $1 i32) ;; CHECK-NEXT: (local.set $0 @@ -154,13 +154,13 @@ (drop (local.get $x)) (drop (local.get $y)) ) - ;; CHECK: (func $b5 (type $none_=>_none) + ;; CHECK: (func $b5 (type $0) ;; CHECK-NEXT: (call $a5) ;; CHECK-NEXT: ) (func $b5 (call $a5 (i32.const 1) (f64.const 3.14159)) ) - ;; CHECK: (func $a6 (type $i32_=>_none) (param $0 i32) + ;; CHECK: (func $a6 (type $1) (param $0 i32) ;; CHECK-NEXT: (local $1 f64) ;; CHECK-NEXT: (local.set $1 ;; CHECK-NEXT: (f64.const 3.14159) @@ -178,7 +178,7 @@ (drop (local.get $x)) (drop (local.get $y)) ) - ;; CHECK: (func $b6 (type $none_=>_none) + ;; CHECK: (func $b6 (type $0) ;; CHECK-NEXT: (call $a6 ;; CHECK-NEXT: (call $get-i32) ;; CHECK-NEXT: ) @@ -186,7 +186,7 @@ (func $b6 (call $a6 (call $get-i32) (f64.const 3.14159)) ) - ;; CHECK: (func $a7 (type $f64_=>_none) (param $0 f64) + ;; CHECK: (func $a7 (type $4) (param $0 f64) ;; CHECK-NEXT: (local $1 i32) ;; CHECK-NEXT: (local.set $1 ;; CHECK-NEXT: (i32.const 1) @@ -204,7 +204,7 @@ (drop (local.get $x)) (drop (local.get $y)) ) - ;; CHECK: (func $b7 (type $none_=>_none) + ;; CHECK: (func $b7 (type $0) ;; CHECK-NEXT: (call $a7 ;; CHECK-NEXT: (call $get-f64) ;; CHECK-NEXT: ) @@ -212,11 +212,11 @@ (func $b7 (call $a7 (i32.const 1) (call $get-f64)) ) - ;; CHECK: (func $a8 (type $i32_=>_none) (param $x i32) + ;; CHECK: (func $a8 (type $1) (param $x i32) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $a8 (param $x i32)) ;; exported, do not optimize - ;; CHECK: (func $b8 (type $none_=>_none) + ;; CHECK: (func $b8 (type $0) ;; CHECK-NEXT: (call $a8 ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) @@ -224,11 +224,11 @@ (func $b8 (call $a8 (i32.const 1)) ) - ;; CHECK: (func $a9 (type $i32_=>_none) (param $x i32) + ;; CHECK: (func $a9 (type $1) (param $x i32) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $a9 (param $x i32)) ;; tabled, do not optimize - ;; CHECK: (func $b9 (type $none_=>_none) + ;; CHECK: (func $b9 (type $0) ;; CHECK-NEXT: (call $a9 ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) @@ -236,7 +236,7 @@ (func $b9 (call $a9 (i32.const 1)) ) - ;; CHECK: (func $a10 (type $none_=>_none) + ;; CHECK: (func $a10 (type $0) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (i32.const 1) @@ -250,7 +250,7 @@ (call $a10 (i32.const 1)) (call $a10 (i32.const 1)) ) - ;; CHECK: (func $a11 (type $none_=>_none) + ;; CHECK: (func $a11 (type $0) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (call $a11) ;; CHECK-NEXT: (call $a11) @@ -259,7 +259,7 @@ (call $a11 (i32.const 1)) (call $a11 (i32.const 2)) ) - ;; CHECK: (func $a12 (type $i32_=>_none) (param $x i32) + ;; CHECK: (func $a12 (type $1) (param $x i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) @@ -276,7 +276,7 @@ (call $a12 (i32.const 2)) ) ;; return values - ;; CHECK: (func $c1 (type $none_=>_none) + ;; CHECK: (func $c1 (type $0) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (call $c2) ;; CHECK-NEXT: (call $c3) @@ -308,7 +308,7 @@ (drop (call $c7)) (drop (call $c8)) ) - ;; CHECK: (func $c2 (type $none_=>_none) + ;; CHECK: (func $c2 (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) @@ -316,7 +316,7 @@ (func $c2 (result i32) (i32.const 1) ) - ;; CHECK: (func $c3 (type $none_=>_none) + ;; CHECK: (func $c3 (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) @@ -324,13 +324,13 @@ (func $c3 (result i32) (i32.const 2) ) - ;; CHECK: (func $c4 (type $none_=>_i32) (result i32) + ;; CHECK: (func $c4 (type $2) (result i32) ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) (func $c4 (result i32) (i32.const 3) ) - ;; CHECK: (func $c5 (type $i32_=>_none) (param $x i32) + ;; CHECK: (func $c5 (type $1) (param $x i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) @@ -338,13 +338,13 @@ (func $c5 (param $x i32) (result i32) (local.get $x) ) - ;; CHECK: (func $c6 (type $none_=>_none) + ;; CHECK: (func $c6 (type $0) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) (func $c6 (result i32) (unreachable) ) - ;; CHECK: (func $c7 (type $none_=>_none) + ;; CHECK: (func $c7 (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) @@ -353,7 +353,7 @@ (func $c7 (result i32) (return (i32.const 4)) ) - ;; CHECK: (func $c8 (type $none_=>_i32) (result i32) + ;; CHECK: (func $c8 (type $2) (result i32) ;; CHECK-NEXT: (i32.const 5) ;; CHECK-NEXT: ) (func $c8 (result i32) @@ -368,15 +368,15 @@ ) ) ) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (export "a" (func $0)) - ;; CHECK: (func $0 (type $none_=>_none) + ;; CHECK: (func $0 (type $0) ;; CHECK-NEXT: (call $b) ;; CHECK-NEXT: ) - ;; CHECK: (func $b (type $none_=>_none) + ;; CHECK: (func $b (type $0) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result i32) @@ -392,11 +392,11 @@ ) ) (module ;; tail calls inhibit dropped result removal - ;; CHECK: (type $i32_=>_i32 (func (param i32) (result i32))) + ;; CHECK: (type $0 (func (param i32) (result i32))) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $1 (func (result i32))) - ;; CHECK: (func $foo (type $i32_=>_i32) (param $x i32) (result i32) + ;; CHECK: (func $foo (type $0) (param $x i32) (result i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (return_call $bar) ;; CHECK-NEXT: ) @@ -410,7 +410,7 @@ ) (i32.const 42) ) - ;; CHECK: (func $bar (type $none_=>_i32) (result i32) + ;; CHECK: (func $bar (type $1) (result i32) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (i32.const 0) @@ -425,7 +425,7 @@ ;; CHECK: (type $T (func (result i32))) (type $T (func (result i32))) (table 1 1 funcref) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) ;; CHECK: (table $0 1 1 funcref) @@ -447,7 +447,7 @@ ) ) ) - ;; CHECK: (func $bar (type $none_=>_none) + ;; CHECK: (func $bar (type $1) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $foo) ;; CHECK-NEXT: ) @@ -461,15 +461,15 @@ ) ) (module - ;; CHECK: (type $funcref_i32_f64_=>_i64 (func (param funcref i32 f64) (result i64))) + ;; CHECK: (type $0 (func (param funcref i32 f64) (result i64))) - ;; CHECK: (type $f32_=>_funcref (func (param f32) (result funcref))) + ;; CHECK: (type $1 (func (param f32) (result funcref))) ;; CHECK: (elem declare func $0) ;; CHECK: (export "export" (func $1)) - ;; CHECK: (func $0 (type $funcref_i32_f64_=>_i64) (param $0 funcref) (param $1 i32) (param $2 f64) (result i64) + ;; CHECK: (func $0 (type $0) (param $0 funcref) (param $1 i32) (param $2 f64) (result i64) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) @@ -483,13 +483,13 @@ (ref.func $0) ) ) -;; CHECK: (func $1 (type $f32_=>_funcref) (param $0 f32) (result funcref) +;; CHECK: (func $1 (type $1) (param $0 f32) (result funcref) ;; CHECK-NEXT: (ref.func $0) ;; CHECK-NEXT: ) (module ;; CHECK: (type $i64 (func (param i64))) (type $i64 (func (param i64))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) ;; CHECK: (global $global$0 (ref $i64) (ref.func $0)) (global $global$0 (ref $i64) (ref.func $0)) @@ -503,7 +503,7 @@ (func $0 (param $0 i64) (unreachable) ) - ;; CHECK: (func $1 (type $none_=>_none) + ;; CHECK: (func $1 (type $1) ;; CHECK-NEXT: (call_ref $i64 ;; CHECK-NEXT: (i64.const 0) ;; CHECK-NEXT: (global.get $global$0) @@ -515,7 +515,7 @@ (global.get $global$0) ) ) - ;; CHECK: (func $2 (type $none_=>_none) + ;; CHECK: (func $2 (type $1) ;; CHECK-NEXT: (call $0 ;; CHECK-NEXT: (i64.const 0) ;; CHECK-NEXT: ) @@ -528,16 +528,16 @@ ) (module ;; a removable non-nullable parameter - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (func $0 (type $none_=>_none) + ;; CHECK: (func $0 (type $0) ;; CHECK-NEXT: (local $0 i31ref) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $0 (param $x i31ref) (nop) ) - ;; CHECK: (func $1 (type $none_=>_none) + ;; CHECK: (func $1 (type $0) ;; CHECK-NEXT: (call $0) ;; CHECK-NEXT: ) (func $1 @@ -550,11 +550,11 @@ ;; Arguments that read an immutable global can be optimized, as that is a ;; constant value. (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $1 (func (param i32))) - ;; CHECK: (type $i32_i32_=>_none (func (param i32 i32))) + ;; CHECK: (type $2 (func (param i32 i32))) ;; CHECK: (global $immut i32 (i32.const 42)) (global $immut i32 (i32.const 42)) @@ -565,7 +565,7 @@ ;; CHECK: (global $mut (mut i32) (i32.const 1337)) (global $mut (mut i32) (i32.const 1337)) - ;; CHECK: (func $foo (type $i32_=>_none) (param $0 i32) + ;; CHECK: (func $foo (type $1) (param $0 i32) ;; CHECK-NEXT: (local $1 i32) ;; CHECK-NEXT: (local.set $1 ;; CHECK-NEXT: (global.get $immut) @@ -585,7 +585,7 @@ (drop (local.get $y)) ) - ;; CHECK: (func $foo-caller (type $none_=>_none) + ;; CHECK: (func $foo-caller (type $0) ;; CHECK-NEXT: (global.set $mut ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) @@ -615,7 +615,7 @@ ) ) - ;; CHECK: (func $bar (type $i32_i32_=>_none) (param $x i32) (param $y i32) + ;; CHECK: (func $bar (type $2) (param $x i32) (param $y i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) @@ -628,7 +628,7 @@ (drop (local.get $y)) ) - ;; CHECK: (func $bar-caller (type $none_=>_none) + ;; CHECK: (func $bar-caller (type $0) ;; CHECK-NEXT: (global.set $mut ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) @@ -660,9 +660,9 @@ ) (module - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $0 (func (param i32))) - ;; CHECK: (func $0 (type $i32_=>_none) (param $0 i32) + ;; CHECK: (func $0 (type $0) (param $0 i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $0 ;; CHECK-NEXT: (block @@ -697,7 +697,7 @@ ;; CHECK: (type $A (func (result (ref $A)))) (type $A (func (result (ref $A)))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) ;; CHECK: (func $no-caller (type $A) (result (ref $A)) ;; CHECK-NEXT: (block ;; (replaces something unreachable we can't emit) @@ -717,7 +717,7 @@ ) ) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $1) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $no-caller) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/dae_tnh.wast b/test/lit/passes/dae_tnh.wast index 40a750e2e..ea2d95433 100644 --- a/test/lit/passes/dae_tnh.wast +++ b/test/lit/passes/dae_tnh.wast @@ -3,14 +3,14 @@ ;; RUN: foreach %s %t wasm-opt --dae --all-features -tnh -S -o - | filecheck %s (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (type $struct (struct (field i32))) (type $struct (struct_subtype (field i32) data)) - ;; CHECK: (type $ref?|$struct|_=>_none (func (param (ref null $struct)))) + ;; CHECK: (type $2 (func (param (ref null $struct)))) - ;; CHECK: (func $target (type $none_=>_none) + ;; CHECK: (func $target (type $0) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) @@ -18,7 +18,7 @@ (nop) ) - ;; CHECK: (func $caller (type $ref?|$struct|_=>_none) (param $ref (ref null $struct)) + ;; CHECK: (func $caller (type $2) (param $ref (ref null $struct)) ;; CHECK-NEXT: (call $target) ;; CHECK-NEXT: ) (func $caller (param $ref (ref null $struct)) @@ -34,11 +34,11 @@ ) (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $1 (func (param i32))) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $0) ;; CHECK-NEXT: (call $target ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) @@ -52,7 +52,7 @@ ) ) - ;; CHECK: (func $target (type $i32_=>_none) (param $0 i32) + ;; CHECK: (func $target (type $1) (param $0 i32) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $target (param i32) @@ -62,9 +62,9 @@ ;; As above, but use a return_call. We can optimize that, since return_calls ;; have type unreachable anyhow, and the optimization would not change the type. (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $0) ;; CHECK-NEXT: (return_call $target) ;; CHECK-NEXT: ) (func $caller @@ -73,7 +73,7 @@ ) ) - ;; CHECK: (func $target (type $none_=>_none) + ;; CHECK: (func $target (type $0) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) @@ -82,11 +82,11 @@ ) (module - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $0 (func (param i32))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) - ;; CHECK: (func $target (type $i32_=>_none) (param $0 i32) + ;; CHECK: (func $target (type $0) (param $0 i32) ;; CHECK-NEXT: (local $1 f64) ;; CHECK-NEXT: (local.set $1 ;; CHECK-NEXT: (f64.const 4.2) @@ -102,7 +102,7 @@ ) ) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $1) ;; CHECK-NEXT: (call $target ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/dce-eh.wast b/test/lit/passes/dce-eh.wast index 28a4bc649..5915eb7bd 100644 --- a/test/lit/passes/dce-eh.wast +++ b/test/lit/passes/dce-eh.wast @@ -6,14 +6,14 @@ (module ;; CHECK: (tag $e (param)) - ;; CHECK: (func $foo (type $none_=>_none) + ;; CHECK: (func $foo (type $0) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $foo) (tag $e) - ;; CHECK: (func $try_unreachable (type $none_=>_none) + ;; CHECK: (func $try_unreachable (type $0) ;; CHECK-NEXT: (try $try ;; CHECK-NEXT: (do ;; CHECK-NEXT: (unreachable) @@ -34,7 +34,7 @@ (call $foo) ;; shouldn't be dce'd ) - ;; CHECK: (func $catch_unreachable (type $none_=>_none) + ;; CHECK: (func $catch_unreachable (type $0) ;; CHECK-NEXT: (try $try ;; CHECK-NEXT: (do ;; CHECK-NEXT: (nop) @@ -55,7 +55,7 @@ (call $foo) ;; shouldn't be dce'd ) - ;; CHECK: (func $both_unreachable (type $none_=>_none) + ;; CHECK: (func $both_unreachable (type $0) ;; CHECK-NEXT: (try $try ;; CHECK-NEXT: (do ;; CHECK-NEXT: (unreachable) @@ -77,7 +77,7 @@ (call $foo) ;; should be dce'd ) - ;; CHECK: (func $throw (type $none_=>_none) + ;; CHECK: (func $throw (type $0) ;; CHECK-NEXT: (block $label$0 ;; CHECK-NEXT: (block $label$1 ;; CHECK-NEXT: (throw $e) @@ -101,7 +101,7 @@ ) ) - ;; CHECK: (func $rethrow (type $none_=>_none) + ;; CHECK: (func $rethrow (type $0) ;; CHECK-NEXT: (try $l0 ;; CHECK-NEXT: (do ;; CHECK-NEXT: (nop) diff --git a/test/lit/passes/dce_all-features.wast b/test/lit/passes/dce_all-features.wast index cda928e61..d79426dad 100644 --- a/test/lit/passes/dce_all-features.wast +++ b/test/lit/passes/dce_all-features.wast @@ -5,22 +5,22 @@ (module (memory 10) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $0 (func (result i32))) ;; CHECK: (type $1 (func)) - ;; CHECK: (type $i32_=>_i32 (func (param i32) (result i32))) + ;; CHECK: (type $2 (func (param i32) (result i32))) ;; CHECK: (type $ii (func (param i32 i32))) (type $ii (func (param i32 i32))) (type $1 (func)) (table 1 1 funcref) (elem (i32.const 0) $call-me) - ;; CHECK: (type $i64_i64_=>_i64 (func (param i64 i64) (result i64))) + ;; CHECK: (type $4 (func (param i64 i64) (result i64))) - ;; CHECK: (type $f32_i64_=>_none (func (param f32 i64))) + ;; CHECK: (type $5 (func (param f32 i64))) - ;; CHECK: (type $f32_i64_=>_i32 (func (param f32 i64) (result i32))) + ;; CHECK: (type $6 (func (param f32 i64) (result i32))) ;; CHECK: (global $x (mut i32) (i32.const 0)) (global $x (mut i32) (i32.const 0)) @@ -691,7 +691,7 @@ (i32.const 2000) ) ) - ;; CHECK: (func $typed-block-none-then-unreachable (type $none_=>_i32) (result i32) + ;; CHECK: (func $typed-block-none-then-unreachable (type $0) (result i32) ;; CHECK-NEXT: (block $top-typed ;; CHECK-NEXT: (block $switch$0 ;; CHECK-NEXT: (return @@ -713,7 +713,7 @@ ) ) ) - ;; CHECK: (func $typed-block-remove-br-changes-type (type $i32_=>_i32) (param $$$0 i32) (result i32) + ;; CHECK: (func $typed-block-remove-br-changes-type (type $2) (param $$$0 i32) (result i32) ;; CHECK-NEXT: (block $switch$7 ;; CHECK-NEXT: (block $switch-default$10 ;; CHECK-NEXT: (block $switch-case$9 @@ -763,7 +763,7 @@ (drop (global.get $x)) (global.set $x (i32.const 1)) ) - ;; CHECK: (func $ret (type $none_=>_i32) (result i32) + ;; CHECK: (func $ret (type $0) (result i32) ;; CHECK-NEXT: (return ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -775,7 +775,7 @@ (nop) (i32.const 0) ) - ;; CHECK: (func $unreachable-br (type $none_=>_i32) (result i32) + ;; CHECK: (func $unreachable-br (type $0) (result i32) ;; CHECK-NEXT: (block $out (result i32) ;; CHECK-NEXT: (br $out ;; CHECK-NEXT: (i32.const 0) @@ -789,7 +789,7 @@ ) ) ) - ;; CHECK: (func $unreachable-br-loop (type $none_=>_i32) (result i32) + ;; CHECK: (func $unreachable-br-loop (type $0) (result i32) ;; CHECK-NEXT: (loop $out ;; CHECK-NEXT: (br $out) ;; CHECK-NEXT: ) @@ -799,7 +799,7 @@ (br $out) ) ) - ;; CHECK: (func $unreachable-block-ends-switch (type $none_=>_i32) (result i32) + ;; CHECK: (func $unreachable-block-ends-switch (type $0) (result i32) ;; CHECK-NEXT: (block $label$0 ;; CHECK-NEXT: (block $label$3 ;; CHECK-NEXT: (nop) @@ -819,7 +819,7 @@ (i32.const 19) ) ) - ;; CHECK: (func $unreachable-block-ends-br_if (type $none_=>_i32) (result i32) + ;; CHECK: (func $unreachable-block-ends-br_if (type $0) (result i32) ;; CHECK-NEXT: (block $label$0 ;; CHECK-NEXT: (block $label$2 ;; CHECK-NEXT: (nop) @@ -839,7 +839,7 @@ (i32.const 19) ) ) - ;; CHECK: (func $unreachable-brs-3 (type $none_=>_i32) (result i32) + ;; CHECK: (func $unreachable-brs-3 (type $0) (result i32) ;; CHECK-NEXT: (block $label$0 (result i32) ;; CHECK-NEXT: (br $label$0 ;; CHECK-NEXT: (i32.const 18) @@ -858,7 +858,7 @@ (i32.const 21) ) ) - ;; CHECK: (func $unreachable-brs-4 (type $i32_=>_i32) (param $var$0 i32) (result i32) + ;; CHECK: (func $unreachable-brs-4 (type $2) (param $var$0 i32) (result i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) @@ -892,7 +892,7 @@ ) ) ) - ;; CHECK: (func $call-unreach (type $i64_i64_=>_i64) (param $var$0 i64) (param $var$1 i64) (result i64) + ;; CHECK: (func $call-unreach (type $4) (param $var$0 i64) (param $var$1 i64) (result i64) ;; CHECK-NEXT: (local $2 i64) ;; CHECK-NEXT: (if (result i64) ;; CHECK-NEXT: (i64.eqz @@ -954,7 +954,7 @@ ) ) ) - ;; CHECK: (func $br-gone-means-block-type-changes-then-refinalize-at-end-is-too-late (type $i32_=>_i32) (param $var$0 i32) (result i32) + ;; CHECK: (func $br-gone-means-block-type-changes-then-refinalize-at-end-is-too-late (type $2) (param $var$0 i32) (result i32) ;; CHECK-NEXT: (block $label$0 ;; CHECK-NEXT: (block ;; CHECK-NEXT: (nop) @@ -978,7 +978,7 @@ ) ) ) - ;; CHECK: (func $br-with-unreachable-value-should-not-give-a-block-a-value (type $i32_=>_i32) (param $var$0 i32) (result i32) + ;; CHECK: (func $br-with-unreachable-value-should-not-give-a-block-a-value (type $2) (param $var$0 i32) (result i32) ;; CHECK-NEXT: (block $label$0 (result i32) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (drop @@ -1007,7 +1007,7 @@ (i32.const 16) ) ) - ;; CHECK: (func $replace-br-value-of-i32-with-unreachable (type $none_=>_i32) (result i32) + ;; CHECK: (func $replace-br-value-of-i32-with-unreachable (type $0) (result i32) ;; CHECK-NEXT: (block $label$0 ;; CHECK-NEXT: (block $label$1 ;; CHECK-NEXT: (nop) @@ -1039,7 +1039,7 @@ ) ) ) - ;; CHECK: (func $block-with-type-but-is-unreachable (type $i32_=>_i32) (param $var$0 i32) (result i32) + ;; CHECK: (func $block-with-type-but-is-unreachable (type $2) (param $var$0 i32) (result i32) ;; CHECK-NEXT: (block $label$0 ;; CHECK-NEXT: (block $block ;; CHECK-NEXT: (nop) @@ -1057,7 +1057,7 @@ ) ) ) - ;; CHECK: (func $if-with-type-but-is-unreachable (type $i32_=>_i32) (param $var$0 i32) (result i32) + ;; CHECK: (func $if-with-type-but-is-unreachable (type $2) (param $var$0 i32) (result i32) ;; CHECK-NEXT: (block $label$0 ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $var$0) @@ -1086,7 +1086,7 @@ (br $label$2) ) ) - ;; CHECK: (func $br-block-from-unary (type $none_=>_i32) (result i32) + ;; CHECK: (func $br-block-from-unary (type $0) (result i32) ;; CHECK-NEXT: (block $label$6 (result i32) ;; CHECK-NEXT: (block $label$7 ;; CHECK-NEXT: (br $label$6 @@ -1143,7 +1143,7 @@ ) ) ) - ;; CHECK: (func $replace-with-unreachable-affects-parent (type $f32_i64_=>_none) (param $var$0 f32) (param $var$1 i64) + ;; CHECK: (func $replace-with-unreachable-affects-parent (type $5) (param $var$0 f32) (param $var$1 i64) ;; CHECK-NEXT: (block $top ;; CHECK-NEXT: (block ;; CHECK-NEXT: (drop @@ -1232,7 +1232,7 @@ ) ) ) - ;; CHECK: (func $helper (type $f32_i64_=>_i32) (param $var$0 f32) (param $var$1 i64) (result i32) + ;; CHECK: (func $helper (type $6) (param $var$0 f32) (param $var$1 i64) (result i32) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) (func $helper (param $var$0 f32) (param $var$1 i64) (result i32) @@ -1241,11 +1241,11 @@ ) ;; if goes to unreachable, need to propagate that up to the global.set (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (global $global (mut f64) (f64.const 0)) (global $global (mut f64) (f64.const 0)) - ;; CHECK: (func $0 (type $none_=>_none) + ;; CHECK: (func $0 (type $0) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (unreachable) @@ -1263,9 +1263,9 @@ ) ) (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (func $0 (type $none_=>_none) + ;; CHECK: (func $0 (type $0) ;; CHECK-NEXT: (local $local f64) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 0) @@ -1286,11 +1286,11 @@ ) (module - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $0 (func (result i32))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) - ;; CHECK: (func $unnecessary-concrete-block (type $none_=>_i32) (result i32) + ;; CHECK: (func $unnecessary-concrete-block (type $0) (result i32) ;; CHECK-NEXT: (block $foo ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (unreachable) @@ -1302,7 +1302,7 @@ (unreachable) ) ) - ;; CHECK: (func $necessary-concrete-block (type $none_=>_i32) (result i32) + ;; CHECK: (func $necessary-concrete-block (type $0) (result i32) ;; CHECK-NEXT: (block $foo (result i32) ;; CHECK-NEXT: (br $foo ;; CHECK-NEXT: (i32.const 1) @@ -1315,7 +1315,7 @@ (unreachable) ) ) - ;; CHECK: (func $unnecessary-concrete-if (type $none_=>_i32) (result i32) + ;; CHECK: (func $unnecessary-concrete-if (type $0) (result i32) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (return @@ -1331,7 +1331,7 @@ (unreachable) ) ) - ;; CHECK: (func $unnecessary-concrete-try (type $none_=>_i32) (result i32) + ;; CHECK: (func $unnecessary-concrete-try (type $0) (result i32) ;; CHECK-NEXT: (try $try ;; CHECK-NEXT: (do ;; CHECK-NEXT: (unreachable) @@ -1351,7 +1351,7 @@ ) ) ) - ;; CHECK: (func $note-loss-of-if-children (type $none_=>_none) + ;; CHECK: (func $note-loss-of-if-children (type $1) ;; CHECK-NEXT: (block $label$1 ;; CHECK-NEXT: (block $label$2 ;; CHECK-NEXT: (nop) @@ -1373,7 +1373,7 @@ ) ) ) - ;; CHECK: (func $note-loss-of-non-control-flow-children (type $none_=>_none) + ;; CHECK: (func $note-loss-of-non-control-flow-children (type $1) ;; CHECK-NEXT: (block $out ;; CHECK-NEXT: (block ;; CHECK-NEXT: (nop) @@ -1396,9 +1396,9 @@ ) ) (module - ;; CHECK: (type $none_=>_ref|any| (func (result (ref any)))) + ;; CHECK: (type $0 (func (result (ref any)))) - ;; CHECK: (func $br_on_non_null (type $none_=>_ref|any|) (result (ref any)) + ;; CHECK: (func $br_on_non_null (type $0) (result (ref any)) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) (func $br_on_non_null (result (ref any)) @@ -1415,7 +1415,7 @@ ) ) - ;; CHECK: (func $br_on_cast_fail (type $none_=>_ref|any|) (result (ref any)) + ;; CHECK: (func $br_on_cast_fail (type $0) (result (ref any)) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) (func $br_on_cast_fail (result (ref any)) @@ -1430,9 +1430,9 @@ ) (module - ;; CHECK: (type $none_=>_anyref (func (result anyref))) + ;; CHECK: (type $0 (func (result anyref))) - ;; CHECK: (func $if (type $none_=>_anyref) (result anyref) + ;; CHECK: (func $if (type $0) (result anyref) ;; CHECK-NEXT: (ref.cast i31ref ;; CHECK-NEXT: (if (result i31ref) ;; CHECK-NEXT: (i32.const 0) @@ -1464,7 +1464,7 @@ ) ) - ;; CHECK: (func $try (type $none_=>_anyref) (result anyref) + ;; CHECK: (func $try (type $0) (result anyref) ;; CHECK-NEXT: (try $try (result i31ref) ;; CHECK-NEXT: (do ;; CHECK-NEXT: (drop diff --git a/test/lit/passes/dce_vacuum_remove-unused-names.wast b/test/lit/passes/dce_vacuum_remove-unused-names.wast index 96a3d8f6b..b7a53d61b 100644 --- a/test/lit/passes/dce_vacuum_remove-unused-names.wast +++ b/test/lit/passes/dce_vacuum_remove-unused-names.wast @@ -4,11 +4,11 @@ ;; RUN: foreach %s %t wasm-opt --dce --vacuum --remove-unused-names -S -o - | filecheck %s (module - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $0 (func (result i32))) - ;; CHECK: (type $f32_f32_=>_f32 (func (param f32 f32) (result f32))) + ;; CHECK: (type $1 (func (param f32 f32) (result f32))) - ;; CHECK: (type $i64_=>_i64 (func (param i64) (result i64))) + ;; CHECK: (type $2 (func (param i64) (result i64))) ;; CHECK: (func $__Z12serveroptionPc (result i32) ;; CHECK-NEXT: (return diff --git a/test/lit/passes/dealign.wast b/test/lit/passes/dealign.wast index ba07da1ed..68bc1165b 100644 --- a/test/lit/passes/dealign.wast +++ b/test/lit/passes/dealign.wast @@ -4,7 +4,7 @@ ;; RUN: foreach %s %t wasm-opt --dealign -S -o - | filecheck %s (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (memory $0 1 1) (memory $0 1 1) diff --git a/test/lit/passes/dealign64.wast b/test/lit/passes/dealign64.wast index 64f082550..e2d7b7895 100644 --- a/test/lit/passes/dealign64.wast +++ b/test/lit/passes/dealign64.wast @@ -4,7 +4,7 @@ ;; RUN: foreach %s %t wasm-opt --dealign --enable-memory64 -S -o - | filecheck %s (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (memory $0 i64 1 1) (memory $0 i64 1 1) diff --git a/test/lit/passes/denan.wast b/test/lit/passes/denan.wast index e55888132..1932ce534 100644 --- a/test/lit/passes/denan.wast +++ b/test/lit/passes/denan.wast @@ -4,13 +4,13 @@ ;; RUN: foreach %s %t wasm-opt --denan -S -o - | filecheck %s (module - ;; CHECK: (type $f32_=>_f32 (func (param f32) (result f32))) + ;; CHECK: (type $0 (func (param f32) (result f32))) - ;; CHECK: (type $f64_=>_f64 (func (param f64) (result f64))) + ;; CHECK: (type $1 (func (param f64) (result f64))) - ;; CHECK: (type $i32_f32_i64_f64_=>_none (func (param i32 f32 i64 f64))) + ;; CHECK: (type $2 (func (param i32 f32 i64 f64))) - ;; CHECK: (type $f32_f64_=>_none (func (param f32 f64))) + ;; CHECK: (type $3 (func (param f32 f64))) ;; CHECK: (global $global$1 (mut f32) (f32.const 0)) (global $global$1 (mut f32) (f32.const nan)) @@ -202,11 +202,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (type $f32_=>_f32 (func (param f32) (result f32))) + ;; CHECK: (type $1 (func (param f32) (result f32))) - ;; CHECK: (type $f64_=>_f64 (func (param f64) (result f64))) + ;; CHECK: (type $2 (func (param f64) (result f64))) ;; CHECK: (func $deNan32 ;; CHECK-NEXT: (nop) diff --git a/test/lit/passes/directize_all-features.wast b/test/lit/passes/directize_all-features.wast index acac22a3e..0b55679c4 100644 --- a/test/lit/passes/directize_all-features.wast +++ b/test/lit/passes/directize_all-features.wast @@ -54,10 +54,10 @@ ;; CHECK: (type $ii (func (param i32 i32))) ;; IMMUT: (type $ii (func (param i32 i32))) (type $ii (func (param i32 i32))) - ;; CHECK: (type $i32_=>_i32 (func (param i32) (result i32))) + ;; CHECK: (type $1 (func (param i32) (result i32))) ;; CHECK: (table $0 5 5 funcref) - ;; IMMUT: (type $i32_=>_i32 (func (param i32) (result i32))) + ;; IMMUT: (type $1 (func (param i32) (result i32))) ;; IMMUT: (table $0 5 5 funcref) (table $0 5 5 funcref) @@ -70,14 +70,14 @@ ;; CHECK: (elem $1 (table $1) (i32.const 1) func $f) - ;; CHECK: (func $dummy (type $i32_=>_i32) (param $0 i32) (result i32) + ;; CHECK: (func $dummy (type $1) (param $0 i32) (result i32) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; IMMUT: (elem $0 (table $0) (i32.const 1) func $dummy) ;; IMMUT: (elem $1 (table $1) (i32.const 1) func $f) - ;; IMMUT: (func $dummy (type $i32_=>_i32) (param $0 i32) (result i32) + ;; IMMUT: (func $dummy (type $1) (param $0 i32) (result i32) ;; IMMUT-NEXT: (local.get $0) ;; IMMUT-NEXT: ) (func $dummy (param i32) (result i32) @@ -474,10 +474,10 @@ ;; CHECK: (type $ii (func (param i32 i32))) ;; IMMUT: (type $ii (func (param i32 i32))) (type $ii (func (param i32 i32))) - ;; CHECK: (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) + ;; CHECK: (type $1 (func (param i32 i32 i32))) ;; CHECK: (table $0 5 5 funcref) - ;; IMMUT: (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) + ;; IMMUT: (type $1 (func (param i32 i32 i32))) ;; IMMUT: (table $0 5 5 funcref) (table $0 5 5 funcref) @@ -495,14 +495,14 @@ (func $foo (param i32) (param i32) (unreachable) ) - ;; CHECK: (func $bar (type $i32_i32_i32_=>_none) (param $x i32) (param $y i32) (param $z i32) + ;; CHECK: (func $bar (type $1) (param $x i32) (param $y i32) (param $z i32) ;; CHECK-NEXT: (call_indirect $0 (type $ii) ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: (local.get $y) ;; CHECK-NEXT: (local.get $z) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; IMMUT: (func $bar (type $i32_i32_i32_=>_none) (param $x i32) (param $y i32) (param $z i32) + ;; IMMUT: (func $bar (type $1) (param $x i32) (param $y i32) (param $z i32) ;; IMMUT-NEXT: (call_indirect $0 (type $ii) ;; IMMUT-NEXT: (local.get $x) ;; IMMUT-NEXT: (local.get $y) @@ -607,10 +607,10 @@ ;; bad type (module - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $0 (func (param i32))) ;; CHECK: (type $ii (func (param i32 i32))) - ;; IMMUT: (type $i32_=>_none (func (param i32))) + ;; IMMUT: (type $0 (func (param i32))) ;; IMMUT: (type $ii (func (param i32 i32))) (type $ii (func (param i32 i32))) @@ -620,12 +620,12 @@ (elem (i32.const 1) $foo) ;; CHECK: (elem $0 (i32.const 1) $foo) - ;; CHECK: (func $foo (type $i32_=>_none) (param $0 i32) + ;; CHECK: (func $foo (type $0) (param $0 i32) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; IMMUT: (elem $0 (i32.const 1) $foo) - ;; IMMUT: (func $foo (type $i32_=>_none) (param $0 i32) + ;; IMMUT: (func $foo (type $0) (param $0 i32) ;; IMMUT-NEXT: (unreachable) ;; IMMUT-NEXT: ) (func $foo (param i32) @@ -648,14 +648,14 @@ ;; no table (module - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $0 (func (param i32))) - ;; CHECK: (func $foo (type $i32_=>_none) (param $0 i32) + ;; CHECK: (func $foo (type $0) (param $0 i32) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) - ;; IMMUT: (type $i32_=>_none (func (param i32))) + ;; IMMUT: (type $0 (func (param i32))) - ;; IMMUT: (func $foo (type $i32_=>_none) (param $0 i32) + ;; IMMUT: (func $foo (type $0) (param $0 i32) ;; IMMUT-NEXT: (unreachable) ;; IMMUT-NEXT: ) (func $foo (param i32) @@ -666,18 +666,18 @@ ;; change types (module (type (func)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (table $0 8 8 funcref) - ;; IMMUT: (type $none_=>_none (func)) + ;; IMMUT: (type $0 (func)) ;; IMMUT: (table $0 8 8 funcref) (table $0 8 8 funcref) - ;; CHECK: (func $0 (type $none_=>_none) + ;; CHECK: (func $0 (type $0) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) - ;; IMMUT: (func $0 (type $none_=>_none) + ;; IMMUT: (func $0 (type $0) ;; IMMUT-NEXT: (nop) ;; IMMUT-NEXT: (unreachable) ;; IMMUT-NEXT: ) @@ -734,20 +734,20 @@ ) (module - ;; CHECK: (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) + ;; CHECK: (type $0 (func (param i32 i32 i32))) ;; CHECK: (type $ii (func (param i32 i32))) - ;; IMMUT: (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) + ;; IMMUT: (type $0 (func (param i32 i32 i32))) ;; IMMUT: (type $ii (func (param i32 i32))) (type $ii (func (param i32 i32))) (type $none (func)) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $2 (func (param i32))) ;; CHECK: (table $0 5 5 funcref) - ;; IMMUT: (type $i32_=>_none (func (param i32))) + ;; IMMUT: (type $2 (func (param i32))) ;; IMMUT: (table $0 5 5 funcref) (table $0 5 5 funcref) @@ -774,7 +774,7 @@ (func $foo2 (param i32) (param i32) (unreachable) ) - ;; CHECK: (func $select (type $i32_i32_i32_=>_none) (param $x i32) (param $y i32) (param $z i32) + ;; CHECK: (func $select (type $0) (param $x i32) (param $y i32) (param $z i32) ;; CHECK-NEXT: (local $3 i32) ;; CHECK-NEXT: (local $4 i32) ;; CHECK-NEXT: (local.set $3 @@ -795,7 +795,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; IMMUT: (func $select (type $i32_i32_i32_=>_none) (param $x i32) (param $y i32) (param $z i32) + ;; IMMUT: (func $select (type $0) (param $x i32) (param $y i32) (param $z i32) ;; IMMUT-NEXT: (local $3 i32) ;; IMMUT-NEXT: (local $4 i32) ;; IMMUT-NEXT: (local.set $3 @@ -829,7 +829,7 @@ ) ) ) - ;; CHECK: (func $select-bad-1 (type $i32_i32_i32_=>_none) (param $x i32) (param $y i32) (param $z i32) + ;; CHECK: (func $select-bad-1 (type $0) (param $x i32) (param $y i32) (param $z i32) ;; CHECK-NEXT: (call_indirect $0 (type $ii) ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: (local.get $y) @@ -840,7 +840,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; IMMUT: (func $select-bad-1 (type $i32_i32_i32_=>_none) (param $x i32) (param $y i32) (param $z i32) + ;; IMMUT: (func $select-bad-1 (type $0) (param $x i32) (param $y i32) (param $z i32) ;; IMMUT-NEXT: (call_indirect $0 (type $ii) ;; IMMUT-NEXT: (local.get $x) ;; IMMUT-NEXT: (local.get $y) @@ -863,7 +863,7 @@ ) ) ) - ;; CHECK: (func $select-bad-2 (type $i32_i32_i32_=>_none) (param $x i32) (param $y i32) (param $z i32) + ;; CHECK: (func $select-bad-2 (type $0) (param $x i32) (param $y i32) (param $z i32) ;; CHECK-NEXT: (call_indirect $0 (type $ii) ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: (local.get $y) @@ -874,7 +874,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; IMMUT: (func $select-bad-2 (type $i32_i32_i32_=>_none) (param $x i32) (param $y i32) (param $z i32) + ;; IMMUT: (func $select-bad-2 (type $0) (param $x i32) (param $y i32) (param $z i32) ;; IMMUT-NEXT: (call_indirect $0 (type $ii) ;; IMMUT-NEXT: (local.get $x) ;; IMMUT-NEXT: (local.get $y) @@ -897,7 +897,7 @@ ) ) ) - ;; CHECK: (func $select-out-of-range (type $i32_i32_i32_=>_none) (param $x i32) (param $y i32) (param $z i32) + ;; CHECK: (func $select-out-of-range (type $0) (param $x i32) (param $y i32) (param $z i32) ;; CHECK-NEXT: (local $3 i32) ;; CHECK-NEXT: (local $4 i32) ;; CHECK-NEXT: (local.set $3 @@ -915,7 +915,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; IMMUT: (func $select-out-of-range (type $i32_i32_i32_=>_none) (param $x i32) (param $y i32) (param $z i32) + ;; IMMUT: (func $select-out-of-range (type $0) (param $x i32) (param $y i32) (param $z i32) ;; IMMUT-NEXT: (local $3 i32) ;; IMMUT-NEXT: (local $4 i32) ;; IMMUT-NEXT: (local.set $3 @@ -946,7 +946,7 @@ ) ) ) - ;; CHECK: (func $select-both-out-of-range (type $i32_i32_i32_=>_none) (param $x i32) (param $y i32) (param $z i32) + ;; CHECK: (func $select-both-out-of-range (type $0) (param $x i32) (param $y i32) (param $z i32) ;; CHECK-NEXT: (local $3 i32) ;; CHECK-NEXT: (local $4 i32) ;; CHECK-NEXT: (local.set $3 @@ -961,7 +961,7 @@ ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; IMMUT: (func $select-both-out-of-range (type $i32_i32_i32_=>_none) (param $x i32) (param $y i32) (param $z i32) + ;; IMMUT: (func $select-both-out-of-range (type $0) (param $x i32) (param $y i32) (param $z i32) ;; IMMUT-NEXT: (local $3 i32) ;; IMMUT-NEXT: (local $4 i32) ;; IMMUT-NEXT: (local.set $3 @@ -988,7 +988,7 @@ ) ) ) - ;; CHECK: (func $select-unreachable-operand (type $i32_i32_i32_=>_none) (param $x i32) (param $y i32) (param $z i32) + ;; CHECK: (func $select-unreachable-operand (type $0) (param $x i32) (param $y i32) (param $z i32) ;; CHECK-NEXT: (call_indirect $0 (type $ii) ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: (local.get $y) @@ -999,7 +999,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; IMMUT: (func $select-unreachable-operand (type $i32_i32_i32_=>_none) (param $x i32) (param $y i32) (param $z i32) + ;; IMMUT: (func $select-unreachable-operand (type $0) (param $x i32) (param $y i32) (param $z i32) ;; IMMUT-NEXT: (call_indirect $0 (type $ii) ;; IMMUT-NEXT: (local.get $x) ;; IMMUT-NEXT: (local.get $y) @@ -1022,7 +1022,7 @@ ) ) ) - ;; CHECK: (func $select-unreachable-condition (type $i32_i32_i32_=>_none) (param $x i32) (param $y i32) (param $z i32) + ;; CHECK: (func $select-unreachable-condition (type $0) (param $x i32) (param $y i32) (param $z i32) ;; CHECK-NEXT: (call_indirect $0 (type $ii) ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: (local.get $y) @@ -1033,7 +1033,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; IMMUT: (func $select-unreachable-condition (type $i32_i32_i32_=>_none) (param $x i32) (param $y i32) (param $z i32) + ;; IMMUT: (func $select-unreachable-condition (type $0) (param $x i32) (param $y i32) (param $z i32) ;; IMMUT-NEXT: (call_indirect $0 (type $ii) ;; IMMUT-NEXT: (local.get $x) ;; IMMUT-NEXT: (local.get $y) @@ -1057,14 +1057,14 @@ ) ) ) - ;; CHECK: (func $select-bad-type (type $i32_=>_none) (param $z i32) + ;; CHECK: (func $select-bad-type (type $2) (param $z i32) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $z) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; IMMUT: (func $select-bad-type (type $i32_=>_none) (param $z i32) + ;; IMMUT: (func $select-bad-type (type $2) (param $z i32) ;; IMMUT-NEXT: (if ;; IMMUT-NEXT: (local.get $z) ;; IMMUT-NEXT: (unreachable) @@ -1087,16 +1087,16 @@ (module ;; CHECK: (type $F (func (param (ref func)))) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $1 (func (param i32))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $2 (func)) ;; CHECK: (table $0 15 15 funcref) ;; IMMUT: (type $F (func (param (ref func)))) - ;; IMMUT: (type $i32_=>_none (func (param i32))) + ;; IMMUT: (type $1 (func (param i32))) - ;; IMMUT: (type $none_=>_none (func)) + ;; IMMUT: (type $2 (func)) ;; IMMUT: (table $0 15 15 funcref) (table $0 15 15 funcref) @@ -1122,8 +1122,8 @@ (unreachable) ) - ;; CHECK: (func $select-non-nullable (type $i32_=>_none) (param $x i32) - ;; CHECK-NEXT: (local $1 (ref $i32_=>_none)) + ;; CHECK: (func $select-non-nullable (type $1) (param $x i32) + ;; CHECK-NEXT: (local $1 (ref $1)) ;; CHECK-NEXT: (local.set $1 ;; CHECK-NEXT: (ref.func $select-non-nullable) ;; CHECK-NEXT: ) @@ -1137,8 +1137,8 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; IMMUT: (func $select-non-nullable (type $i32_=>_none) (param $x i32) - ;; IMMUT-NEXT: (local $1 (ref $i32_=>_none)) + ;; IMMUT: (func $select-non-nullable (type $1) (param $x i32) + ;; IMMUT-NEXT: (local $1 (ref $1)) ;; IMMUT-NEXT: (local.set $1 ;; IMMUT-NEXT: (ref.func $select-non-nullable) ;; IMMUT-NEXT: ) @@ -1166,7 +1166,7 @@ ) ) - ;; CHECK: (func $select-non-nullable-unreachable-condition (type $none_=>_none) + ;; CHECK: (func $select-non-nullable-unreachable-condition (type $2) ;; CHECK-NEXT: (call_indirect $0 (type $F) ;; CHECK-NEXT: (ref.func $select-non-nullable) ;; CHECK-NEXT: (select @@ -1176,7 +1176,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; IMMUT: (func $select-non-nullable-unreachable-condition (type $none_=>_none) + ;; IMMUT: (func $select-non-nullable-unreachable-condition (type $2) ;; IMMUT-NEXT: (call_indirect $0 (type $F) ;; IMMUT-NEXT: (ref.func $select-non-nullable) ;; IMMUT-NEXT: (select @@ -1199,7 +1199,7 @@ ) ) - ;; CHECK: (func $select-non-nullable-unreachable-arm (type $none_=>_none) + ;; CHECK: (func $select-non-nullable-unreachable-arm (type $2) ;; CHECK-NEXT: (call_indirect $0 (type $F) ;; CHECK-NEXT: (ref.func $select-non-nullable) ;; CHECK-NEXT: (select @@ -1209,7 +1209,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; IMMUT: (func $select-non-nullable-unreachable-arm (type $none_=>_none) + ;; IMMUT: (func $select-non-nullable-unreachable-arm (type $2) ;; IMMUT-NEXT: (call_indirect $0 (type $F) ;; IMMUT-NEXT: (ref.func $select-non-nullable) ;; IMMUT-NEXT: (select @@ -1235,7 +1235,7 @@ ) ) - ;; CHECK: (func $select-non-nullable-unreachable-arg (type $i32_=>_none) (param $x i32) + ;; CHECK: (func $select-non-nullable-unreachable-arg (type $1) (param $x i32) ;; CHECK-NEXT: (call_indirect $0 (type $F) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (select @@ -1245,7 +1245,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; IMMUT: (func $select-non-nullable-unreachable-arg (type $i32_=>_none) (param $x i32) + ;; IMMUT: (func $select-non-nullable-unreachable-arg (type $1) (param $x i32) ;; IMMUT-NEXT: (call_indirect $0 (type $F) ;; IMMUT-NEXT: (unreachable) ;; IMMUT-NEXT: (select diff --git a/test/lit/passes/extract-function.wast b/test/lit/passes/extract-function.wast index f53dda982..9258f8c63 100644 --- a/test/lit/passes/extract-function.wast +++ b/test/lit/passes/extract-function.wast @@ -5,7 +5,7 @@ ;; RUN: foreach %s %t wasm-opt --extract-function-index --pass-arg=extract-function-index@0 -S -o - | filecheck %s (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (import "env" "bar" (func $bar)) @@ -34,7 +34,7 @@ (elem $0 (table $t) (i32.const 0) func $other) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (import "env" "other" (func $other)) diff --git a/test/lit/passes/flatten-eh.wast b/test/lit/passes/flatten-eh.wast index f91d875a5..c092dd212 100644 --- a/test/lit/passes/flatten-eh.wast +++ b/test/lit/passes/flatten-eh.wast @@ -7,7 +7,7 @@ ;; CHECK: (tag $e-f32 (param f32)) (tag $e-f32 (param f32)) - ;; CHECK: (func $try_catch (type $none_=>_none) + ;; CHECK: (func $try_catch (type $1) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (local $1 i32) ;; CHECK-NEXT: (local $2 f32) @@ -55,7 +55,7 @@ ) ) - ;; CHECK: (func $try_catch_pop_fixup (type $none_=>_none) + ;; CHECK: (func $try_catch_pop_fixup (type $1) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (local $1 i32) ;; CHECK-NEXT: (block $l0 @@ -101,7 +101,7 @@ ) ) - ;; CHECK: (func $try_catch_return_value (type $none_=>_i32) (result i32) + ;; CHECK: (func $try_catch_return_value (type $0) (result i32) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (local $1 i32) ;; CHECK-NEXT: (local $2 i32) @@ -138,7 +138,7 @@ ) ) - ;; CHECK: (func $try_unreachable (type $none_=>_i32) (result i32) + ;; CHECK: (func $try_unreachable (type $0) (result i32) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (local $1 i32) ;; CHECK-NEXT: (local $2 i32) @@ -174,7 +174,7 @@ ) ) - ;; CHECK: (func $catch_unreachable (type $none_=>_i32) (result i32) + ;; CHECK: (func $catch_unreachable (type $0) (result i32) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (local $1 i32) ;; CHECK-NEXT: (local $2 i32) diff --git a/test/lit/passes/flatten.wast b/test/lit/passes/flatten.wast index 7b90068bf..7e890d6ae 100644 --- a/test/lit/passes/flatten.wast +++ b/test/lit/passes/flatten.wast @@ -4,7 +4,7 @@ (module ;; CHECK: (type $simplefunc (func)) (type $simplefunc (func)) - ;; CHECK: (func $0 (type $ref|$simplefunc|_=>_ref|$simplefunc|) (param $0 (ref $simplefunc)) (result (ref $simplefunc)) + ;; CHECK: (func $0 (type $1) (param $0 (ref $simplefunc)) (result (ref $simplefunc)) ;; CHECK-NEXT: (local $1 (ref $simplefunc)) ;; CHECK-NEXT: (local.set $1 ;; CHECK-NEXT: (local.get $0) diff --git a/test/lit/passes/flatten_all-features.wast b/test/lit/passes/flatten_all-features.wast index 5d3dd3a1a..5ae10ac14 100644 --- a/test/lit/passes/flatten_all-features.wast +++ b/test/lit/passes/flatten_all-features.wast @@ -14,11 +14,11 @@ (type $2 (func (result i32))) ;; CHECK: (type $3 (func (param i32) (result i32))) (type $3 (func (param i32) (result i32))) - ;; CHECK: (type $none_=>_f32 (func (result f32))) - - ;; CHECK: (type $4 (func (param i64 i64) (result i64))) + ;; CHECK: (type $4 (func (result f32))) (type $4 (func (param i64 i64) (result i64))) - ;; CHECK: (type $none_=>_anyref (func (result anyref))) + ;; CHECK: (type $4 (func (param i64 i64) (result i64))) + + ;; CHECK: (type $6 (func (result anyref))) ;; CHECK: (global $x (mut i32) (i32.const 0)) (global $x (mut i32) (i32.const 0)) @@ -809,7 +809,7 @@ (i32.const 0) ) ) - ;; CHECK: (func $a17 (type $none_=>_f32) (result f32) + ;; CHECK: (func $a17 (type $4) (result f32) ;; CHECK-NEXT: (local $var$0 f32) ;; CHECK-NEXT: (local $1 f32) ;; CHECK-NEXT: (local $2 f32) @@ -897,7 +897,7 @@ ) ) ) - ;; CHECK: (func $a19 (type $none_=>_f32) (result f32) + ;; CHECK: (func $a19 (type $4) (result f32) ;; CHECK-NEXT: (block $label$0 ;; CHECK-NEXT: (block $label$1 ;; CHECK-NEXT: (unreachable) @@ -3415,7 +3415,7 @@ ;; targets an outer branch whose return type is a supertype of the br_if's ;; value type, we need the value to be set into two locals: one with the outer ;; block's type, and one with its value type. - ;; CHECK: (func $subtype (type $none_=>_anyref) (result anyref) + ;; CHECK: (func $subtype (type $6) (result anyref) ;; CHECK-NEXT: (local $0 eqref) ;; CHECK-NEXT: (local $1 anyref) ;; CHECK-NEXT: (local $2 nullref) @@ -3477,13 +3477,13 @@ ) ) (module - ;; CHECK: (type $i64_f32_=>_none (func (param i64 f32))) + ;; CHECK: (type $0 (func (param i64 f32))) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $1 (func (result i32))) ;; CHECK: (export "test" (func $1)) - ;; CHECK: (func $0 (type $i64_f32_=>_none) (param $0 i64) (param $1 f32) + ;; CHECK: (func $0 (type $0) (param $0 i64) (param $1 f32) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $0 (param $0 i64) (param $1 f32) @@ -3501,7 +3501,7 @@ ) ;; non-nullable temp vars we add must be handled properly, as non-nullable ;; locals are not allowed -;; CHECK: (func $1 (type $none_=>_i32) (result i32) +;; CHECK: (func $1 (type $1) (result i32) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (return ;; CHECK-NEXT: (i32.const -111) @@ -3514,9 +3514,9 @@ ;; CHECK-NEXT: ) (module (type $none_=>_none (func)) - ;; CHECK: (type $none_=>_funcref (func (result funcref))) + ;; CHECK: (type $0 (func (result funcref))) - ;; CHECK: (func $0 (type $none_=>_funcref) (result funcref) + ;; CHECK: (func $0 (type $0) (result funcref) ;; CHECK-NEXT: (local $0 (ref nofunc)) ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (ref.as_non_null diff --git a/test/lit/passes/flatten_dfo_O3_enable-threads.wast b/test/lit/passes/flatten_dfo_O3_enable-threads.wast index 0ad494d5f..7aa7df592 100644 --- a/test/lit/passes/flatten_dfo_O3_enable-threads.wast +++ b/test/lit/passes/flatten_dfo_O3_enable-threads.wast @@ -4,15 +4,15 @@ ;; RUN: foreach %s %t wasm-opt --flatten --dfo -O3 --enable-threads -S -o - | filecheck %s (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) + ;; CHECK: (type $1 (func (param i32 i32) (result i32))) - ;; CHECK: (type $i64_i32_=>_f64 (func (param i64 i32) (result f64))) + ;; CHECK: (type $2 (func (param i64 i32) (result f64))) - ;; CHECK: (type $f64_=>_f64 (func (param f64) (result f64))) + ;; CHECK: (type $3 (func (param f64) (result f64))) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $4 (func (result i32))) ;; CHECK: (memory $0 (shared 1 1)) (memory $0 (shared 1 1)) diff --git a/test/lit/passes/flatten_i64-to-i32-lowering.wast b/test/lit/passes/flatten_i64-to-i32-lowering.wast index 89ab88820..ade1d1e58 100644 --- a/test/lit/passes/flatten_i64-to-i32-lowering.wast +++ b/test/lit/passes/flatten_i64-to-i32-lowering.wast @@ -5,19 +5,19 @@ (module (memory 1 1) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $0 (func (result i32))) - ;; CHECK: (type $none_=>_i64 (func (result i64))) + ;; CHECK: (type $1 (func (result i64))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $2 (func)) - ;; CHECK: (import "env" "func" (func $import (type $none_=>_i64) (result i64))) + ;; CHECK: (import "env" "func" (func $import (type $1) (result i64))) (import "env" "func" (func $import (result i64))) ;; CHECK: (global $i64toi32_i32$HIGH_BITS (mut i32) (i32.const 0)) ;; CHECK: (memory $0 1 1) - ;; CHECK: (func $defined (type $none_=>_i32) (result i32) + ;; CHECK: (func $defined (type $0) (result i32) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (local $0$hi i32) ;; CHECK-NEXT: (local $i64toi32_i32$0 i32) @@ -96,7 +96,7 @@ (func $defined (result i64) (i64.add (i64.const 1) (i64.const 2)) ) - ;; CHECK: (func $unreachable-select-i64 (type $none_=>_i32) (result i32) + ;; CHECK: (func $unreachable-select-i64 (type $0) (result i32) ;; CHECK-NEXT: (local $i64toi32_i32$0 i32) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (block @@ -122,7 +122,7 @@ (i32.const 2) ) ) - ;; CHECK: (func $unreachable-select-i64-b (type $none_=>_i32) (result i32) + ;; CHECK: (func $unreachable-select-i64-b (type $0) (result i32) ;; CHECK-NEXT: (local $i64toi32_i32$0 i32) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (block @@ -148,7 +148,7 @@ (i32.const 4) ) ) - ;; CHECK: (func $unreachable-select-i64-c (type $none_=>_i32) (result i32) + ;; CHECK: (func $unreachable-select-i64-c (type $0) (result i32) ;; CHECK-NEXT: (local $i64toi32_i32$0 i32) ;; CHECK-NEXT: (local $i64toi32_i32$1 i32) ;; CHECK-NEXT: (unreachable) @@ -180,7 +180,7 @@ (unreachable) ) ) - ;; CHECK: (func $mem (type $none_=>_none) + ;; CHECK: (func $mem (type $2) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (local $0$hi i32) ;; CHECK-NEXT: (local $1 i32) @@ -454,9 +454,9 @@ ) ) (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (type $i32_i32_=>_none (func (param i32 i32))) + ;; CHECK: (type $1 (func (param i32 i32))) ;; CHECK: (global $f (mut i32) (i32.const -1412567121)) (global $f (mut i64) (i64.const 0x12345678ABCDEFAF)) @@ -476,7 +476,7 @@ ;; CHECK: (export "unreach" (func $2)) - ;; CHECK: (func $call (type $i32_i32_=>_none) (param $0 i32) (param $0$hi i32) + ;; CHECK: (func $call (type $1) (param $0 i32) (param $0$hi i32) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $call (param i64)) @@ -492,7 +492,7 @@ ) ) ) -;; CHECK: (func $1 (type $none_=>_none) +;; CHECK: (func $1 (type $0) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (local $0$hi i32) ;; CHECK-NEXT: (local $i64toi32_i32$0 i32) @@ -533,7 +533,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) -;; CHECK: (func $2 (type $none_=>_none) +;; CHECK: (func $2 (type $0) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (local $0$hi i32) ;; CHECK-NEXT: (local $1 i32) @@ -571,9 +571,9 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) (module - ;; CHECK: (type $i32_i32_=>_none (func (param i32 i32))) + ;; CHECK: (type $0 (func (param i32 i32))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) ;; CHECK: (global $f (mut i32) (i32.const -1412567121)) (global $f (mut i64) (i64.const 0x12345678ABCDEFAF)) @@ -583,7 +583,7 @@ ;; CHECK: (export "exp" (func $1)) - ;; CHECK: (func $call (type $i32_i32_=>_none) (param $0 i32) (param $0$hi i32) + ;; CHECK: (func $call (type $0) (param $0 i32) (param $0$hi i32) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $call (param i64)) @@ -592,7 +592,7 @@ (global.set $f (i64.const 0x1122334455667788)) ) ) -;; CHECK: (func $1 (type $none_=>_none) +;; CHECK: (func $1 (type $1) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (local $0$hi i32) ;; CHECK-NEXT: (local $i64toi32_i32$0 i32) @@ -634,13 +634,13 @@ ;; CHECK-NEXT: ) (module (type $i64_f64_i32_=>_none (func (param i64 f64 i32))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (global $i64toi32_i32$HIGH_BITS (mut i32) (i32.const 0)) ;; CHECK: (table $0 37 funcref) (table $0 37 funcref) - ;; CHECK: (func $0 (type $none_=>_none) + ;; CHECK: (func $0 (type $0) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (unreachable) diff --git a/test/lit/passes/flatten_rereloop.wast b/test/lit/passes/flatten_rereloop.wast index 090497e61..17a8e8125 100644 --- a/test/lit/passes/flatten_rereloop.wast +++ b/test/lit/passes/flatten_rereloop.wast @@ -5,17 +5,17 @@ (module (memory 1) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $1 (func (result i32))) - ;; CHECK: (type $none_=>_f64 (func (result f64))) + ;; CHECK: (type $2 (func (result f64))) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $3 (func (param i32))) - ;; CHECK: (type $i32_=>_f32 (func (param i32) (result f32))) + ;; CHECK: (type $4 (func (param i32) (result f32))) - ;; CHECK: (type $none_=>_f32 (func (result f32))) + ;; CHECK: (type $5 (func (result f32))) ;; CHECK: (global $global (mut i32) (i32.const 0)) (global $global (mut i32) (i32.const 0)) diff --git a/test/lit/passes/flatten_simplify-locals-nonesting_dfo_O3.wast b/test/lit/passes/flatten_simplify-locals-nonesting_dfo_O3.wast index 9d2789f80..db92b688d 100644 --- a/test/lit/passes/flatten_simplify-locals-nonesting_dfo_O3.wast +++ b/test/lit/passes/flatten_simplify-locals-nonesting_dfo_O3.wast @@ -116,15 +116,15 @@ ) ) -;; CHECK: (type $none_=>_none (func)) +;; CHECK: (type $0 (func)) -;; CHECK: (type $none_=>_f64 (func (result f64))) +;; CHECK: (type $1 (func (result f64))) -;; CHECK: (type $i32_f64_f64_=>_i32 (func (param i32 f64 f64) (result i32))) +;; CHECK: (type $2 (func (param i32 f64 f64) (result i32))) -;; CHECK: (type $i64_=>_none (func (param i64))) +;; CHECK: (type $3 (func (param i64))) -;; CHECK: (type $f64_=>_i32 (func (param f64) (result i32))) +;; CHECK: (type $4 (func (param f64) (result i32))) ;; CHECK: (export "if-select" (func $0)) diff --git a/test/lit/passes/flatten_simplify-locals-nonesting_souperify-single-use_enable-threads.wast b/test/lit/passes/flatten_simplify-locals-nonesting_souperify-single-use_enable-threads.wast index 7103c94e8..2b17886b7 100644 --- a/test/lit/passes/flatten_simplify-locals-nonesting_souperify-single-use_enable-threads.wast +++ b/test/lit/passes/flatten_simplify-locals-nonesting_souperify-single-use_enable-threads.wast @@ -4,31 +4,31 @@ ;; RUN: foreach %s %t wasm-opt --flatten --simplify-locals-nonesting --souperify-single-use --enable-threads -S -o - | filecheck %s (module - ;; CHECK: (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) + ;; CHECK: (type $0 (func (param i32 i32) (result i32))) - ;; CHECK: (type $i32_=>_i32 (func (param i32) (result i32))) + ;; CHECK: (type $1 (func (param i32) (result i32))) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $2 (func (param i32))) - ;; CHECK: (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) + ;; CHECK: (type $3 (func (param i32 i32 i32) (result i32))) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $4 (func (result i32))) - ;; CHECK: (type $i32_i32_=>_none (func (param i32 i32))) + ;; CHECK: (type $5 (func (param i32 i32))) - ;; CHECK: (type $none_=>_f64 (func (result f64))) + ;; CHECK: (type $6 (func (result f64))) - ;; CHECK: (type $i64_i64_i64_=>_i32 (func (param i64 i64 i64) (result i32))) + ;; CHECK: (type $7 (func (param i64 i64 i64) (result i32))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $8 (func)) - ;; CHECK: (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + ;; CHECK: (type $9 (func (param i32 i32 i32 i32))) - ;; CHECK: (type $i64_i64_i64_=>_i64 (func (param i64 i64 i64) (result i64))) + ;; CHECK: (type $10 (func (param i64 i64 i64) (result i64))) - ;; CHECK: (type $i64_i64_i32_f32_=>_none (func (param i64 i64 i32 f32))) + ;; CHECK: (type $11 (func (param i64 i64 i32 f32))) - ;; CHECK: (type $i32_i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32 i32) (result i32))) + ;; CHECK: (type $12 (func (param i32 i32 i32 i32 i32) (result i32))) ;; CHECK: (memory $0 (shared 1 1)) (memory $0 (shared 1 1)) diff --git a/test/lit/passes/flatten_simplify-locals-nonesting_souperify_enable-threads.wast b/test/lit/passes/flatten_simplify-locals-nonesting_souperify_enable-threads.wast index 163785fd4..e53bd44b4 100644 --- a/test/lit/passes/flatten_simplify-locals-nonesting_souperify_enable-threads.wast +++ b/test/lit/passes/flatten_simplify-locals-nonesting_souperify_enable-threads.wast @@ -4,31 +4,31 @@ ;; RUN: foreach %s %t wasm-opt --flatten --simplify-locals-nonesting --souperify --enable-threads -S -o - | filecheck %s (module - ;; CHECK: (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) + ;; CHECK: (type $0 (func (param i32 i32) (result i32))) - ;; CHECK: (type $i32_=>_i32 (func (param i32) (result i32))) + ;; CHECK: (type $1 (func (param i32) (result i32))) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $2 (func (param i32))) - ;; CHECK: (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) + ;; CHECK: (type $3 (func (param i32 i32 i32) (result i32))) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $4 (func (result i32))) - ;; CHECK: (type $i32_i32_=>_none (func (param i32 i32))) + ;; CHECK: (type $5 (func (param i32 i32))) - ;; CHECK: (type $none_=>_f64 (func (result f64))) + ;; CHECK: (type $6 (func (result f64))) - ;; CHECK: (type $i64_i64_i64_=>_i32 (func (param i64 i64 i64) (result i32))) + ;; CHECK: (type $7 (func (param i64 i64 i64) (result i32))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $8 (func)) - ;; CHECK: (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + ;; CHECK: (type $9 (func (param i32 i32 i32 i32))) - ;; CHECK: (type $i64_i64_i64_=>_i64 (func (param i64 i64 i64) (result i64))) + ;; CHECK: (type $10 (func (param i64 i64 i64) (result i64))) - ;; CHECK: (type $i64_i64_i32_f32_=>_none (func (param i64 i64 i32 f32))) + ;; CHECK: (type $11 (func (param i64 i64 i32 f32))) - ;; CHECK: (type $i32_i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32 i32) (result i32))) + ;; CHECK: (type $12 (func (param i32 i32 i32 i32 i32) (result i32))) ;; CHECK: (memory $0 (shared 1 1)) (memory $0 (shared 1 1)) diff --git a/test/lit/passes/fpcast-emu.wast b/test/lit/passes/fpcast-emu.wast index b2c931448..167e57d26 100644 --- a/test/lit/passes/fpcast-emu.wast +++ b/test/lit/passes/fpcast-emu.wast @@ -4,9 +4,9 @@ ;; RUN: foreach %s %t wasm-opt --fpcast-emu -S -o - | filecheck %s (module - ;; CHECK: (type $i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_=>_i64 (func (param i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64) (result i64))) + ;; CHECK: (type $0 (func (param i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64) (result i64))) - ;; CHECK: (type $i32_i64_f32_f64_=>_f32 (func (param i32 i64 f32 f64) (result f32))) + ;; CHECK: (type $1 (func (param i32 i64 f32 f64) (result f32))) ;; CHECK: (type $vijfd (func (param i32 i64 f32 f64))) (type $vijfd (func (param i32) (param i64) (param f32) (param f64))) @@ -28,7 +28,7 @@ ;; CHECK: (func $a (param $x i32) (param $y i64) (param $z f32) (param $w f64) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (call_indirect (type $i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_=>_i64) + ;; CHECK-NEXT: (call_indirect (type $0) ;; CHECK-NEXT: (i64.extend_i32_u ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) @@ -67,7 +67,7 @@ ) ) ;; CHECK: (func $b (param $x i32) (param $y i32) (result i64) - ;; CHECK-NEXT: (call_indirect (type $i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_=>_i64) + ;; CHECK-NEXT: (call_indirect (type $0) ;; CHECK-NEXT: (i64.extend_i32_u ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) @@ -101,7 +101,7 @@ ;; CHECK: (func $c (param $x i64) (param $y i64) (result f32) ;; CHECK-NEXT: (f32.reinterpret_i32 ;; CHECK-NEXT: (i32.wrap_i64 - ;; CHECK-NEXT: (call_indirect (type $i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_=>_i64) + ;; CHECK-NEXT: (call_indirect (type $0) ;; CHECK-NEXT: (i64.const 1) ;; CHECK-NEXT: (i64.const 2) ;; CHECK-NEXT: (i64.const 0) @@ -132,7 +132,7 @@ ) ;; CHECK: (func $d (param $x f32) (param $y f32) (result f64) ;; CHECK-NEXT: (f64.reinterpret_i64 - ;; CHECK-NEXT: (call_indirect (type $i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_=>_i64) + ;; CHECK-NEXT: (call_indirect (type $0) ;; CHECK-NEXT: (i64.extend_i32_u ;; CHECK-NEXT: (i32.reinterpret_f32 ;; CHECK-NEXT: (f32.const 1) @@ -170,7 +170,7 @@ ) ;; CHECK: (func $e (param $x f64) (param $y f64) (result i32) ;; CHECK-NEXT: (i32.wrap_i64 - ;; CHECK-NEXT: (call_indirect (type $i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_=>_i64) + ;; CHECK-NEXT: (call_indirect (type $0) ;; CHECK-NEXT: (i64.reinterpret_f64 ;; CHECK-NEXT: (f64.const 1) ;; CHECK-NEXT: ) @@ -297,7 +297,7 @@ (type $0 (func (param i64))) ;; CHECK: (type $1 (func (param f32) (result i64))) (type $1 (func (param f32) (result i64))) - ;; CHECK: (type $i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_=>_i64 (func (param i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64) (result i64))) + ;; CHECK: (type $1 (func (param i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64) (result i64))) ;; CHECK: (global $global$0 (mut i32) (i32.const 10)) (global $global$0 (mut i32) (i32.const 10)) @@ -312,7 +312,7 @@ ;; CHECK-NEXT: (global.set $global$0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) - ;; CHECK-NEXT: (call_indirect (type $i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_=>_i64) + ;; CHECK-NEXT: (call_indirect (type $1) ;; CHECK-NEXT: (br $label$1 ;; CHECK-NEXT: (i64.const 4294967295) ;; CHECK-NEXT: ) @@ -355,11 +355,11 @@ (module (table 42 42 funcref) (elem (i32.const 0) $a $b) - ;; CHECK: (type $f32_=>_none (func (param f32))) + ;; CHECK: (type $0 (func (param f32))) - ;; CHECK: (type $i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_i64_=>_i64 (func (param i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64) (result i64))) + ;; CHECK: (type $1 (func (param i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64 i64) (result i64))) - ;; CHECK: (type $f64_=>_none (func (param f64))) + ;; CHECK: (type $2 (func (param f64))) ;; CHECK: (table $0 42 42 funcref) diff --git a/test/lit/passes/generate-dyncalls_all-features.wast b/test/lit/passes/generate-dyncalls_all-features.wast index 4ec8aa15f..34c387b08 100644 --- a/test/lit/passes/generate-dyncalls_all-features.wast +++ b/test/lit/passes/generate-dyncalls_all-features.wast @@ -4,19 +4,19 @@ ;; RUN: foreach %s %t wasm-opt --generate-dyncalls --all-features -S -o - | filecheck %s (module - ;; CHECK: (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) + ;; CHECK: (type $0 (func (param i32 i32 i32))) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $1 (func (result i32))) - ;; CHECK: (type $i32_=>_i64 (func (param i32) (result i64))) + ;; CHECK: (type $2 (func (param i32) (result i64))) - ;; CHECK: (type $i32_=>_i32 (func (param i32) (result i32))) + ;; CHECK: (type $3 (func (param i32) (result i32))) - ;; CHECK: (type $i32_i32_=>_i64 (func (param i32 i32) (result i64))) + ;; CHECK: (type $4 (func (param i32 i32) (result i64))) - ;; CHECK: (type $i32_i32_=>_none (func (param i32 i32))) + ;; CHECK: (type $5 (func (param i32 i32))) - ;; CHECK: (import "env" "invoke_vii" (func $invoke_vii (type $i32_i32_i32_=>_none) (param i32 i32 i32))) + ;; CHECK: (import "env" "invoke_vii" (func $invoke_vii (type $0) (param i32 i32 i32))) (import "env" "invoke_vii" (func $invoke_vii (param i32 i32 i32))) ;; CHECK: (table $0 2 2 funcref) @@ -28,13 +28,13 @@ ;; CHECK: (export "dynCall_vii" (func $dynCall_vii)) - ;; CHECK: (func $f1 (type $none_=>_i32) (result i32) + ;; CHECK: (func $f1 (type $1) (result i32) ;; CHECK-NEXT: (i32.const 1024) ;; CHECK-NEXT: ) (func $f1 (result i32) (i32.const 1024) ) - ;; CHECK: (func $f2 (type $i32_=>_i64) (param $0 i32) (result i64) + ;; CHECK: (func $f2 (type $2) (param $0 i32) (result i64) ;; CHECK-NEXT: (i64.const 42) ;; CHECK-NEXT: ) (func $f2 (param i32) (result i64) @@ -43,38 +43,38 @@ (table 2 2 funcref) (elem (i32.const 0) $f1 $f2) ) -;; CHECK: (func $dynCall_i (type $i32_=>_i32) (param $fptr i32) (result i32) -;; CHECK-NEXT: (call_indirect $0 (type $none_=>_i32) +;; CHECK: (func $dynCall_i (type $3) (param $fptr i32) (result i32) +;; CHECK-NEXT: (call_indirect $0 (type $1) ;; CHECK-NEXT: (local.get $fptr) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) -;; CHECK: (func $dynCall_ji (type $i32_i32_=>_i64) (param $fptr i32) (param $0 i32) (result i64) -;; CHECK-NEXT: (call_indirect $0 (type $i32_=>_i64) +;; CHECK: (func $dynCall_ji (type $4) (param $fptr i32) (param $0 i32) (result i64) +;; CHECK-NEXT: (call_indirect $0 (type $2) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $fptr) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) -;; CHECK: (func $dynCall_vii (type $i32_i32_i32_=>_none) (param $fptr i32) (param $0 i32) (param $1 i32) -;; CHECK-NEXT: (call_indirect $0 (type $i32_i32_=>_none) +;; CHECK: (func $dynCall_vii (type $0) (param $fptr i32) (param $0 i32) (param $1 i32) +;; CHECK-NEXT: (call_indirect $0 (type $5) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (local.get $fptr) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) (module - ;; CHECK: (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) + ;; CHECK: (type $0 (func (param i32 i32 i32))) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $1 (func (result i32))) - ;; CHECK: (type $i32_=>_i32 (func (param i32) (result i32))) + ;; CHECK: (type $2 (func (param i32) (result i32))) - ;; CHECK: (type $i32_i32_=>_none (func (param i32 i32))) + ;; CHECK: (type $3 (func (param i32 i32))) ;; CHECK: (import "env" "table" (table $timport$0 1 1 funcref)) (import "env" "invoke_vii" (func $invoke_vii (param i32 i32 i32))) - ;; CHECK: (import "env" "invoke_vii" (func $invoke_vii (type $i32_i32_i32_=>_none) (param i32 i32 i32))) + ;; CHECK: (import "env" "invoke_vii" (func $invoke_vii (type $0) (param i32 i32 i32))) (import "env" "table" (table 1 1 funcref)) (elem (i32.const 0) $f) ;; CHECK: (elem $0 (i32.const 0) $f) @@ -83,21 +83,21 @@ ;; CHECK: (export "dynCall_vii" (func $dynCall_vii)) - ;; CHECK: (func $f (type $none_=>_i32) (result i32) + ;; CHECK: (func $f (type $1) (result i32) ;; CHECK-NEXT: (i32.const 42) ;; CHECK-NEXT: ) (func $f (result i32) (i32.const 42) ) ) -;; CHECK: (func $dynCall_i (type $i32_=>_i32) (param $fptr i32) (result i32) -;; CHECK-NEXT: (call_indirect $timport$0 (type $none_=>_i32) +;; CHECK: (func $dynCall_i (type $2) (param $fptr i32) (result i32) +;; CHECK-NEXT: (call_indirect $timport$0 (type $1) ;; CHECK-NEXT: (local.get $fptr) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) -;; CHECK: (func $dynCall_vii (type $i32_i32_i32_=>_none) (param $fptr i32) (param $0 i32) (param $1 i32) -;; CHECK-NEXT: (call_indirect $timport$0 (type $i32_i32_=>_none) +;; CHECK: (func $dynCall_vii (type $0) (param $fptr i32) (param $0 i32) (param $1 i32) +;; CHECK-NEXT: (call_indirect $timport$0 (type $3) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (local.get $fptr) diff --git a/test/lit/passes/generate-i64-dyncalls.wast b/test/lit/passes/generate-i64-dyncalls.wast index cc4591bb3..f32e3c979 100644 --- a/test/lit/passes/generate-i64-dyncalls.wast +++ b/test/lit/passes/generate-i64-dyncalls.wast @@ -4,11 +4,11 @@ ;; RUN: foreach %s %t wasm-opt --generate-i64-dyncalls -S -o - | filecheck %s (module - ;; CHECK: (type $i32_=>_i64 (func (param i32) (result i64))) + ;; CHECK: (type $0 (func (param i32) (result i64))) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $1 (func (result i32))) - ;; CHECK: (type $i32_i32_=>_i64 (func (param i32 i32) (result i64))) + ;; CHECK: (type $2 (func (param i32 i32) (result i64))) ;; CHECK: (table $0 2 2 funcref) @@ -32,7 +32,7 @@ (elem (i32.const 0) $f1 $f2) ) ;; CHECK: (func $dynCall_ji (param $fptr i32) (param $0 i32) (result i64) -;; CHECK-NEXT: (call_indirect (type $i32_=>_i64) +;; CHECK-NEXT: (call_indirect (type $0) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $fptr) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/global-effects.wast b/test/lit/passes/global-effects.wast index 18876c3a4..503b1efef 100644 --- a/test/lit/passes/global-effects.wast +++ b/test/lit/passes/global-effects.wast @@ -8,30 +8,30 @@ ;; RUN: foreach %s %t wasm-opt -all --generate-global-effects --discard-global-effects --vacuum -S -o - | filecheck %s --check-prefix DISCARD (module - ;; WITHOUT: (type $none_=>_none (func)) + ;; WITHOUT: (type $0 (func)) - ;; WITHOUT: (type $none_=>_i32 (func (result i32))) + ;; WITHOUT: (type $1 (func (result i32))) - ;; WITHOUT: (type $i32_=>_none (func (param i32))) + ;; WITHOUT: (type $2 (func (param i32))) ;; WITHOUT: (tag $tag (param)) - ;; INCLUDE: (type $none_=>_none (func)) + ;; INCLUDE: (type $0 (func)) - ;; INCLUDE: (type $none_=>_i32 (func (result i32))) + ;; INCLUDE: (type $1 (func (result i32))) - ;; INCLUDE: (type $i32_=>_none (func (param i32))) + ;; INCLUDE: (type $2 (func (param i32))) ;; INCLUDE: (tag $tag (param)) - ;; DISCARD: (type $none_=>_none (func)) + ;; DISCARD: (type $0 (func)) - ;; DISCARD: (type $none_=>_i32 (func (result i32))) + ;; DISCARD: (type $1 (func (result i32))) - ;; DISCARD: (type $i32_=>_none (func (param i32))) + ;; DISCARD: (type $2 (func (param i32))) ;; DISCARD: (tag $tag (param)) (tag $tag) - ;; WITHOUT: (func $main (type $none_=>_none) + ;; WITHOUT: (func $main (type $0) ;; WITHOUT-NEXT: (call $nop) ;; WITHOUT-NEXT: (call $unreachable) ;; WITHOUT-NEXT: (call $call-nop) @@ -40,12 +40,12 @@ ;; WITHOUT-NEXT: (call $unimportant-effects) ;; WITHOUT-NEXT: ) ;; WITHOUT-NEXT: ) - ;; INCLUDE: (func $main (type $none_=>_none) + ;; INCLUDE: (func $main (type $0) ;; INCLUDE-NEXT: (call $unreachable) ;; INCLUDE-NEXT: (call $call-nop) ;; INCLUDE-NEXT: (call $call-unreachable) ;; INCLUDE-NEXT: ) - ;; DISCARD: (func $main (type $none_=>_none) + ;; DISCARD: (func $main (type $0) ;; DISCARD-NEXT: (call $nop) ;; DISCARD-NEXT: (call $unreachable) ;; DISCARD-NEXT: (call $call-nop) @@ -73,13 +73,13 @@ ) ) - ;; WITHOUT: (func $cycle (type $none_=>_none) + ;; WITHOUT: (func $cycle (type $0) ;; WITHOUT-NEXT: (call $cycle) ;; WITHOUT-NEXT: ) - ;; INCLUDE: (func $cycle (type $none_=>_none) + ;; INCLUDE: (func $cycle (type $0) ;; INCLUDE-NEXT: (call $cycle) ;; INCLUDE-NEXT: ) - ;; DISCARD: (func $cycle (type $none_=>_none) + ;; DISCARD: (func $cycle (type $0) ;; DISCARD-NEXT: (call $cycle) ;; DISCARD-NEXT: ) (func $cycle @@ -88,39 +88,39 @@ (call $cycle) ) - ;; WITHOUT: (func $nop (type $none_=>_none) + ;; WITHOUT: (func $nop (type $0) ;; WITHOUT-NEXT: (nop) ;; WITHOUT-NEXT: ) - ;; INCLUDE: (func $nop (type $none_=>_none) + ;; INCLUDE: (func $nop (type $0) ;; INCLUDE-NEXT: (nop) ;; INCLUDE-NEXT: ) - ;; DISCARD: (func $nop (type $none_=>_none) + ;; DISCARD: (func $nop (type $0) ;; DISCARD-NEXT: (nop) ;; DISCARD-NEXT: ) (func $nop (nop) ) - ;; WITHOUT: (func $unreachable (type $none_=>_none) + ;; WITHOUT: (func $unreachable (type $0) ;; WITHOUT-NEXT: (unreachable) ;; WITHOUT-NEXT: ) - ;; INCLUDE: (func $unreachable (type $none_=>_none) + ;; INCLUDE: (func $unreachable (type $0) ;; INCLUDE-NEXT: (unreachable) ;; INCLUDE-NEXT: ) - ;; DISCARD: (func $unreachable (type $none_=>_none) + ;; DISCARD: (func $unreachable (type $0) ;; DISCARD-NEXT: (unreachable) ;; DISCARD-NEXT: ) (func $unreachable (unreachable) ) - ;; WITHOUT: (func $call-nop (type $none_=>_none) + ;; WITHOUT: (func $call-nop (type $0) ;; WITHOUT-NEXT: (call $nop) ;; WITHOUT-NEXT: ) - ;; INCLUDE: (func $call-nop (type $none_=>_none) + ;; INCLUDE: (func $call-nop (type $0) ;; INCLUDE-NEXT: (nop) ;; INCLUDE-NEXT: ) - ;; DISCARD: (func $call-nop (type $none_=>_none) + ;; DISCARD: (func $call-nop (type $0) ;; DISCARD-NEXT: (call $nop) ;; DISCARD-NEXT: ) (func $call-nop @@ -128,20 +128,20 @@ (call $nop) ) - ;; WITHOUT: (func $call-unreachable (type $none_=>_none) + ;; WITHOUT: (func $call-unreachable (type $0) ;; WITHOUT-NEXT: (call $unreachable) ;; WITHOUT-NEXT: ) - ;; INCLUDE: (func $call-unreachable (type $none_=>_none) + ;; INCLUDE: (func $call-unreachable (type $0) ;; INCLUDE-NEXT: (call $unreachable) ;; INCLUDE-NEXT: ) - ;; DISCARD: (func $call-unreachable (type $none_=>_none) + ;; DISCARD: (func $call-unreachable (type $0) ;; DISCARD-NEXT: (call $unreachable) ;; DISCARD-NEXT: ) (func $call-unreachable (call $unreachable) ) - ;; WITHOUT: (func $unimportant-effects (type $none_=>_i32) (result i32) + ;; WITHOUT: (func $unimportant-effects (type $1) (result i32) ;; WITHOUT-NEXT: (local $x i32) ;; WITHOUT-NEXT: (local.set $x ;; WITHOUT-NEXT: (i32.const 100) @@ -150,7 +150,7 @@ ;; WITHOUT-NEXT: (local.get $x) ;; WITHOUT-NEXT: ) ;; WITHOUT-NEXT: ) - ;; INCLUDE: (func $unimportant-effects (type $none_=>_i32) (result i32) + ;; INCLUDE: (func $unimportant-effects (type $1) (result i32) ;; INCLUDE-NEXT: (local $x i32) ;; INCLUDE-NEXT: (local.set $x ;; INCLUDE-NEXT: (i32.const 100) @@ -159,7 +159,7 @@ ;; INCLUDE-NEXT: (local.get $x) ;; INCLUDE-NEXT: ) ;; INCLUDE-NEXT: ) - ;; DISCARD: (func $unimportant-effects (type $none_=>_i32) (result i32) + ;; DISCARD: (func $unimportant-effects (type $1) (result i32) ;; DISCARD-NEXT: (local $x i32) ;; DISCARD-NEXT: (local.set $x ;; DISCARD-NEXT: (i32.const 100) @@ -181,7 +181,7 @@ ) ) - ;; WITHOUT: (func $call-throw-and-catch (type $none_=>_none) + ;; WITHOUT: (func $call-throw-and-catch (type $0) ;; WITHOUT-NEXT: (try $try ;; WITHOUT-NEXT: (do ;; WITHOUT-NEXT: (call $throw) @@ -191,10 +191,10 @@ ;; WITHOUT-NEXT: ) ;; WITHOUT-NEXT: ) ;; WITHOUT-NEXT: ) - ;; INCLUDE: (func $call-throw-and-catch (type $none_=>_none) + ;; INCLUDE: (func $call-throw-and-catch (type $0) ;; INCLUDE-NEXT: (nop) ;; INCLUDE-NEXT: ) - ;; DISCARD: (func $call-throw-and-catch (type $none_=>_none) + ;; DISCARD: (func $call-throw-and-catch (type $0) ;; DISCARD-NEXT: (try $try ;; DISCARD-NEXT: (do ;; DISCARD-NEXT: (call $throw) @@ -216,7 +216,7 @@ ) ) - ;; WITHOUT: (func $call-unreachable-and-catch (type $none_=>_none) + ;; WITHOUT: (func $call-unreachable-and-catch (type $0) ;; WITHOUT-NEXT: (try $try ;; WITHOUT-NEXT: (do ;; WITHOUT-NEXT: (call $unreachable) @@ -226,10 +226,10 @@ ;; WITHOUT-NEXT: ) ;; WITHOUT-NEXT: ) ;; WITHOUT-NEXT: ) - ;; INCLUDE: (func $call-unreachable-and-catch (type $none_=>_none) + ;; INCLUDE: (func $call-unreachable-and-catch (type $0) ;; INCLUDE-NEXT: (call $unreachable) ;; INCLUDE-NEXT: ) - ;; DISCARD: (func $call-unreachable-and-catch (type $none_=>_none) + ;; DISCARD: (func $call-unreachable-and-catch (type $0) ;; DISCARD-NEXT: (try $try ;; DISCARD-NEXT: (do ;; DISCARD-NEXT: (call $unreachable) @@ -251,7 +251,7 @@ ) ) - ;; WITHOUT: (func $call-throw-or-unreachable-and-catch (type $i32_=>_none) (param $x i32) + ;; WITHOUT: (func $call-throw-or-unreachable-and-catch (type $2) (param $x i32) ;; WITHOUT-NEXT: (try $try ;; WITHOUT-NEXT: (do ;; WITHOUT-NEXT: (if @@ -265,7 +265,7 @@ ;; WITHOUT-NEXT: ) ;; WITHOUT-NEXT: ) ;; WITHOUT-NEXT: ) - ;; INCLUDE: (func $call-throw-or-unreachable-and-catch (type $i32_=>_none) (param $x i32) + ;; INCLUDE: (func $call-throw-or-unreachable-and-catch (type $2) (param $x i32) ;; INCLUDE-NEXT: (try $try ;; INCLUDE-NEXT: (do ;; INCLUDE-NEXT: (if @@ -279,7 +279,7 @@ ;; INCLUDE-NEXT: ) ;; INCLUDE-NEXT: ) ;; INCLUDE-NEXT: ) - ;; DISCARD: (func $call-throw-or-unreachable-and-catch (type $i32_=>_none) (param $x i32) + ;; DISCARD: (func $call-throw-or-unreachable-and-catch (type $2) (param $x i32) ;; DISCARD-NEXT: (try $try ;; DISCARD-NEXT: (do ;; DISCARD-NEXT: (if @@ -308,13 +308,13 @@ ) ) - ;; WITHOUT: (func $throw (type $none_=>_none) + ;; WITHOUT: (func $throw (type $0) ;; WITHOUT-NEXT: (throw $tag) ;; WITHOUT-NEXT: ) - ;; INCLUDE: (func $throw (type $none_=>_none) + ;; INCLUDE: (func $throw (type $0) ;; INCLUDE-NEXT: (throw $tag) ;; INCLUDE-NEXT: ) - ;; DISCARD: (func $throw (type $none_=>_none) + ;; DISCARD: (func $throw (type $0) ;; DISCARD-NEXT: (throw $tag) ;; DISCARD-NEXT: ) (func $throw diff --git a/test/lit/passes/global-refining.wast b/test/lit/passes/global-refining.wast index a04924ece..48538a01d 100644 --- a/test/lit/passes/global-refining.wast +++ b/test/lit/passes/global-refining.wast @@ -67,20 +67,20 @@ ;; Globals with later assignments of something non-null. Both can be refined, ;; and the one with a non-null initial value can even become non-nullable. - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (global $func-null-init (mut (ref null $none_=>_none)) (ref.null nofunc)) - ;; CLOSD: (type $none_=>_none (func)) + ;; CHECK: (global $func-null-init (mut (ref null $0)) (ref.null nofunc)) + ;; CLOSD: (type $0 (func)) - ;; CLOSD: (global $func-null-init (mut (ref null $none_=>_none)) (ref.null nofunc)) + ;; CLOSD: (global $func-null-init (mut (ref null $0)) (ref.null nofunc)) (global $func-null-init (mut funcref) (ref.null func)) - ;; CHECK: (global $func-func-init (mut (ref $none_=>_none)) (ref.func $foo)) - ;; CLOSD: (global $func-func-init (mut (ref $none_=>_none)) (ref.func $foo)) + ;; CHECK: (global $func-func-init (mut (ref $0)) (ref.func $foo)) + ;; CLOSD: (global $func-func-init (mut (ref $0)) (ref.func $foo)) (global $func-func-init (mut funcref) (ref.func $foo)) ;; CHECK: (elem declare func $foo) - ;; CHECK: (func $foo (type $none_=>_none) + ;; CHECK: (func $foo (type $0) ;; CHECK-NEXT: (global.set $func-null-init ;; CHECK-NEXT: (ref.func $foo) ;; CHECK-NEXT: ) @@ -90,7 +90,7 @@ ;; CHECK-NEXT: ) ;; CLOSD: (elem declare func $foo) - ;; CLOSD: (func $foo (type $none_=>_none) + ;; CLOSD: (func $foo (type $0) ;; CLOSD-NEXT: (global.set $func-null-init ;; CLOSD-NEXT: (ref.func $foo) ;; CLOSD-NEXT: ) @@ -108,10 +108,10 @@ ;; A global with multiple later assignments. The refined type is more ;; specific than the original, but less than each of the non-null values. - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (type $struct (struct )) - ;; CLOSD: (type $none_=>_none (func)) + ;; CLOSD: (type $0 (func)) ;; CLOSD: (type $struct (struct )) (type $struct (struct)) @@ -121,7 +121,7 @@ ;; CLOSD: (global $global (mut eqref) (ref.null none)) (global $global (mut anyref) (ref.null any)) - ;; CHECK: (func $foo (type $none_=>_none) + ;; CHECK: (func $foo (type $0) ;; CHECK-NEXT: (global.set $global ;; CHECK-NEXT: (i31.new ;; CHECK-NEXT: (i32.const 0) @@ -140,7 +140,7 @@ ;; CHECK-NEXT: (ref.null none) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; CLOSD: (func $foo (type $none_=>_none) + ;; CLOSD: (func $foo (type $0) ;; CLOSD-NEXT: (global.set $global ;; CLOSD-NEXT: (i31.new ;; CLOSD-NEXT: (i32.const 0) @@ -171,10 +171,10 @@ ;; We can refine here, but as it is an export we only do so in open world. (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (global $func-init (mut (ref $none_=>_none)) (ref.func $foo)) - ;; CLOSD: (type $none_=>_none (func)) + ;; CHECK: (global $func-init (mut (ref $0)) (ref.func $foo)) + ;; CLOSD: (type $0 (func)) ;; CLOSD: (global $func-init (mut funcref) (ref.func $foo)) (global $func-init (mut funcref) (ref.func $foo)) @@ -183,10 +183,10 @@ ;; CLOSD: (export "global" (global $func-init)) (export "global" (global $func-init)) - ;; CHECK: (func $foo (type $none_=>_none) + ;; CHECK: (func $foo (type $0) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) - ;; CLOSD: (func $foo (type $none_=>_none) + ;; CLOSD: (func $foo (type $0) ;; CLOSD-NEXT: (nop) ;; CLOSD-NEXT: ) (func $foo diff --git a/test/lit/passes/gsi.wast b/test/lit/passes/gsi.wast index 49bb897d1..df1abc04f 100644 --- a/test/lit/passes/gsi.wast +++ b/test/lit/passes/gsi.wast @@ -5,7 +5,7 @@ ;; CHECK: (type $struct (struct (field i32))) (type $struct (struct i32)) - ;; CHECK: (type $ref?|$struct|_=>_none (func (param (ref null $struct)))) + ;; CHECK: (type $1 (func (param (ref null $struct)))) ;; CHECK: (global $global1 (ref $struct) (struct.new $struct ;; CHECK-NEXT: (i32.const 42) @@ -25,7 +25,7 @@ ;; CHECK: (global $global-other i32 (i32.const 123456)) (global $global-other i32 (i32.const 123456)) - ;; CHECK: (func $test (type $ref?|$struct|_=>_none) (param $struct (ref null $struct)) + ;; CHECK: (func $test (type $1) (param $struct (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (select ;; CHECK-NEXT: (i32.const 42) @@ -56,7 +56,7 @@ ;; CHECK: (type $struct (struct (field (mut i32)))) (type $struct (struct (mut i32))) - ;; CHECK: (type $ref?|$struct|_=>_none (func (param (ref null $struct)))) + ;; CHECK: (type $1 (func (param (ref null $struct)))) ;; CHECK: (global $global1 (ref $struct) (struct.new $struct ;; CHECK-NEXT: (i32.const 42) @@ -72,7 +72,7 @@ (i32.const 1337) )) - ;; CHECK: (func $test (type $ref?|$struct|_=>_none) (param $struct (ref null $struct)) + ;; CHECK: (func $test (type $1) (param $struct (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.get $struct 0 ;; CHECK-NEXT: (local.get $struct) @@ -98,7 +98,7 @@ (type $struct2 (struct i32)) ) - ;; CHECK: (type $ref?|$struct1|_ref?|$struct2|_=>_none (func (param (ref null $struct1) (ref null $struct2)))) + ;; CHECK: (type $2 (func (param (ref null $struct1) (ref null $struct2)))) ;; CHECK: (import "a" "b" (global $imported i32)) (import "a" "b" (global $imported i32)) @@ -117,7 +117,7 @@ (i32.const 42) )) - ;; CHECK: (func $test1 (type $ref?|$struct1|_ref?|$struct2|_=>_none) (param $struct1 (ref null $struct1)) (param $struct2 (ref null $struct2)) + ;; CHECK: (func $test1 (type $2) (param $struct1 (ref null $struct1)) (param $struct2 (ref null $struct2)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.get $struct1 0 ;; CHECK-NEXT: (block (result (ref $struct1)) @@ -167,7 +167,7 @@ ;; CHECK: (type $struct (struct (field i32))) (type $struct (struct i32)) - ;; CHECK: (type $ref?|$struct|_=>_none (func (param (ref null $struct)))) + ;; CHECK: (type $1 (func (param (ref null $struct)))) ;; CHECK: (global $global1 (ref $struct) (struct.new $struct ;; CHECK-NEXT: (i32.const 42) @@ -190,7 +190,7 @@ (i32.const 99999) )) - ;; CHECK: (func $test (type $ref?|$struct|_=>_none) (param $struct (ref null $struct)) + ;; CHECK: (func $test (type $1) (param $struct (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.get $struct 0 ;; CHECK-NEXT: (local.get $struct) @@ -212,7 +212,7 @@ ;; CHECK: (type $struct (struct (field i32))) (type $struct (struct i32)) - ;; CHECK: (type $ref?|$struct|_=>_none (func (param (ref null $struct)))) + ;; CHECK: (type $1 (func (param (ref null $struct)))) ;; CHECK: (global $global1 (ref $struct) (struct.new $struct ;; CHECK-NEXT: (i32.const 42) @@ -235,7 +235,7 @@ (i32.const 1337) )) - ;; CHECK: (func $test (type $ref?|$struct|_=>_none) (param $struct (ref null $struct)) + ;; CHECK: (func $test (type $1) (param $struct (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (select ;; CHECK-NEXT: (i32.const 42) @@ -263,7 +263,7 @@ ;; CHECK: (type $struct (struct (field i32))) (type $struct (struct i32)) - ;; CHECK: (type $ref?|$struct|_=>_none (func (param (ref null $struct)))) + ;; CHECK: (type $1 (func (param (ref null $struct)))) ;; CHECK: (global $global1 (ref $struct) (struct.new $struct ;; CHECK-NEXT: (i32.const 1337) @@ -286,7 +286,7 @@ (i32.const 1337) )) - ;; CHECK: (func $test (type $ref?|$struct|_=>_none) (param $struct (ref null $struct)) + ;; CHECK: (func $test (type $1) (param $struct (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (select ;; CHECK-NEXT: (i32.const 42) @@ -314,7 +314,7 @@ ;; CHECK: (type $struct (struct (field i32))) (type $struct (struct i32)) - ;; CHECK: (type $ref?|$struct|_=>_none (func (param (ref null $struct)))) + ;; CHECK: (type $1 (func (param (ref null $struct)))) ;; CHECK: (global $global1 (ref $struct) (struct.new $struct ;; CHECK-NEXT: (i32.const 1337) @@ -337,7 +337,7 @@ (i32.const 42) )) - ;; CHECK: (func $test (type $ref?|$struct|_=>_none) (param $struct (ref null $struct)) + ;; CHECK: (func $test (type $1) (param $struct (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (select ;; CHECK-NEXT: (i32.const 42) @@ -365,7 +365,7 @@ ;; CHECK: (type $struct (struct (field i32))) (type $struct (struct i32)) - ;; CHECK: (type $ref?|$struct|_=>_none (func (param (ref null $struct)))) + ;; CHECK: (type $1 (func (param (ref null $struct)))) ;; CHECK: (global $global1 (ref $struct) (struct.new $struct ;; CHECK-NEXT: (i32.const 42) @@ -395,7 +395,7 @@ (i32.const 1337) )) - ;; CHECK: (func $test (type $ref?|$struct|_=>_none) (param $struct (ref null $struct)) + ;; CHECK: (func $test (type $1) (param $struct (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.get $struct 0 ;; CHECK-NEXT: (local.get $struct) @@ -417,7 +417,7 @@ ;; CHECK: (type $struct (struct (field i32))) (type $struct (struct i32)) - ;; CHECK: (type $ref?|$struct|_=>_none (func (param (ref null $struct)))) + ;; CHECK: (type $1 (func (param (ref null $struct)))) ;; CHECK: (global $global1 (ref $struct) (struct.new $struct ;; CHECK-NEXT: (i32.const 42) @@ -447,7 +447,7 @@ (i32.const 42) )) - ;; CHECK: (func $test (type $ref?|$struct|_=>_none) (param $struct (ref null $struct)) + ;; CHECK: (func $test (type $1) (param $struct (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (select ;; CHECK-NEXT: (i32.const 1337) @@ -475,7 +475,7 @@ ;; CHECK: (type $struct (struct (field i32))) (type $struct (struct i32)) - ;; CHECK: (type $ref?|$struct|_=>_none (func (param (ref null $struct)))) + ;; CHECK: (type $1 (func (param (ref null $struct)))) ;; CHECK: (global $global1 (ref $struct) (struct.new $struct ;; CHECK-NEXT: (i32.const 42) @@ -491,7 +491,7 @@ (i32.const 1337) )) - ;; CHECK: (func $test (type $ref?|$struct|_=>_none) (param $struct (ref null $struct)) + ;; CHECK: (func $test (type $1) (param $struct (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $struct ;; CHECK-NEXT: (i32.const 1) @@ -526,7 +526,7 @@ ;; CHECK: (type $tuple (struct (field anyref) (field anyref))) (type $tuple (struct anyref anyref)) - ;; CHECK: (type $ref?|$struct|_=>_none (func (param (ref null $struct)))) + ;; CHECK: (type $2 (func (param (ref null $struct)))) ;; CHECK: (global $global1 (ref $struct) (struct.new $struct ;; CHECK-NEXT: (i32.const 42) @@ -555,7 +555,7 @@ (ref.null any) )) - ;; CHECK: (func $test (type $ref?|$struct|_=>_none) (param $struct (ref null $struct)) + ;; CHECK: (func $test (type $2) (param $struct (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.get $struct 0 ;; CHECK-NEXT: (local.get $struct) @@ -580,7 +580,7 @@ ;; CHECK: (type $tuple (struct (field anyref) (field anyref))) (type $tuple (struct anyref anyref)) - ;; CHECK: (type $ref?|$struct|_=>_none (func (param (ref null $struct)))) + ;; CHECK: (type $2 (func (param (ref null $struct)))) ;; CHECK: (global $global1 (ref $struct) (struct.new $struct ;; CHECK-NEXT: (i32.const 42) @@ -605,7 +605,7 @@ (ref.null any) )) - ;; CHECK: (func $test (type $ref?|$struct|_=>_none) (param $struct (ref null $struct)) + ;; CHECK: (func $test (type $2) (param $struct (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (select ;; CHECK-NEXT: (i32.const 42) @@ -633,7 +633,7 @@ ;; CHECK: (type $struct (struct (field i32))) (type $struct (struct i32)) - ;; CHECK: (type $ref?|$struct|_=>_none (func (param (ref null $struct)))) + ;; CHECK: (type $1 (func (param (ref null $struct)))) ;; CHECK: (global $global1 (ref $struct) (struct.new $struct ;; CHECK-NEXT: (i32.const 42) @@ -649,7 +649,7 @@ (i32.const 1337) )) - ;; CHECK: (func $test (type $ref?|$struct|_=>_none) (param $struct (ref null $struct)) + ;; CHECK: (func $test (type $1) (param $struct (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.get $struct 0 ;; CHECK-NEXT: (local.get $struct) @@ -670,7 +670,7 @@ ;; CHECK: (type $struct (struct (field i32))) (type $struct (struct_subtype i32 data)) - ;; CHECK: (type $ref?|$struct|_=>_none (func (param (ref null $struct)))) + ;; CHECK: (type $1 (func (param (ref null $struct)))) ;; CHECK: (type $sub-struct (sub $struct (struct (field i32)))) (type $sub-struct (struct_subtype i32 $struct)) @@ -689,7 +689,7 @@ (i32.const 1337) )) - ;; CHECK: (func $test (type $ref?|$struct|_=>_none) (param $struct (ref null $struct)) + ;; CHECK: (func $test (type $1) (param $struct (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $sub-struct ;; CHECK-NEXT: (i32.const 999999) @@ -724,7 +724,7 @@ ;; CHECK: (type $struct (sub $super-struct (struct (field i32)))) (type $struct (struct_subtype i32 $super-struct)) - ;; CHECK: (type $ref?|$struct|_=>_none (func (param (ref null $struct)))) + ;; CHECK: (type $2 (func (param (ref null $struct)))) ;; CHECK: (global $global1 (ref $struct) (struct.new $struct ;; CHECK-NEXT: (i32.const 42) @@ -740,7 +740,7 @@ (i32.const 1337) )) - ;; CHECK: (func $test (type $ref?|$struct|_=>_none) (param $struct (ref null $struct)) + ;; CHECK: (func $test (type $2) (param $struct (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $super-struct ;; CHECK-NEXT: (i32.const 999999) @@ -782,7 +782,7 @@ ;; CHECK: (type $struct (sub $super-struct (struct (field i32)))) (type $struct (struct_subtype i32 $super-struct)) - ;; CHECK: (type $ref?|$struct|_ref?|$super-struct|_=>_none (func (param (ref null $struct) (ref null $super-struct)))) + ;; CHECK: (type $2 (func (param (ref null $struct) (ref null $super-struct)))) ;; CHECK: (global $global1 (ref $super-struct) (struct.new $super-struct ;; CHECK-NEXT: (i32.const 42) @@ -798,7 +798,7 @@ (i32.const 1337) )) - ;; CHECK: (func $test (type $ref?|$struct|_ref?|$super-struct|_=>_none) (param $struct (ref null $struct)) (param $super-struct (ref null $super-struct)) + ;; CHECK: (func $test (type $2) (param $struct (ref null $struct)) (param $super-struct (ref null $super-struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.get $struct 0 ;; CHECK-NEXT: (block (result (ref $struct)) @@ -846,7 +846,7 @@ ;; CHECK: (type $struct (struct (field i32))) (type $struct (struct i32)) - ;; CHECK: (type $ref?|$struct|_=>_none (func (param (ref null $struct)))) + ;; CHECK: (type $1 (func (param (ref null $struct)))) ;; CHECK: (global $global1 (ref $struct) (struct.new $struct ;; CHECK-NEXT: (i32.add @@ -868,7 +868,7 @@ (i32.const 1337) )) - ;; CHECK: (func $test (type $ref?|$struct|_=>_none) (param $struct (ref null $struct)) + ;; CHECK: (func $test (type $1) (param $struct (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.get $struct 0 ;; CHECK-NEXT: (local.get $struct) @@ -897,7 +897,7 @@ (type $struct2 (struct_subtype i32 f64 $super-struct)) - ;; CHECK: (type $ref?|$super-struct|_ref?|$struct1|_ref?|$struct2|_=>_none (func (param (ref null $super-struct) (ref null $struct1) (ref null $struct2)))) + ;; CHECK: (type $3 (func (param (ref null $super-struct) (ref null $struct1) (ref null $struct2)))) ;; CHECK: (global $global0 (ref $super-struct) (struct.new $super-struct ;; CHECK-NEXT: (i32.const 42) @@ -924,7 +924,7 @@ (f64.const 2.71828) )) - ;; CHECK: (func $test (type $ref?|$super-struct|_ref?|$struct1|_ref?|$struct2|_=>_none) (param $super-struct (ref null $super-struct)) (param $struct1 (ref null $struct1)) (param $struct2 (ref null $struct2)) + ;; CHECK: (func $test (type $3) (param $super-struct (ref null $super-struct)) (param $struct1 (ref null $struct1)) (param $struct2 (ref null $struct2)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.get $super-struct 0 ;; CHECK-NEXT: (local.get $super-struct) @@ -990,7 +990,7 @@ (type $struct2 (struct_subtype i32 f64 $super-struct)) - ;; CHECK: (type $ref?|$super-struct|_ref?|$struct1|_ref?|$struct2|_=>_none (func (param (ref null $super-struct) (ref null $struct1) (ref null $struct2)))) + ;; CHECK: (type $3 (func (param (ref null $super-struct) (ref null $struct1) (ref null $struct2)))) ;; CHECK: (global $global0 (ref $super-struct) (struct.new $super-struct ;; CHECK-NEXT: (i32.const 42) @@ -1035,7 +1035,7 @@ (f64.const 2.71828) )) - ;; CHECK: (func $test (type $ref?|$super-struct|_ref?|$struct1|_ref?|$struct2|_=>_none) (param $super-struct (ref null $super-struct)) (param $struct1 (ref null $struct1)) (param $struct2 (ref null $struct2)) + ;; CHECK: (func $test (type $3) (param $super-struct (ref null $super-struct)) (param $struct1 (ref null $struct1)) (param $struct2 (ref null $struct2)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.get $super-struct 0 ;; CHECK-NEXT: (local.get $super-struct) @@ -1093,7 +1093,7 @@ ;; CHECK: (type $struct (struct (field i32))) (type $struct (struct i32)) - ;; CHECK: (type $ref?|$struct|_=>_none (func (param (ref null $struct)))) + ;; CHECK: (type $1 (func (param (ref null $struct)))) ;; CHECK: (global $global1 (ref $struct) (struct.new $struct ;; CHECK-NEXT: (i32.const 42) @@ -1109,7 +1109,7 @@ (i32.const 42) )) - ;; CHECK: (func $test (type $ref?|$struct|_=>_none) (param $struct (ref null $struct)) + ;; CHECK: (func $test (type $1) (param $struct (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (drop @@ -1136,7 +1136,7 @@ ;; CHECK: (type $A (struct (field i32))) (type $A (struct (field i32))) - ;; CHECK: (type $ref?|$A|_=>_i32 (func (param (ref null $A)) (result i32))) + ;; CHECK: (type $1 (func (param (ref null $A)) (result i32))) ;; CHECK: (global $A0 (ref any) (struct.new $A ;; CHECK-NEXT: (i32.const 1337) @@ -1152,7 +1152,7 @@ (i32.const 9999) )) - ;; CHECK: (func $func (type $ref?|$A|_=>_i32) (param $ref (ref null $A)) (result i32) + ;; CHECK: (func $func (type $1) (param $ref (ref null $A)) (result i32) ;; CHECK-NEXT: (struct.get $A 0 ;; CHECK-NEXT: (local.get $ref) ;; CHECK-NEXT: ) @@ -1173,7 +1173,7 @@ ;; CHECK: (type $A (struct (field i32))) (type $A (struct (field i32))) - ;; CHECK: (type $ref?|$A|_=>_i32 (func (param (ref null $A)) (result i32))) + ;; CHECK: (type $1 (func (param (ref null $A)) (result i32))) ;; CHECK: (global $A0 (ref any) (struct.new $A ;; CHECK-NEXT: (i32.const 1337) @@ -1182,7 +1182,7 @@ (i32.const 1337) )) - ;; CHECK: (func $func (type $ref?|$A|_=>_i32) (param $ref (ref null $A)) (result i32) + ;; CHECK: (func $func (type $1) (param $ref (ref null $A)) (result i32) ;; CHECK-NEXT: (struct.get $A 0 ;; CHECK-NEXT: (local.get $ref) ;; CHECK-NEXT: ) @@ -1198,7 +1198,7 @@ ;; CHECK: (type $A (struct (field i32))) (type $A (struct (field i32))) - ;; CHECK: (type $ref?|$A|_=>_i32 (func (param (ref null $A)) (result i32))) + ;; CHECK: (type $1 (func (param (ref null $A)) (result i32))) ;; CHECK: (global $A0 (ref $A) (struct.new $A ;; CHECK-NEXT: (i32.const 1337) @@ -1207,7 +1207,7 @@ (i32.const 1337) )) - ;; CHECK: (func $func (type $ref?|$A|_=>_i32) (param $ref (ref null $A)) (result i32) + ;; CHECK: (func $func (type $1) (param $ref (ref null $A)) (result i32) ;; CHECK-NEXT: (block ;; (replaces something unreachable we can't emit) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.null none) @@ -1238,7 +1238,7 @@ (type $sub-struct2 (struct_subtype i32 $struct)) ) - ;; CHECK: (type $ref?|$struct|_=>_none (func (param (ref null $struct)))) + ;; CHECK: (type $3 (func (param (ref null $struct)))) ;; CHECK: (global $global1 (ref $sub-struct1) (struct.new $sub-struct1 ;; CHECK-NEXT: (i32.const 42) @@ -1254,7 +1254,7 @@ (i32.const 1337) )) - ;; CHECK: (func $test (type $ref?|$struct|_=>_none) (param $struct (ref null $struct)) + ;; CHECK: (func $test (type $3) (param $struct (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (select ;; CHECK-NEXT: (i32.const 42) @@ -1292,7 +1292,7 @@ (type $sub-struct2 (struct_subtype i32 $struct)) ) - ;; CHECK: (type $ref?|$struct|_=>_none (func (param (ref null $struct)))) + ;; CHECK: (type $3 (func (param (ref null $struct)))) ;; CHECK: (global $global1 (ref $sub-struct1) (struct.new $sub-struct1 ;; CHECK-NEXT: (i32.const 42) @@ -1308,7 +1308,7 @@ (i32.const 1337) )) - ;; CHECK: (func $test (type $ref?|$struct|_=>_none) (param $struct (ref null $struct)) + ;; CHECK: (func $test (type $3) (param $struct (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $struct ;; CHECK-NEXT: (i32.const 999999) @@ -1349,7 +1349,7 @@ (type $sub-struct2 (struct_subtype i32 $struct)) ) - ;; CHECK: (type $ref?|$struct|_=>_none (func (param (ref null $struct)))) + ;; CHECK: (type $3 (func (param (ref null $struct)))) ;; CHECK: (global $global1 (ref $sub-struct1) (struct.new $sub-struct1 ;; CHECK-NEXT: (i32.const 42) @@ -1365,7 +1365,7 @@ (i32.const 1337) )) - ;; CHECK: (func $test (type $ref?|$struct|_=>_none) (param $struct (ref null $struct)) + ;; CHECK: (func $test (type $3) (param $struct (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $sub-struct1 ;; CHECK-NEXT: (i32.const 999999) diff --git a/test/lit/passes/gsi_vacuum_precompute.wast b/test/lit/passes/gsi_vacuum_precompute.wast index 564abe152..8f4067446 100644 --- a/test/lit/passes/gsi_vacuum_precompute.wast +++ b/test/lit/passes/gsi_vacuum_precompute.wast @@ -32,9 +32,9 @@ ;; Two $vtable instances are created, in separate enclosing objects. - ;; CHECK: (type $ref|any|_=>_funcref (func (param (ref any)) (result funcref))) + ;; CHECK: (type $3 (func (param (ref any)) (result funcref))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $4 (func)) ;; CHECK: (global $itable1 (ref $itable1) (struct.new $itable1 ;; CHECK-NEXT: (struct.new $vtable @@ -64,7 +64,7 @@ ;; CHECK: (export "test-B" (func $test-B)) - ;; CHECK: (func $test-A (type $ref|any|_=>_funcref) (param $ref (ref any)) (result funcref) + ;; CHECK: (func $test-A (type $3) (param $ref (ref any)) (result funcref) ;; CHECK-NEXT: (ref.func $func1) ;; CHECK-NEXT: ) (func $test-A (export "test-A") (param $ref (ref any)) (result funcref) @@ -77,7 +77,7 @@ ) ) - ;; CHECK: (func $test-B (type $ref|any|_=>_funcref) (param $ref (ref any)) (result funcref) + ;; CHECK: (func $test-B (type $3) (param $ref (ref any)) (result funcref) ;; CHECK-NEXT: (ref.func $func2) ;; CHECK-NEXT: ) (func $test-B (export "test-B") (param $ref (ref any)) (result funcref) @@ -90,12 +90,12 @@ ) ) - ;; CHECK: (func $func1 (type $none_=>_none) + ;; CHECK: (func $func1 (type $4) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $func1) - ;; CHECK: (func $func2 (type $none_=>_none) + ;; CHECK: (func $func2 (type $4) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $func2) diff --git a/test/lit/passes/gto-mutability.wast b/test/lit/passes/gto-mutability.wast index a77d8c271..0ffa0e2d8 100644 --- a/test/lit/passes/gto-mutability.wast +++ b/test/lit/passes/gto-mutability.wast @@ -8,11 +8,11 @@ ;; which means we can make it immutable. ;; CHECK: (rec - ;; CHECK-NEXT: (type $ref?|$struct|_=>_none (func (param (ref null $struct)))) + ;; CHECK-NEXT: (type $0 (func (param (ref null $struct)))) ;; CHECK: (type $two-params (func (param (ref $struct) (ref $struct)))) - ;; CHECK: (type $none_=>_ref?|$struct| (func (result (ref null $struct)))) + ;; CHECK: (type $2 (func (result (ref null $struct)))) ;; CHECK: (type $struct (struct (field (mut funcref)) (field funcref) (field (mut funcref)))) (type $struct (struct (field (mut funcref)) (field (mut funcref)) (field (mut funcref)))) @@ -22,9 +22,9 @@ ;; Test that we update tag types properly. (table 0 funcref) - ;; CHECK: (type $ref|$struct|_=>_none (func (param (ref $struct)))) + ;; CHECK: (type $4 (func (param (ref $struct)))) - ;; CHECK: (type $ref|$struct|_=>_none (func (param (ref $struct)))) + ;; CHECK: (type $5 (func (param (ref $struct)))) ;; CHECK: (table $0 0 funcref) @@ -33,7 +33,7 @@ ;; CHECK: (tag $tag (param (ref $struct))) (tag $tag (param (ref $struct))) - ;; CHECK: (func $func (type $ref|$struct|_=>_none) (param $x (ref $struct)) + ;; CHECK: (func $func (type $4) (param $x (ref $struct)) ;; CHECK-NEXT: (local $temp (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $struct @@ -101,7 +101,7 @@ ) ) - ;; CHECK: (func $foo (type $none_=>_ref?|$struct|) (result (ref null $struct)) + ;; CHECK: (func $foo (type $2) (result (ref null $struct)) ;; CHECK-NEXT: (try $try ;; CHECK-NEXT: (do ;; CHECK-NEXT: (nop) @@ -157,7 +157,7 @@ ) ) - ;; CHECK: (func $field-keepalive (type $ref?|$struct|_=>_none) (param $struct (ref null $struct)) + ;; CHECK: (func $field-keepalive (type $0) (param $struct (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.get $struct 2 ;; CHECK-NEXT: (local.get $struct) @@ -179,16 +179,16 @@ ;; CHECK: (rec ;; CHECK-NEXT: (type $B (struct (field (ref null $A)) (field f64))) - ;; CHECK: (type $ref?|$A|_ref?|$B|_=>_none (func (param (ref null $A) (ref null $B)))) + ;; CHECK: (type $1 (func (param (ref null $A) (ref null $B)))) ;; CHECK: (type $A (struct (field (mut (ref null $B))) (field (mut i32)))) (type $A (struct (field (mut (ref null $B))) (field (mut i32)) )) (type $B (struct (field (mut (ref null $A))) (field (mut f64)) )) ) - ;; CHECK: (type $ref|$A|_=>_none (func (param (ref $A)))) + ;; CHECK: (type $3 (func (param (ref $A)))) - ;; CHECK: (func $func (type $ref|$A|_=>_none) (param $x (ref $A)) + ;; CHECK: (func $func (type $3) (param $x (ref $A)) ;; CHECK-NEXT: (struct.set $A 0 ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: (ref.null none) @@ -209,7 +209,7 @@ ) ) - ;; CHECK: (func $field-keepalive (type $ref?|$A|_ref?|$B|_=>_none) (param $A (ref null $A)) (param $B (ref null $B)) + ;; CHECK: (func $field-keepalive (type $1) (param $A (ref null $A)) (param $B (ref null $B)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.get $A 0 ;; CHECK-NEXT: (local.get $A) @@ -246,7 +246,7 @@ ;; CHECK: (rec ;; CHECK-NEXT: (type $A (struct (field (ref null $B)) (field i32))) - ;; CHECK: (type $ref?|$A|_ref?|$B|_=>_none (func (param (ref null $A) (ref null $B)))) + ;; CHECK: (type $1 (func (param (ref null $A) (ref null $B)))) ;; CHECK: (type $B (struct (field (mut (ref null $A))) (field (mut f64)))) (type $B (struct (field (mut (ref null $A))) (field (mut f64)) )) @@ -254,9 +254,9 @@ (type $A (struct (field (mut (ref null $B))) (field (mut i32)) )) ) - ;; CHECK: (type $ref|$B|_=>_none (func (param (ref $B)))) + ;; CHECK: (type $3 (func (param (ref $B)))) - ;; CHECK: (func $func (type $ref|$B|_=>_none) (param $x (ref $B)) + ;; CHECK: (func $func (type $3) (param $x (ref $B)) ;; CHECK-NEXT: (struct.set $B 0 ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: (ref.null none) @@ -277,7 +277,7 @@ ) ) - ;; CHECK: (func $field-keepalive (type $ref?|$A|_ref?|$B|_=>_none) (param $A (ref null $A)) (param $B (ref null $B)) + ;; CHECK: (func $field-keepalive (type $1) (param $A (ref null $A)) (param $B (ref null $B)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.get $A 0 ;; CHECK-NEXT: (local.get $A) @@ -312,7 +312,7 @@ (rec ;; CHECK: (rec - ;; CHECK-NEXT: (type $ref?|$A|_ref?|$B|_=>_none (func (param (ref null $A) (ref null $B)))) + ;; CHECK-NEXT: (type $0 (func (param (ref null $A) (ref null $B)))) ;; CHECK: (type $B (struct (field (ref null $A)) (field (mut f64)))) (type $B (struct (field (mut (ref null $A))) (field (mut f64)) )) @@ -321,9 +321,9 @@ (type $A (struct (field (mut (ref null $B))) (field (mut i32)) )) ) - ;; CHECK: (type $ref|$A|_ref|$B|_=>_none (func (param (ref $A) (ref $B)))) + ;; CHECK: (type $3 (func (param (ref $A) (ref $B)))) - ;; CHECK: (func $func (type $ref|$A|_ref|$B|_=>_none) (param $x (ref $A)) (param $y (ref $B)) + ;; CHECK: (func $func (type $3) (param $x (ref $A)) (param $y (ref $B)) ;; CHECK-NEXT: (struct.set $A 0 ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: (ref.null none) @@ -344,7 +344,7 @@ ) ) - ;; CHECK: (func $field-keepalive (type $ref?|$A|_ref?|$B|_=>_none) (param $A (ref null $A)) (param $B (ref null $B)) + ;; CHECK: (func $field-keepalive (type $0) (param $A (ref null $A)) (param $B (ref null $B)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.get $A 0 ;; CHECK-NEXT: (local.get $A) @@ -380,14 +380,14 @@ ;; Field #2 is mutable and must remain so. ;; CHECK: (rec - ;; CHECK-NEXT: (type $ref?|$struct|_=>_none (func (param (ref null $struct)))) + ;; CHECK-NEXT: (type $0 (func (param (ref null $struct)))) ;; CHECK: (type $struct (struct (field i32) (field i32) (field (mut i32)))) (type $struct (struct (field i32) (field (mut i32)) (field (mut i32)))) - ;; CHECK: (type $ref|$struct|_=>_none (func (param (ref $struct)))) + ;; CHECK: (type $2 (func (param (ref $struct)))) - ;; CHECK: (func $func (type $ref|$struct|_=>_none) (param $x (ref $struct)) + ;; CHECK: (func $func (type $2) (param $x (ref $struct)) ;; CHECK-NEXT: (struct.set $struct 2 ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: (i32.const 1) @@ -400,7 +400,7 @@ ) ) - ;; CHECK: (func $field-keepalive (type $ref?|$struct|_=>_none) (param $struct (ref null $struct)) + ;; CHECK: (func $field-keepalive (type $0) (param $struct (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.get $struct 0 ;; CHECK-NEXT: (local.get $struct) @@ -429,16 +429,16 @@ ;; optimize the field to be immutable. ;; CHECK: (rec - ;; CHECK-NEXT: (type $ref?|$super|_ref?|$sub|_=>_none (func (param (ref null $super) (ref null $sub)))) + ;; CHECK-NEXT: (type $0 (func (param (ref null $super) (ref null $sub)))) ;; CHECK: (type $super (struct (field i32))) (type $super (struct (field (mut i32)))) ;; CHECK: (type $sub (sub $super (struct (field i32)))) (type $sub (struct_subtype (field (mut i32)) $super)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $3 (func)) - ;; CHECK: (func $func (type $none_=>_none) + ;; CHECK: (func $func (type $3) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $super ;; CHECK-NEXT: (i32.const 1) @@ -464,7 +464,7 @@ ) ) - ;; CHECK: (func $field-keepalive (type $ref?|$super|_ref?|$sub|_=>_none) (param $super (ref null $super)) (param $sub (ref null $sub)) + ;; CHECK: (func $field-keepalive (type $0) (param $super (ref null $super)) (param $sub (ref null $sub)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.get $super 0 ;; CHECK-NEXT: (local.get $super) @@ -490,11 +490,11 @@ ;; CHECK: (type $sub (sub $super (struct (field (mut i32))))) (type $sub (struct_subtype (field (mut i32)) $super)) - ;; CHECK: (type $ref|$super|_=>_none (func (param (ref $super)))) + ;; CHECK: (type $2 (func (param (ref $super)))) - ;; CHECK: (type $ref?|$super|_ref?|$sub|_=>_none (func (param (ref null $super) (ref null $sub)))) + ;; CHECK: (type $3 (func (param (ref null $super) (ref null $sub)))) - ;; CHECK: (func $func (type $ref|$super|_=>_none) (param $x (ref $super)) + ;; CHECK: (func $func (type $2) (param $x (ref $super)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $super ;; CHECK-NEXT: (i32.const 1) @@ -528,7 +528,7 @@ ) ) - ;; CHECK: (func $field-keepalive (type $ref?|$super|_ref?|$sub|_=>_none) (param $super (ref null $super)) (param $sub (ref null $sub)) + ;; CHECK: (func $field-keepalive (type $3) (param $super (ref null $super)) (param $sub (ref null $sub)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.get $super 0 ;; CHECK-NEXT: (local.get $super) @@ -555,11 +555,11 @@ ;; CHECK: (type $sub (sub $super (struct (field (mut i32))))) (type $sub (struct_subtype (field (mut i32)) $super)) - ;; CHECK: (type $ref|$sub|_=>_none (func (param (ref $sub)))) + ;; CHECK: (type $2 (func (param (ref $sub)))) - ;; CHECK: (type $ref?|$super|_ref?|$sub|_=>_none (func (param (ref null $super) (ref null $sub)))) + ;; CHECK: (type $3 (func (param (ref null $super) (ref null $sub)))) - ;; CHECK: (func $func (type $ref|$sub|_=>_none) (param $x (ref $sub)) + ;; CHECK: (func $func (type $2) (param $x (ref $sub)) ;; CHECK-NEXT: (struct.set $sub 0 ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: (i32.const 2) @@ -572,7 +572,7 @@ ) ) - ;; CHECK: (func $field-keepalive (type $ref?|$super|_ref?|$sub|_=>_none) (param $super (ref null $super)) (param $sub (ref null $sub)) + ;; CHECK: (func $field-keepalive (type $3) (param $super (ref null $super)) (param $sub (ref null $sub)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.get $super 0 ;; CHECK-NEXT: (local.get $super) diff --git a/test/lit/passes/gto-removals.wast b/test/lit/passes/gto-removals.wast index 2df9ddc3f..43a81a5e2 100644 --- a/test/lit/passes/gto-removals.wast +++ b/test/lit/passes/gto-removals.wast @@ -9,9 +9,9 @@ ;; CHECK-NEXT: (type $struct (struct )) (type $struct (struct_subtype (field (mut funcref)) data)) - ;; CHECK: (type $ref|$struct|_=>_none (func (param (ref $struct)))) + ;; CHECK: (type $1 (func (param (ref $struct)))) - ;; CHECK: (func $func (type $ref|$struct|_=>_none) (param $x (ref $struct)) + ;; CHECK: (func $func (type $1) (param $x (ref $struct)) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $func (param $x (ref $struct)) @@ -25,9 +25,9 @@ ;; CHECK-NEXT: (type $struct (struct )) (type $struct (struct_subtype (field (mut funcref)) data)) - ;; CHECK: (type $ref|$struct|_=>_none (func (param (ref $struct)))) + ;; CHECK: (type $1 (func (param (ref $struct)))) - ;; CHECK: (func $func (type $ref|$struct|_=>_none) (param $x (ref $struct)) + ;; CHECK: (func $func (type $1) (param $x (ref $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.as_non_null ;; CHECK-NEXT: (block (result (ref $struct)) @@ -56,9 +56,9 @@ ;; CHECK-NEXT: (type $struct (struct )) (type $struct (struct_subtype (field (mut funcref)) data)) - ;; CHECK: (type $ref|$struct|_=>_none (func (param (ref $struct)))) + ;; CHECK: (type $1 (func (param (ref $struct)))) - ;; CHECK: (func $func (type $ref|$struct|_=>_none) (param $x (ref $struct)) + ;; CHECK: (func $func (type $1) (param $x (ref $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new_default $struct) ;; CHECK-NEXT: ) @@ -80,9 +80,9 @@ ;; CHECK-NEXT: (type $struct (struct )) (type $struct (struct_subtype (field (mut funcref)) data)) - ;; CHECK: (type $ref|$struct|_=>_none (func (param (ref $struct)))) + ;; CHECK: (type $1 (func (param (ref $struct)))) - ;; CHECK: (func $func (type $ref|$struct|_=>_none) (param $x (ref $struct)) + ;; CHECK: (func $func (type $1) (param $x (ref $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new_default $struct) ;; CHECK-NEXT: ) @@ -103,9 +103,9 @@ ;; CHECK-NEXT: (type $struct (struct (field funcref))) (type $struct (struct_subtype (field (mut funcref)) data)) - ;; CHECK: (type $ref|$struct|_=>_none (func (param (ref $struct)))) + ;; CHECK: (type $1 (func (param (ref $struct)))) - ;; CHECK: (func $func (type $ref|$struct|_=>_none) (param $x (ref $struct)) + ;; CHECK: (func $func (type $1) (param $x (ref $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.get $struct 0 ;; CHECK-NEXT: (local.get $x) @@ -130,7 +130,7 @@ ;; CHECK: (rec ;; CHECK-NEXT: (type $imm-struct (struct (field $rw i32) (field $rw-2 i32))) - ;; CHECK: (type $ref|$imm-struct|_=>_none (func (param (ref $imm-struct)))) + ;; CHECK: (type $1 (func (param (ref $imm-struct)))) ;; CHECK: (type $mut-struct (struct (field $r i32) (field $rw (mut i32)) (field $r-2 i32) (field $rw-2 (mut i32)))) (type $mut-struct (struct_subtype (field $r (mut i32)) (field $w (mut i32)) (field $rw (mut i32)) (field $r-2 (mut i32)) (field $w-2 (mut i32)) (field $rw-2 (mut i32)) data)) @@ -139,9 +139,9 @@ ;; writes are from during creation (so all fields are at least writeable). (type $imm-struct (struct_subtype (field $w i32) (field $rw i32) (field $w-2 i32) (field $rw-2 i32) data)) - ;; CHECK: (type $ref|$mut-struct|_=>_none (func (param (ref $mut-struct)))) + ;; CHECK: (type $3 (func (param (ref $mut-struct)))) - ;; CHECK: (func $func-mut (type $ref|$mut-struct|_=>_none) (param $x (ref $mut-struct)) + ;; CHECK: (func $func-mut (type $3) (param $x (ref $mut-struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.get $mut-struct $r ;; CHECK-NEXT: (local.get $x) @@ -234,7 +234,7 @@ ) ) - ;; CHECK: (func $func-imm (type $ref|$imm-struct|_=>_none) (param $x (ref $imm-struct)) + ;; CHECK: (func $func-imm (type $1) (param $x (ref $imm-struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $imm-struct ;; CHECK-NEXT: (i32.const 1) @@ -281,7 +281,7 @@ ;; fields are accessed. ;; CHECK: (rec - ;; CHECK-NEXT: (type $none_=>_none (func)) + ;; CHECK-NEXT: (type $0 (func)) ;; CHECK: (type $vtable (struct (field $v1 funcref) (field $v2 funcref))) (type $vtable (struct_subtype (field $v0 funcref) (field $v1 funcref) (field $v2 funcref) (field $v3 funcref) (field $v4 funcref) data)) @@ -298,7 +298,7 @@ (ref.func $func-4) )) - ;; CHECK: (func $test (type $none_=>_none) + ;; CHECK: (func $test (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.get $vtable $v1 ;; CHECK-NEXT: (global.get $vtable) @@ -327,23 +327,23 @@ ;; one before it. ) - ;; CHECK: (func $func-0 (type $none_=>_none) + ;; CHECK: (func $func-0 (type $0) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $func-0) - ;; CHECK: (func $func-1 (type $none_=>_none) + ;; CHECK: (func $func-1 (type $0) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $func-1) - ;; CHECK: (func $func-2 (type $none_=>_none) + ;; CHECK: (func $func-2 (type $0) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $func-2) - ;; CHECK: (func $func-3 (type $none_=>_none) + ;; CHECK: (func $func-3 (type $0) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $func-3) - ;; CHECK: (func $func-4 (type $none_=>_none) + ;; CHECK: (func $func-4 (type $0) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $func-4) @@ -356,7 +356,7 @@ ;; CHECK: (rec - ;; CHECK-NEXT: (type $none_=>_none (func)) + ;; CHECK-NEXT: (type $0 (func)) ;; CHECK: (type $vtable (struct (field $v1 i64) (field $v2 f32))) (type $vtable (struct_subtype (field $v0 i32) (field $v1 i64) (field $v2 f32) (field $v3 f64) (field $v4 anyref) data)) @@ -373,7 +373,7 @@ (ref.null none) )) - ;; CHECK: (func $test (type $none_=>_none) + ;; CHECK: (func $test (type $0) ;; CHECK-NEXT: (local $i64 i64) ;; CHECK-NEXT: (local $f32 f32) ;; CHECK-NEXT: (local.set $i64 @@ -407,21 +407,21 @@ ;; A new with side effects ;; CHECK: (rec - ;; CHECK-NEXT: (type $i32_=>_ref|any| (func (param i32) (result (ref any)))) + ;; CHECK-NEXT: (type $0 (func (param i32) (result (ref any)))) - ;; CHECK: (type $i32_=>_f64 (func (param i32) (result f64))) + ;; CHECK: (type $1 (func (param i32) (result f64))) - ;; CHECK: (type $i32_=>_i32 (func (param i32) (result i32))) + ;; CHECK: (type $2 (func (param i32) (result i32))) - ;; CHECK: (type $ref|any|_=>_none (func (param (ref any)))) + ;; CHECK: (type $3 (func (param (ref any)))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $4 (func)) ;; CHECK: (type $struct (struct (field i32))) (type $struct (struct i32 f64 (ref any))) - ;; CHECK: (type $ref|any|_ref?|$struct|_=>_none (func (param (ref any) (ref null $struct)))) + ;; CHECK: (type $6 (func (param (ref any) (ref null $struct)))) ;; CHECK: (global $imm-i32 i32 (i32.const 1234)) (global $imm-i32 i32 (i32.const 1234)) @@ -429,7 +429,7 @@ ;; CHECK: (global $mut-i32 (mut i32) (i32.const 5678)) (global $mut-i32 (mut i32) (i32.const 5678)) - ;; CHECK: (func $gets (type $ref|any|_ref?|$struct|_=>_none) (param $x (ref any)) (param $struct (ref null $struct)) + ;; CHECK: (func $gets (type $6) (param $x (ref any)) (param $struct (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.get $struct 0 ;; CHECK-NEXT: (local.get $struct) @@ -445,7 +445,7 @@ ) ) - ;; CHECK: (func $new-side-effect (type $none_=>_none) + ;; CHECK: (func $new-side-effect (type $4) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (local $1 f64) ;; CHECK-NEXT: (local $2 (ref any)) @@ -486,7 +486,7 @@ ) ) - ;; CHECK: (func $new-side-effect-global-imm (type $none_=>_none) + ;; CHECK: (func $new-side-effect-global-imm (type $4) ;; CHECK-NEXT: (local $0 f64) ;; CHECK-NEXT: (local $1 (ref any)) ;; CHECK-NEXT: (drop @@ -521,7 +521,7 @@ ) ) - ;; CHECK: (func $new-side-effect-global-mut (type $none_=>_none) + ;; CHECK: (func $new-side-effect-global-mut (type $4) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (local $1 f64) ;; CHECK-NEXT: (local $2 (ref any)) @@ -558,7 +558,7 @@ ) ) - ;; CHECK: (func $new-unreachable (type $none_=>_none) + ;; CHECK: (func $new-unreachable (type $4) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block ;; (replaces something unreachable we can't emit) ;; CHECK-NEXT: (drop @@ -588,7 +588,7 @@ ) ) - ;; CHECK: (func $new-side-effect-in-kept (type $ref|any|_=>_none) (param $any (ref any)) + ;; CHECK: (func $new-side-effect-in-kept (type $3) (param $any (ref any)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $struct ;; CHECK-NEXT: (call $helper0 @@ -609,21 +609,21 @@ ) ) - ;; CHECK: (func $helper0 (type $i32_=>_i32) (param $x i32) (result i32) + ;; CHECK: (func $helper0 (type $2) (param $x i32) (result i32) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) (func $helper0 (param $x i32) (result i32) (unreachable) ) - ;; CHECK: (func $helper1 (type $i32_=>_f64) (param $x i32) (result f64) + ;; CHECK: (func $helper1 (type $1) (param $x i32) (result f64) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) (func $helper1 (param $x i32) (result f64) (unreachable) ) - ;; CHECK: (func $helper2 (type $i32_=>_ref|any|) (param $x i32) (result (ref any)) + ;; CHECK: (func $helper2 (type $0) (param $x i32) (result (ref any)) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) (func $helper2 (param $x i32) (result (ref any)) @@ -641,9 +641,9 @@ ;; CHECK: (type $child (sub $parent (struct (field i32) (field i64) (field f32) (field f64) (field anyref)))) (type $child (struct_subtype (field i32) (field i64) (field f32) (field f64) (field anyref) $parent)) - ;; CHECK: (type $ref|$parent|_ref|$child|_=>_none (func (param (ref $parent) (ref $child)))) + ;; CHECK: (type $2 (func (param (ref $parent) (ref $child)))) - ;; CHECK: (func $func (type $ref|$parent|_ref|$child|_=>_none) (param $x (ref $parent)) (param $y (ref $child)) + ;; CHECK: (func $func (type $2) (param $x (ref $parent)) (param $y (ref $child)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.get $parent 1 ;; CHECK-NEXT: (local.get $x) @@ -691,9 +691,9 @@ ;; CHECK: (type $child (sub $parent (struct (field i32) (field i64) (field (mut f32)) (field f64) (field anyref)))) (type $child (struct_subtype (field (mut i32)) (field (mut i64)) (field (mut f32)) (field (mut f64)) (field (mut anyref)) $parent)) - ;; CHECK: (type $ref|$parent|_ref|$child|_=>_none (func (param (ref $parent) (ref $child)))) + ;; CHECK: (type $2 (func (param (ref $parent) (ref $child)))) - ;; CHECK: (func $func (type $ref|$parent|_ref|$child|_=>_none) (param $x (ref $parent)) (param $y (ref $child)) + ;; CHECK: (func $func (type $2) (param $x (ref $parent)) (param $y (ref $child)) ;; CHECK-NEXT: (struct.set $parent 2 ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: (f32.const 0) @@ -751,9 +751,9 @@ (type $child2 (struct_subtype (field i32) $parent)) ) - ;; CHECK: (type $ref|$parent|_ref|$child1|_ref|$child2|_=>_none (func (param (ref $parent) (ref $child1) (ref $child2)))) + ;; CHECK: (type $3 (func (param (ref $parent) (ref $child1) (ref $child2)))) - ;; CHECK: (func $func (type $ref|$parent|_ref|$child1|_ref|$child2|_=>_none) (param $parent (ref $parent)) (param $child1 (ref $child1)) (param $child2 (ref $child2)) + ;; CHECK: (func $func (type $3) (param $parent (ref $parent)) (param $child1 (ref $child1)) (param $child2 (ref $child2)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.get $parent 0 ;; CHECK-NEXT: (local.get $parent) @@ -780,9 +780,9 @@ (type $child2 (struct_subtype (field i32) $parent)) ) - ;; CHECK: (type $ref|$parent|_ref|$child1|_ref|$child2|_=>_none (func (param (ref $parent) (ref $child1) (ref $child2)))) + ;; CHECK: (type $3 (func (param (ref $parent) (ref $child1) (ref $child2)))) - ;; CHECK: (func $func (type $ref|$parent|_ref|$child1|_ref|$child2|_=>_none) (param $parent (ref $parent)) (param $child1 (ref $child1)) (param $child2 (ref $child2)) + ;; CHECK: (func $func (type $3) (param $parent (ref $parent)) (param $child1 (ref $child1)) (param $child2 (ref $child2)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.get $child1 0 ;; CHECK-NEXT: (local.get $child1) @@ -796,18 +796,18 @@ (module ;; CHECK: (rec - ;; CHECK-NEXT: (type $none_=>_ref|${mut:i8}| (func (result (ref ${mut:i8})))) + ;; CHECK-NEXT: (type $0 (func (result (ref ${mut:i8})))) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $1 (func (result i32))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $2 (func)) ;; CHECK: (type ${mut:i8} (struct )) (type ${mut:i8} (struct_subtype (field (mut i8)) data)) - ;; CHECK: (type $ref?|${mut:i8}|_=>_none (func (param (ref null ${mut:i8})))) + ;; CHECK: (type $4 (func (param (ref null ${mut:i8})))) - ;; CHECK: (func $unreachable-set (type $ref?|${mut:i8}|_=>_none) (param ${mut:i8} (ref null ${mut:i8})) + ;; CHECK: (func $unreachable-set (type $4) (param ${mut:i8} (ref null ${mut:i8})) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.as_non_null ;; CHECK-NEXT: (block (result (ref null ${mut:i8})) @@ -831,7 +831,7 @@ ) ) - ;; CHECK: (func $unreachable-set-2 (type $ref?|${mut:i8}|_=>_none) (param ${mut:i8} (ref null ${mut:i8})) + ;; CHECK: (func $unreachable-set-2 (type $4) (param ${mut:i8} (ref null ${mut:i8})) ;; CHECK-NEXT: (block $block ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.as_non_null @@ -858,7 +858,7 @@ ) ) - ;; CHECK: (func $unreachable-set-2b (type $ref?|${mut:i8}|_=>_none) (param ${mut:i8} (ref null ${mut:i8})) + ;; CHECK: (func $unreachable-set-2b (type $4) (param ${mut:i8} (ref null ${mut:i8})) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.as_non_null @@ -885,7 +885,7 @@ ) ) - ;; CHECK: (func $unreachable-set-3 (type $none_=>_none) + ;; CHECK: (func $unreachable-set-3 (type $2) ;; CHECK-NEXT: (local $0 (ref ${mut:i8})) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.as_non_null @@ -911,14 +911,14 @@ ) ) - ;; CHECK: (func $helper-i32 (type $none_=>_i32) (result i32) + ;; CHECK: (func $helper-i32 (type $1) (result i32) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) (func $helper-i32 (result i32) (i32.const 1) ) - ;; CHECK: (func $helper-ref (type $none_=>_ref|${mut:i8}|) (result (ref ${mut:i8})) + ;; CHECK: (func $helper-ref (type $0) (result (ref ${mut:i8})) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) (func $helper-ref (result (ref ${mut:i8})) diff --git a/test/lit/passes/gto_and_cfp_in_O.wast b/test/lit/passes/gto_and_cfp_in_O.wast index 83c2af71f..0253e0791 100644 --- a/test/lit/passes/gto_and_cfp_in_O.wast +++ b/test/lit/passes/gto_and_cfp_in_O.wast @@ -11,9 +11,9 @@ ;; OPEN_WORLD: (type $struct (struct (field (mut funcref)) (field (mut i32)))) (type $struct (struct_subtype (field (mut funcref)) (field (mut i32)) data)) - ;; OPEN_WORLD: (type $none_=>_none (func)) + ;; OPEN_WORLD: (type $1 (func)) - ;; OPEN_WORLD: (type $none_=>_i32 (func (result i32))) + ;; OPEN_WORLD: (type $2 (func (result i32))) ;; OPEN_WORLD: (global $glob (ref $struct) (struct.new $struct ;; OPEN_WORLD-NEXT: (ref.func $by-ref) @@ -26,7 +26,7 @@ ;; OPEN_WORLD: (export "main" (func $main)) - ;; OPEN_WORLD: (func $by-ref (type $none_=>_none) (; has Stack IR ;) + ;; OPEN_WORLD: (func $by-ref (type $1) (; has Stack IR ;) ;; OPEN_WORLD-NEXT: (struct.set $struct 1 ;; OPEN_WORLD-NEXT: (global.get $glob) ;; OPEN_WORLD-NEXT: (i32.const 200) @@ -45,14 +45,14 @@ ) ) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $0 (func (result i32))) ;; CHECK: (export "main" (func $main)) - ;; CHECK: (func $main (type $none_=>_i32) (; has Stack IR ;) (result i32) + ;; CHECK: (func $main (type $0) (; has Stack IR ;) (result i32) ;; CHECK-NEXT: (i32.const 100) ;; CHECK-NEXT: ) - ;; OPEN_WORLD: (func $main (type $none_=>_i32) (; has Stack IR ;) (result i32) + ;; OPEN_WORLD: (func $main (type $2) (; has Stack IR ;) (result i32) ;; OPEN_WORLD-NEXT: (struct.get $struct 1 ;; OPEN_WORLD-NEXT: (global.get $glob) ;; OPEN_WORLD-NEXT: ) diff --git a/test/lit/passes/gufa-cast-all.wast b/test/lit/passes/gufa-cast-all.wast index 1e33c7b74..5ef52037f 100644 --- a/test/lit/passes/gufa-cast-all.wast +++ b/test/lit/passes/gufa-cast-all.wast @@ -12,9 +12,9 @@ ;; CHECK: (type $B (sub $A (struct ))) (type $B (sub $A (struct))) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $3 (func (result i32))) - ;; CHECK: (import "a" "b" (func $import (type $none_=>_i32) (result i32))) + ;; CHECK: (import "a" "b" (func $import (type $3) (result i32))) (import "a" "b" (func $import (result i32))) ;; CHECK: (elem declare func $func $funcs) diff --git a/test/lit/passes/gufa-extern.wast b/test/lit/passes/gufa-extern.wast index e7a38b7ac..6b2872488 100644 --- a/test/lit/passes/gufa-extern.wast +++ b/test/lit/passes/gufa-extern.wast @@ -2,11 +2,11 @@ ;; RUN: foreach %s %t wasm-opt -all --gufa -S -o - | filecheck %s (module - ;; CHECK: (type $externref_anyref_=>_none (func (param externref anyref))) + ;; CHECK: (type $0 (func (param externref anyref))) ;; CHECK: (export "externals" (func $externals)) - ;; CHECK: (func $externals (type $externref_anyref_=>_none) (param $ext externref) (param $any anyref) + ;; CHECK: (func $externals (type $0) (param $ext externref) (param $any anyref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.cast (ref struct) ;; CHECK-NEXT: (extern.internalize @@ -37,7 +37,7 @@ ) ) - ;; CHECK: (func $non-exported (type $externref_anyref_=>_none) (param $ext externref) (param $any anyref) + ;; CHECK: (func $non-exported (type $0) (param $ext externref) (param $any anyref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block ;; (replaces something unreachable we can't emit) ;; CHECK-NEXT: (drop diff --git a/test/lit/passes/gufa-optimizing.wast b/test/lit/passes/gufa-optimizing.wast index ac69ed241..61a02342b 100644 --- a/test/lit/passes/gufa-optimizing.wast +++ b/test/lit/passes/gufa-optimizing.wast @@ -7,14 +7,14 @@ ;; things. (module - ;; NO_OPT: (type $none_=>_i32 (func (result i32))) + ;; NO_OPT: (type $0 (func (result i32))) - ;; NO_OPT: (func $foo (type $none_=>_i32) (result i32) + ;; NO_OPT: (func $foo (type $0) (result i32) ;; NO_OPT-NEXT: (i32.const 1) ;; NO_OPT-NEXT: ) - ;; DO_OPT: (type $none_=>_i32 (func (result i32))) + ;; DO_OPT: (type $0 (func (result i32))) - ;; DO_OPT: (func $foo (type $none_=>_i32) (result i32) + ;; DO_OPT: (func $foo (type $0) (result i32) ;; DO_OPT-NEXT: (i32.const 1) ;; DO_OPT-NEXT: ) (func $foo (result i32) @@ -22,7 +22,7 @@ (i32.const 1) ) - ;; NO_OPT: (func $bar (type $none_=>_i32) (result i32) + ;; NO_OPT: (func $bar (type $0) (result i32) ;; NO_OPT-NEXT: (drop ;; NO_OPT-NEXT: (block $out (result i32) ;; NO_OPT-NEXT: (block (result i32) @@ -42,7 +42,7 @@ ;; NO_OPT-NEXT: ) ;; NO_OPT-NEXT: (i32.const 1) ;; NO_OPT-NEXT: ) - ;; DO_OPT: (func $bar (type $none_=>_i32) (result i32) + ;; DO_OPT: (func $bar (type $0) (result i32) ;; DO_OPT-NEXT: (drop ;; DO_OPT-NEXT: (call $foo) ;; DO_OPT-NEXT: ) diff --git a/test/lit/passes/gufa-refs.wast b/test/lit/passes/gufa-refs.wast index 011298c6e..b300843cb 100644 --- a/test/lit/passes/gufa-refs.wast +++ b/test/lit/passes/gufa-refs.wast @@ -6,18 +6,18 @@ (type $struct (struct)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) - ;; CHECK: (type $none_=>_ref|$struct| (func (result (ref $struct)))) + ;; CHECK: (type $2 (func (result (ref $struct)))) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $3 (func (result i32))) - ;; CHECK: (type $none_=>_ref|any| (func (result (ref any)))) + ;; CHECK: (type $4 (func (result (ref any)))) - ;; CHECK: (import "a" "b" (func $import (type $none_=>_i32) (result i32))) + ;; CHECK: (import "a" "b" (func $import (type $3) (result i32))) (import "a" "b" (func $import (result i32))) - ;; CHECK: (func $no-non-null (type $none_=>_ref|any|) (result (ref any)) + ;; CHECK: (func $no-non-null (type $4) (result (ref any)) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) (func $no-non-null (result (ref any)) @@ -30,7 +30,7 @@ ) ) - ;; CHECK: (func $nested (type $none_=>_i32) (result i32) + ;; CHECK: (func $nested (type $3) (result i32) ;; CHECK-NEXT: (ref.is_null ;; CHECK-NEXT: (block ;; CHECK-NEXT: (drop @@ -63,7 +63,7 @@ ) ) - ;; CHECK: (func $yes-non-null (type $none_=>_ref|any|) (result (ref any)) + ;; CHECK: (func $yes-non-null (type $4) (result (ref any)) ;; CHECK-NEXT: (ref.as_non_null ;; CHECK-NEXT: (struct.new_default $struct) ;; CHECK-NEXT: ) @@ -76,7 +76,7 @@ ) ) - ;; CHECK: (func $breaks (type $none_=>_none) + ;; CHECK: (func $breaks (type $1) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block $block (result (ref $struct)) ;; CHECK-NEXT: (br $block @@ -110,7 +110,7 @@ ) ) - ;; CHECK: (func $get-nothing (type $none_=>_ref|$struct|) (result (ref $struct)) + ;; CHECK: (func $get-nothing (type $2) (result (ref $struct)) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) (func $get-nothing (result (ref $struct)) @@ -120,7 +120,7 @@ (unreachable) ) - ;; CHECK: (func $get-nothing-calls (type $none_=>_none) + ;; CHECK: (func $get-nothing-calls (type $1) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block ;; CHECK-NEXT: (drop @@ -175,7 +175,7 @@ ) ) - ;; CHECK: (func $two-inputs (type $none_=>_none) + ;; CHECK: (func $two-inputs (type $1) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (select ;; CHECK-NEXT: (struct.new_default $struct) @@ -267,7 +267,7 @@ ) ) - ;; CHECK: (func $get-something-flow (type $none_=>_ref|$struct|) (result (ref $struct)) + ;; CHECK: (func $get-something-flow (type $2) (result (ref $struct)) ;; CHECK-NEXT: (struct.new_default $struct) ;; CHECK-NEXT: ) (func $get-something-flow (result (ref $struct)) @@ -275,7 +275,7 @@ (struct.new $struct) ) - ;; CHECK: (func $get-something-return (type $none_=>_ref|$struct|) (result (ref $struct)) + ;; CHECK: (func $get-something-return (type $2) (result (ref $struct)) ;; CHECK-NEXT: (return ;; CHECK-NEXT: (struct.new_default $struct) ;; CHECK-NEXT: ) @@ -287,7 +287,7 @@ ) ) - ;; CHECK: (func $call-get-something (type $none_=>_none) + ;; CHECK: (func $call-get-something (type $1) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $get-something-flow) ;; CHECK-NEXT: ) @@ -306,7 +306,7 @@ ) ) - ;; CHECK: (func $locals (type $none_=>_none) + ;; CHECK: (func $locals (type $1) ;; CHECK-NEXT: (local $x anyref) ;; CHECK-NEXT: (local $y anyref) ;; CHECK-NEXT: (local $z anyref) @@ -364,7 +364,7 @@ ;; CHECK: (type $struct (struct )) (type $struct (struct)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) ;; CHECK: (global $null anyref (ref.null none)) (global $null (ref null any) (ref.null any)) @@ -376,7 +376,7 @@ ;; CHECK: (global $mut-something (mut anyref) (ref.null none)) (global $mut-something (mut (ref null any)) (ref.null any)) - ;; CHECK: (func $read-globals (type $none_=>_none) + ;; CHECK: (func $read-globals (type $1) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.null none) ;; CHECK-NEXT: ) @@ -434,7 +434,7 @@ ) ) - ;; CHECK: (func $write-globals (type $none_=>_none) + ;; CHECK: (func $write-globals (type $1) ;; CHECK-NEXT: (global.set $mut-null ;; CHECK-NEXT: (ref.null none) ;; CHECK-NEXT: ) @@ -457,7 +457,7 @@ ;; away *-null (which is where A-null starts with null) but not *-something ;; (which is where A-something starts with a value). (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (type $struct (struct )) (type $struct (struct)) @@ -477,7 +477,7 @@ ;; CHECK: (global $C-something (mut anyref) (ref.null none)) (global $C-something (mut (ref null any)) (ref.null any)) - ;; CHECK: (func $read-globals (type $none_=>_none) + ;; CHECK: (func $read-globals (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) @@ -536,7 +536,7 @@ ) ) - ;; CHECK: (func $write-globals (type $none_=>_none) + ;; CHECK: (func $write-globals (type $0) ;; CHECK-NEXT: (global.set $B-null ;; CHECK-NEXT: (ref.null none) ;; CHECK-NEXT: ) @@ -567,18 +567,18 @@ ) (module - ;; CHECK: (type $ref|any|_=>_ref|any| (func (param (ref any)) (result (ref any)))) + ;; CHECK: (type $0 (func (param (ref any)) (result (ref any)))) ;; CHECK: (type $struct (struct )) (type $struct (struct)) - ;; CHECK: (type $i32_=>_i32 (func (param i32) (result i32))) + ;; CHECK: (type $2 (func (param i32) (result i32))) - ;; CHECK: (type $ref|any|_ref|any|_ref|any|_=>_none (func (param (ref any) (ref any) (ref any)))) + ;; CHECK: (type $3 (func (param (ref any) (ref any) (ref any)))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $4 (func)) - ;; CHECK: (func $never-called (type $i32_=>_i32) (param $x i32) (result i32) + ;; CHECK: (func $never-called (type $2) (param $x i32) (result i32) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) (func $never-called (param $x i32) (result i32) @@ -587,7 +587,7 @@ (local.get $x) ) - ;; CHECK: (func $never-called-ref (type $ref|any|_=>_ref|any|) (param $x (ref any)) (result (ref any)) + ;; CHECK: (func $never-called-ref (type $0) (param $x (ref any)) (result (ref any)) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) (func $never-called-ref (param $x (ref any)) (result (ref any)) @@ -595,7 +595,7 @@ (local.get $x) ) - ;; CHECK: (func $recursion (type $ref|any|_=>_ref|any|) (param $x (ref any)) (result (ref any)) + ;; CHECK: (func $recursion (type $0) (param $x (ref any)) (result (ref any)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $recursion ;; CHECK-NEXT: (unreachable) @@ -612,7 +612,7 @@ ) ) - ;; CHECK: (func $called (type $ref|any|_ref|any|_ref|any|_=>_none) (param $x (ref any)) (param $y (ref any)) (param $z (ref any)) + ;; CHECK: (func $called (type $3) (param $x (ref any)) (param $y (ref any)) (param $z (ref any)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) @@ -638,7 +638,7 @@ ) ) - ;; CHECK: (func $call-called (type $none_=>_none) + ;; CHECK: (func $call-called (type $4) ;; CHECK-NEXT: (call $called ;; CHECK-NEXT: (struct.new_default $struct) ;; CHECK-NEXT: (unreachable) @@ -855,9 +855,9 @@ ;; CHECK: (type $vector (array (mut f64))) (type $vector (array (mut f64))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) - ;; CHECK: (func $arrays (type $none_=>_none) + ;; CHECK: (func $arrays (type $1) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.as_non_null ;; CHECK-NEXT: (array.new $vector @@ -935,9 +935,9 @@ (type $unrelated (struct)) ) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $4 (func)) - ;; CHECK: (func $func (type $none_=>_none) + ;; CHECK: (func $func (type $4) ;; CHECK-NEXT: (local $child (ref null $child)) ;; CHECK-NEXT: (local $parent (ref null $parent)) ;; CHECK-NEXT: (local.set $child @@ -1061,7 +1061,7 @@ ) ) - ;; CHECK: (func $nulls (type $none_=>_none) + ;; CHECK: (func $nulls (type $4) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.null none) ;; CHECK-NEXT: ) @@ -1171,9 +1171,9 @@ (type $C (struct_subtype (field i32) data)) ) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (func $func (type $none_=>_none) + ;; CHECK: (func $func (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -1208,9 +1208,9 @@ ;; CHECK: (type $child (sub $parent (struct (field (mut (ref null $struct))) (field i32)))) (type $child (struct_subtype (field (mut (ref null $struct))) (field i32) $parent)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $3 (func)) - ;; CHECK: (func $func (type $none_=>_none) + ;; CHECK: (func $func (type $3) ;; CHECK-NEXT: (local $child (ref null $child)) ;; CHECK-NEXT: (local $parent (ref null $parent)) ;; CHECK-NEXT: (local.set $parent @@ -1290,9 +1290,9 @@ ;; CHECK: (type $child (sub $parent (struct (field (mut i32)) (field i32)))) (type $child (struct_subtype (field (mut i32)) (field i32) $parent)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $2 (func)) - ;; CHECK: (func $func (type $none_=>_none) + ;; CHECK: (func $func (type $2) ;; CHECK-NEXT: (local $child (ref null $child)) ;; CHECK-NEXT: (local $parent (ref null $parent)) ;; CHECK-NEXT: (local.set $parent @@ -1382,11 +1382,11 @@ ;; CHECK: (type $child (sub $parent (struct (field (mut i32)) (field i32)))) (type $child (struct_subtype (field (mut i32)) (field i32) $parent)) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $2 (func (param i32))) ;; CHECK: (export "func" (func $func)) - ;; CHECK: (func $func (type $i32_=>_none) (param $x i32) + ;; CHECK: (func $func (type $2) (param $x i32) ;; CHECK-NEXT: (local $child (ref null $child)) ;; CHECK-NEXT: (local $parent (ref null $parent)) ;; CHECK-NEXT: (local.set $parent @@ -1465,9 +1465,9 @@ ;; CHECK: (type $child (sub $parent (struct (field (mut i32)) (field i32)))) (type $child (struct_subtype (field (mut i32)) (field i32) $parent)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $2 (func)) - ;; CHECK: (func $func (type $none_=>_none) + ;; CHECK: (func $func (type $2) ;; CHECK-NEXT: (local $child (ref null $child)) ;; CHECK-NEXT: (local $parent (ref null $parent)) ;; CHECK-NEXT: (local.set $parent @@ -1551,12 +1551,12 @@ (type $something-child (array_subtype (mut (ref null any)) $something)) ) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $4 (func)) ;; CHECK: (type $struct (struct )) (type $struct (struct)) - ;; CHECK: (func $func (type $none_=>_none) + ;; CHECK: (func $func (type $4) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) @@ -1681,19 +1681,19 @@ (module ;; CHECK: (type $storage (struct (field (mut anyref)))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) ;; CHECK: (type $struct (struct )) (type $struct (struct)) (type $storage (struct (field (mut (ref null any))))) - ;; CHECK: (type $anyref_=>_anyref (func (param anyref) (result anyref))) + ;; CHECK: (type $3 (func (param anyref) (result anyref))) ;; CHECK: (global $x (mut anyref) (ref.null none)) (global $x (mut (ref null any)) (ref.null any)) - ;; CHECK: (func $foo (type $none_=>_none) + ;; CHECK: (func $foo (type $1) ;; CHECK-NEXT: (local $x anyref) ;; CHECK-NEXT: (local.set $x ;; CHECK-NEXT: (struct.new_default $struct) @@ -1739,7 +1739,7 @@ ) ) - ;; CHECK: (func $pass-through (type $anyref_=>_anyref) (param $x anyref) (result anyref) + ;; CHECK: (func $pass-through (type $3) (param $x anyref) (result anyref) ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) (func $pass-through (param $x (ref null any)) (result (ref null any)) @@ -1752,17 +1752,17 @@ (module (type $struct (struct)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (type $storage (struct (field (mut anyref)))) (type $storage (struct (field (mut (ref null any))))) - ;; CHECK: (type $anyref_=>_anyref (func (param anyref) (result anyref))) + ;; CHECK: (type $2 (func (param anyref) (result anyref))) ;; CHECK: (global $x (mut anyref) (ref.null none)) (global $x (mut (ref null any)) (ref.null any)) - ;; CHECK: (func $foo (type $none_=>_none) + ;; CHECK: (func $foo (type $0) ;; CHECK-NEXT: (local $x anyref) ;; CHECK-NEXT: (local.set $x ;; CHECK-NEXT: (ref.null none) @@ -1812,7 +1812,7 @@ ) ) - ;; CHECK: (func $pass-through (type $anyref_=>_anyref) (param $x anyref) (result anyref) + ;; CHECK: (func $pass-through (type $2) (param $x anyref) (result anyref) ;; CHECK-NEXT: (ref.null none) ;; CHECK-NEXT: ) (func $pass-through (param $x (ref null any)) (result (ref null any)) @@ -1825,19 +1825,19 @@ (module ;; CHECK: (type $storage (struct (field (mut anyref)))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) ;; CHECK: (type $struct (struct )) (type $struct (struct)) (type $storage (struct (field (mut (ref null any))))) - ;; CHECK: (type $anyref_=>_anyref (func (param anyref) (result anyref))) + ;; CHECK: (type $3 (func (param anyref) (result anyref))) ;; CHECK: (global $x (mut anyref) (ref.null none)) (global $x (mut (ref null any)) (ref.null any)) - ;; CHECK: (func $foo (type $none_=>_none) + ;; CHECK: (func $foo (type $1) ;; CHECK-NEXT: (local $x anyref) ;; CHECK-NEXT: (local.set $x ;; CHECK-NEXT: (global.get $x) @@ -1880,7 +1880,7 @@ ) ) - ;; CHECK: (func $pass-through (type $anyref_=>_anyref) (param $x anyref) (result anyref) + ;; CHECK: (func $pass-through (type $3) (param $x anyref) (result anyref) ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) (func $pass-through (param $x (ref null any)) (result (ref null any)) @@ -1890,9 +1890,9 @@ ;; Exceptions. (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (type $anyref_=>_none (func (param anyref))) + ;; CHECK: (type $1 (func (param anyref))) ;; CHECK: (type $struct (struct )) (type $struct (struct)) @@ -1906,7 +1906,7 @@ ;; CHECK: (tag $empty (param)) (tag $empty (param)) - ;; CHECK: (func $func (type $none_=>_none) + ;; CHECK: (func $func (type $0) ;; CHECK-NEXT: (local $0 anyref) ;; CHECK-NEXT: (throw $nothing ;; CHECK-NEXT: (ref.null none) @@ -1982,7 +1982,7 @@ ) ) - ;; CHECK: (func $empty-tag (type $none_=>_none) + ;; CHECK: (func $empty-tag (type $0) ;; CHECK-NEXT: (try $label$3 ;; CHECK-NEXT: (do ;; CHECK-NEXT: (nop) @@ -2004,7 +2004,7 @@ ) ) - ;; CHECK: (func $try-results (type $none_=>_none) + ;; CHECK: (func $try-results (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (drop @@ -2124,9 +2124,9 @@ ;; Exceptions with a tuple (module - ;; CHECK: (type $anyref_anyref_=>_none (func (param anyref anyref))) + ;; CHECK: (type $0 (func (param anyref anyref))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) ;; CHECK: (type $struct (struct )) (type $struct (struct)) @@ -2134,7 +2134,7 @@ ;; CHECK: (tag $tag (param anyref anyref)) (tag $tag (param (ref null any)) (param (ref null any))) - ;; CHECK: (func $func (type $none_=>_none) + ;; CHECK: (func $func (type $1) ;; CHECK-NEXT: (local $0 (anyref anyref)) ;; CHECK-NEXT: (throw $tag ;; CHECK-NEXT: (ref.null none) @@ -2206,9 +2206,9 @@ ;; CHECK: (type ${} (struct )) (type ${} (struct_subtype data)) - ;; CHECK: (type $none_=>_ref|${}| (func (result (ref ${})))) + ;; CHECK: (type $1 (func (result (ref ${})))) - ;; CHECK: (func $func (type $none_=>_ref|${}|) (result (ref ${})) + ;; CHECK: (func $func (type $1) (result (ref ${})) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block $block (result (ref none)) ;; CHECK-NEXT: (br_on_non_null $block @@ -2237,7 +2237,7 @@ ) (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (type $A (struct (field i32))) (type $A (struct_subtype (field i32) data)) @@ -2248,7 +2248,7 @@ ;; CHECK: (type $D (struct (field f64))) (type $D (struct_subtype (field f64) data)) - ;; CHECK: (func $many-types (type $none_=>_none) + ;; CHECK: (func $many-types (type $0) ;; CHECK-NEXT: (local $x anyref) ;; CHECK-NEXT: (local.set $x ;; CHECK-NEXT: (struct.new $A @@ -2315,7 +2315,7 @@ ;; CHECK: (type $vtable-A (struct (field funcref) (field funcref) (field funcref))) (type $vtable-A (struct_subtype (field (ref null func)) (field (ref null func)) (field (ref null func)) data)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) ;; CHECK: (global $global-A (ref $vtable-A) (struct.new $vtable-A ;; CHECK-NEXT: (ref.func $foo) @@ -2332,7 +2332,7 @@ ;; CHECK: (elem declare func $foo $test) - ;; CHECK: (func $test (type $none_=>_none) + ;; CHECK: (func $test (type $1) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.func $foo) ;; CHECK-NEXT: ) @@ -2369,7 +2369,7 @@ ) ) - ;; CHECK: (func $create (type $none_=>_none) + ;; CHECK: (func $create (type $1) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $vtable-A ;; CHECK-NEXT: (ref.func $foo) @@ -2388,7 +2388,7 @@ ) ) - ;; CHECK: (func $foo (type $none_=>_none) + ;; CHECK: (func $foo (type $1) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $foo) @@ -2398,9 +2398,9 @@ ;; CHECK: (type $struct (struct (field i32))) (type $struct (struct_subtype (field i32) data)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) - ;; CHECK: (func $test (type $none_=>_none) + ;; CHECK: (func $test (type $1) ;; CHECK-NEXT: (local $ref (ref null $struct)) ;; CHECK-NEXT: (local.set $ref ;; CHECK-NEXT: (block (result (ref $struct)) @@ -2450,23 +2450,23 @@ (type $struct (struct_subtype (field i32) data)) ;; CHECK: (type $substruct (sub $struct (struct (field i32) (field i32)))) (type $substruct (struct_subtype (field i32) (field i32) $struct)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $2 (func)) ;; CHECK: (type $subsubstruct (sub $substruct (struct (field i32) (field i32) (field i32)))) (type $subsubstruct (struct_subtype (field i32) (field i32) (field i32) $substruct)) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $4 (func (param i32))) ;; CHECK: (type $other (struct )) (type $other (struct_subtype data)) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $6 (func (result i32))) - ;; CHECK: (type $i32_ref?|$struct|_ref?|$struct|_ref?|$other|_ref|$struct|_ref|$struct|_ref|$other|_=>_none (func (param i32 (ref null $struct) (ref null $struct) (ref null $other) (ref $struct) (ref $struct) (ref $other)))) + ;; CHECK: (type $7 (func (param i32 (ref null $struct) (ref null $struct) (ref null $other) (ref $struct) (ref $struct) (ref $other)))) - ;; CHECK: (type $none_=>_ref|eq| (func (result (ref eq)))) + ;; CHECK: (type $8 (func (result (ref eq)))) - ;; CHECK: (import "a" "b" (func $import (type $none_=>_i32) (result i32))) + ;; CHECK: (import "a" "b" (func $import (type $6) (result i32))) (import "a" "b" (func $import (result i32))) ;; CHECK: (export "test-cones" (func $test-cones)) @@ -2481,7 +2481,7 @@ ;; CHECK: (export "local-no" (func $ref.eq-local-no)) - ;; CHECK: (func $test (type $none_=>_none) + ;; CHECK: (func $test (type $2) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) @@ -2535,7 +2535,7 @@ ) ) - ;; CHECK: (func $test-nulls (type $none_=>_none) + ;; CHECK: (func $test-nulls (type $2) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result nullref) ;; CHECK-NEXT: (drop @@ -2619,7 +2619,7 @@ ) ) - ;; CHECK: (func $test-cones (type $i32_=>_none) (param $x i32) + ;; CHECK: (func $test-cones (type $4) (param $x i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.cast (ref null $struct) ;; CHECK-NEXT: (select (result (ref null $struct)) @@ -2727,7 +2727,7 @@ ) ) - ;; CHECK: (func $ref.test-exact (type $none_=>_none) + ;; CHECK: (func $ref.test-exact (type $2) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -2769,7 +2769,7 @@ ) ) - ;; CHECK: (func $ref.test-inexact (type $i32_=>_none) (param $x i32) + ;; CHECK: (func $ref.test-inexact (type $4) (param $x i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.test (ref $struct) ;; CHECK-NEXT: (select (result (ref null $struct)) @@ -2868,7 +2868,7 @@ ) ) - ;; CHECK: (func $ref.eq-zero (type $none_=>_none) + ;; CHECK: (func $ref.eq-zero (type $2) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -2913,7 +2913,7 @@ ) ) - ;; CHECK: (func $ref.eq-unknown (type $i32_ref?|$struct|_ref?|$struct|_ref?|$other|_ref|$struct|_ref|$struct|_ref|$other|_=>_none) (param $x i32) (param $struct (ref null $struct)) (param $struct2 (ref null $struct)) (param $other (ref null $other)) (param $nn-struct (ref $struct)) (param $nn-struct2 (ref $struct)) (param $nn-other (ref $other)) + ;; CHECK: (func $ref.eq-unknown (type $7) (param $x i32) (param $struct (ref null $struct)) (param $struct2 (ref null $struct)) (param $other (ref null $other)) (param $nn-struct (ref $struct)) (param $nn-struct2 (ref $struct)) (param $nn-other (ref $other)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.eq ;; CHECK-NEXT: (struct.new $struct @@ -3052,7 +3052,7 @@ ) ) - ;; CHECK: (func $ref.eq-cone (type $i32_=>_none) (param $x i32) + ;; CHECK: (func $ref.eq-cone (type $4) (param $x i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -3237,14 +3237,14 @@ ) ) - ;; CHECK: (func $unreachable (type $none_=>_ref|eq|) (result (ref eq)) + ;; CHECK: (func $unreachable (type $8) (result (ref eq)) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) (func $unreachable (result (ref eq)) (unreachable) ) - ;; CHECK: (func $ref.eq-updates (type $none_=>_none) + ;; CHECK: (func $ref.eq-updates (type $2) ;; CHECK-NEXT: (local $x eqref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.eq @@ -3298,7 +3298,7 @@ ) ) - ;; CHECK: (func $ref.eq-local-no (type $i32_=>_none) (param $x i32) + ;; CHECK: (func $ref.eq-local-no (type $4) (param $x i32) ;; CHECK-NEXT: (local $ref (ref $struct)) ;; CHECK-NEXT: (local $ref-null (ref null $struct)) ;; CHECK-NEXT: (local.set $ref @@ -3351,7 +3351,7 @@ (type $A (struct_subtype (field i32) data)) (type $B (struct_subtype (field i32) $A)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) ;; CHECK: (global $a (ref $A) (struct.new $A ;; CHECK-NEXT: (i32.const 0) @@ -3383,7 +3383,7 @@ ;; CHECK: (global $a-mut-copy-written (mut (ref $A)) (global.get $a)) (global $a-mut-copy-written (mut (ref $A)) (global.get $a)) - ;; CHECK: (func $compare-a (type $none_=>_none) + ;; CHECK: (func $compare-a (type $1) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.eq ;; CHECK-NEXT: (global.get $a) @@ -3482,9 +3482,9 @@ (type $B (struct_subtype (ref $A) data)) (type $C (struct_subtype (ref $B) data)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (func $test (type $none_=>_none) + ;; CHECK: (func $test (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.const 42) ;; CHECK-NEXT: ) @@ -3518,14 +3518,14 @@ ;; CHECK: (type $C (struct (field (ref $B)))) (type $C (struct_subtype (ref $B) data)) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $3 (func (result i32))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $4 (func)) - ;; CHECK: (import "a" "b" (func $import (type $none_=>_i32) (result i32))) + ;; CHECK: (import "a" "b" (func $import (type $3) (result i32))) (import "a" "b" (func $import (result i32))) - ;; CHECK: (func $test (type $none_=>_none) + ;; CHECK: (func $test (type $4) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.get $A 0 ;; CHECK-NEXT: (struct.get $B 0 @@ -3569,14 +3569,14 @@ ;; CHECK: (type $B (sub $A (struct (field i32) (field f64)))) (type $B (struct_subtype (field i32) (field f64) $A)) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $2 (func (result i32))) - ;; CHECK: (type $none_=>_ref|$B| (func (result (ref $B)))) + ;; CHECK: (type $3 (func (result (ref $B)))) - ;; CHECK: (import "a" "b" (func $import (type $none_=>_i32) (result i32))) + ;; CHECK: (import "a" "b" (func $import (type $2) (result i32))) (import "a" "b" (func $import (result i32))) - ;; CHECK: (func $foo (type $none_=>_ref|$B|) (result (ref $B)) + ;; CHECK: (func $foo (type $3) (result (ref $B)) ;; CHECK-NEXT: (local $A (ref null $A)) ;; CHECK-NEXT: (ref.cast (ref $B) ;; CHECK-NEXT: (ref.as_non_null @@ -3612,11 +3612,11 @@ (module ;; CHECK: (type $A (struct (field i32))) (type $A (struct_subtype (field i32) data)) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $1 (func (result i32))) ;; CHECK: (type $B (sub $A (struct (field i32) (field i32)))) (type $B (struct_subtype (field i32) (field i32) $A)) - ;; CHECK: (func $0 (type $none_=>_i32) (result i32) + ;; CHECK: (func $0 (type $1) (result i32) ;; CHECK-NEXT: (local $ref (ref null $A)) ;; CHECK-NEXT: (local.set $ref ;; CHECK-NEXT: (struct.new $B @@ -3668,9 +3668,9 @@ (type $chars (array (mut anyref))) ) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $2 (func)) - ;; CHECK: (func $test (type $none_=>_none) + ;; CHECK: (func $test (type $2) ;; CHECK-NEXT: (local $bytes (ref null $bytes)) ;; CHECK-NEXT: (local $chars (ref null $chars)) ;; CHECK-NEXT: (local.set $bytes @@ -3756,9 +3756,9 @@ (type $chars (array (mut anyref))) ) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $2 (func)) - ;; CHECK: (func $test (type $none_=>_none) + ;; CHECK: (func $test (type $2) ;; CHECK-NEXT: (local $bytes (ref null $bytes)) ;; CHECK-NEXT: (local $chars (ref null $chars)) ;; CHECK-NEXT: (local.set $bytes @@ -3840,14 +3840,14 @@ (module (type $A (struct_subtype data)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (type $B (array (mut anyref))) (type $B (array (mut anyref))) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $2 (func (param i32))) - ;; CHECK: (type $ref|$B|_=>_none (func (param (ref $B)))) + ;; CHECK: (type $3 (func (param (ref $B)))) ;; CHECK: (memory $0 10) @@ -3860,7 +3860,7 @@ (table $t 0 externref) - ;; CHECK: (func $br_table (type $none_=>_none) + ;; CHECK: (func $br_table (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (drop @@ -3887,7 +3887,7 @@ ) ) - ;; CHECK: (func $memory (type $none_=>_none) + ;; CHECK: (func $memory (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.load ;; CHECK-NEXT: (i32.const 5) @@ -3970,7 +3970,7 @@ ) ) - ;; CHECK: (func $simd (type $none_=>_none) + ;; CHECK: (func $simd (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i8x16.extract_lane_s 0 ;; CHECK-NEXT: (v128.const i32x4 0x00000001 0x00000000 0x00000002 0x00000000) @@ -4057,7 +4057,7 @@ ) ) - ;; CHECK: (func $unary (type $none_=>_none) + ;; CHECK: (func $unary (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.const 1) @@ -4072,7 +4072,7 @@ ) ) - ;; CHECK: (func $binary (type $none_=>_none) + ;; CHECK: (func $binary (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.const 1) @@ -4089,7 +4089,7 @@ ) ) - ;; CHECK: (func $table (type $none_=>_none) + ;; CHECK: (func $table (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (table.get $t ;; CHECK-NEXT: (i32.const 1) @@ -4122,7 +4122,7 @@ ) ) - ;; CHECK: (func $i31 (type $none_=>_none) + ;; CHECK: (func $i31 (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i31.get_s ;; CHECK-NEXT: (i31.new @@ -4141,7 +4141,7 @@ ) ) - ;; CHECK: (func $arrays (type $ref|$B|_=>_none) (param $B (ref $B)) + ;; CHECK: (func $arrays (type $3) (param $B (ref $B)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (array.len ;; CHECK-NEXT: (array.new_fixed $B 2 @@ -4162,7 +4162,7 @@ ) ) - ;; CHECK: (func $rethrow (type $none_=>_none) + ;; CHECK: (func $rethrow (type $0) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (try $l0 ;; CHECK-NEXT: (do @@ -4204,7 +4204,7 @@ ) ) - ;; CHECK: (func $tuples (type $none_=>_none) + ;; CHECK: (func $tuples (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (tuple.make ;; CHECK-NEXT: (i32.const 1) @@ -4229,7 +4229,7 @@ ;; CHECK: (type $substruct (sub $struct (struct (field (mut i32)) (field f64)))) (type $substruct (struct_subtype (mut i32) f64 $struct)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $2 (func)) ;; CHECK: (global $something (mut (ref $struct)) (struct.new $struct ;; CHECK-NEXT: (i32.const 10) @@ -4247,7 +4247,7 @@ (f64.const 3.14159) )) - ;; CHECK: (func $foo (type $none_=>_none) + ;; CHECK: (func $foo (type $2) ;; CHECK-NEXT: (global.set $something ;; CHECK-NEXT: (struct.new $struct ;; CHECK-NEXT: (i32.const 10) @@ -4305,7 +4305,7 @@ ;; CHECK: (type $substruct (sub $struct (struct (field (mut i32)) (field f64)))) (type $substruct (struct_subtype (mut i32) f64 $struct)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $2 (func)) ;; CHECK: (global $something (mut (ref $struct)) (struct.new $struct ;; CHECK-NEXT: (i32.const 10) @@ -4323,7 +4323,7 @@ (f64.const 3.14159) )) - ;; CHECK: (func $foo (type $none_=>_none) + ;; CHECK: (func $foo (type $2) ;; CHECK-NEXT: (global.set $something ;; CHECK-NEXT: (struct.new $substruct ;; CHECK-NEXT: (i32.const 22) @@ -4383,7 +4383,7 @@ ;; CHECK: (type $substruct (sub $struct (struct (field (mut i32)) (field f64)))) (type $substruct (struct_subtype (mut i32) f64 $struct)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $2 (func)) ;; CHECK: (global $something (mut (ref $struct)) (struct.new $struct ;; CHECK-NEXT: (i32.const 10) @@ -4401,7 +4401,7 @@ (f64.const 3.14159) )) - ;; CHECK: (func $foo (type $none_=>_none) + ;; CHECK: (func $foo (type $2) ;; CHECK-NEXT: (global.set $something ;; CHECK-NEXT: (struct.new $substruct ;; CHECK-NEXT: (i32.const 10) @@ -4454,11 +4454,11 @@ (type $i2 (func (param i32))) ) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $2 (func)) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $3 (func (result i32))) - ;; CHECK: (import "a" "b" (func $import (type $none_=>_i32) (result i32))) + ;; CHECK: (import "a" "b" (func $import (type $3) (result i32))) (import "a" "b" (func $import (result i32))) ;; CHECK: (global $func (ref func) (ref.func $reffed-in-global-code)) @@ -4520,7 +4520,7 @@ ) ) - ;; CHECK: (func $do-calls (type $none_=>_none) + ;; CHECK: (func $do-calls (type $2) ;; CHECK-NEXT: (call_ref $i1 ;; CHECK-NEXT: (i32.const 42) ;; CHECK-NEXT: (ref.func $reffed1) @@ -4560,7 +4560,7 @@ ) ) - ;; CHECK: (func $call_ref-nofunc (type $none_=>_none) + ;; CHECK: (func $call_ref-nofunc (type $2) ;; CHECK-NEXT: (block ;; (replaces something unreachable we can't emit) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.const 1) @@ -4593,11 +4593,11 @@ (type $C (struct_subtype (field (mut i32)) $B)) ) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $3 (func (param i32))) ;; CHECK: (export "reads" (func $reads)) - ;; CHECK: (func $reads (type $i32_=>_none) (param $x i32) + ;; CHECK: (func $reads (type $3) (param $x i32) ;; CHECK-NEXT: (local $A (ref $A)) ;; CHECK-NEXT: (local $B (ref $B)) ;; CHECK-NEXT: (local $C (ref $C)) @@ -4701,11 +4701,11 @@ (type $C (struct_subtype (field (mut i32)) $B)) ) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $3 (func (param i32))) ;; CHECK: (export "reads" (func $reads)) - ;; CHECK: (func $reads (type $i32_=>_none) (param $x i32) + ;; CHECK: (func $reads (type $3) (param $x i32) ;; CHECK-NEXT: (local $A (ref $A)) ;; CHECK-NEXT: (local $B (ref $B)) ;; CHECK-NEXT: (local $C (ref $C)) @@ -4809,11 +4809,11 @@ (type $C (struct_subtype (field (mut i32)) $A)) ;; This line changed. ) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $3 (func (param i32))) ;; CHECK: (export "reads" (func $reads)) - ;; CHECK: (func $reads (type $i32_=>_none) (param $x i32) + ;; CHECK: (func $reads (type $3) (param $x i32) ;; CHECK-NEXT: (local $A (ref $A)) ;; CHECK-NEXT: (local $B (ref $B)) ;; CHECK-NEXT: (local $C (ref $C)) @@ -4922,11 +4922,11 @@ ;; CHECK: (type $C (sub $B (struct (field (mut i32))))) (type $C (struct_subtype (field (mut i32)) $B)) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $3 (func (param i32))) ;; CHECK: (export "write" (func $write)) - ;; CHECK: (func $write (type $i32_=>_none) (param $x i32) + ;; CHECK: (func $write (type $3) (param $x i32) ;; CHECK-NEXT: (local $A (ref $A)) ;; CHECK-NEXT: (local $B (ref $B)) ;; CHECK-NEXT: (local $C (ref $C)) @@ -5020,11 +5020,11 @@ ;; CHECK: (type $C (sub $B (struct (field (mut i32))))) (type $C (struct_subtype (field (mut i32)) $B)) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $3 (func (param i32))) ;; CHECK: (export "write" (func $write)) - ;; CHECK: (func $write (type $i32_=>_none) (param $x i32) + ;; CHECK: (func $write (type $3) (param $x i32) ;; CHECK-NEXT: (local $A (ref $A)) ;; CHECK-NEXT: (local $B (ref $B)) ;; CHECK-NEXT: (local $C (ref $C)) @@ -5119,11 +5119,11 @@ ;; CHECK: (type $C (sub $B (struct (field (mut i32))))) (type $C (struct_subtype (field (mut i32)) $B)) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $3 (func (param i32))) ;; CHECK: (export "write" (func $write)) - ;; CHECK: (func $write (type $i32_=>_none) (param $x i32) + ;; CHECK: (func $write (type $3) (param $x i32) ;; CHECK-NEXT: (local $A (ref $A)) ;; CHECK-NEXT: (local $B (ref $B)) ;; CHECK-NEXT: (local $C (ref $C)) @@ -5218,16 +5218,16 @@ ;; CHECK: (type $B (sub $A (struct (field (mut i32))))) (type $B (struct_subtype (field (mut i32)) $A)) - ;; CHECK: (type $ref|$A|_=>_none (func (param (ref $A)))) + ;; CHECK: (type $2 (func (param (ref $A)))) - ;; CHECK: (type $none_=>_ref|$A| (func (result (ref $A)))) + ;; CHECK: (type $3 (func (result (ref $A)))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $4 (func)) ;; CHECK: (import "a" "b" (global $A (ref $A))) (import "a" "b" (global $A (ref $A))) - ;; CHECK: (import "a" "c" (func $A (type $none_=>_ref|$A|) (result (ref $A)))) + ;; CHECK: (import "a" "c" (func $A (type $3) (result (ref $A)))) (import "a" "c" (func $A (result (ref $A)))) ;; CHECK: (global $mut_A (ref $A) (struct.new $A @@ -5244,7 +5244,7 @@ ;; CHECK: (export "no" (func $no)) - ;; CHECK: (func $yes (type $ref|$A|_=>_none) (param $A (ref $A)) + ;; CHECK: (func $yes (type $2) (param $A (ref $A)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) @@ -5293,7 +5293,7 @@ ) ) - ;; CHECK: (func $no (type $ref|$A|_=>_none) (param $A (ref $A)) + ;; CHECK: (func $no (type $2) (param $A (ref $A)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.test (ref $B) ;; CHECK-NEXT: (global.get $A) @@ -5340,7 +5340,7 @@ ) ) - ;; CHECK: (func $filtering (type $none_=>_none) + ;; CHECK: (func $filtering (type $4) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block ;; CHECK-NEXT: (drop @@ -5427,7 +5427,7 @@ (data "hello") (elem func $test) - ;; CHECK: (type $ref|$array-i8|_ref|$array-funcref|_=>_none (func (param (ref $array-i8) (ref $array-funcref)))) + ;; CHECK: (type $2 (func (param (ref $array-i8) (ref $array-funcref)))) ;; CHECK: (data $0 "hello") @@ -5435,7 +5435,7 @@ ;; CHECK: (export "test" (func $test)) - ;; CHECK: (func $test (type $ref|$array-i8|_ref|$array-funcref|_=>_none) (param $array-i8 (ref $array-i8)) (param $array-funcref (ref $array-funcref)) + ;; CHECK: (func $test (type $2) (param $array-i8 (ref $array-i8)) (param $array-funcref (ref $array-funcref)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (array.new_data $array-i8 $0 ;; CHECK-NEXT: (i32.const 0) @@ -5496,13 +5496,13 @@ (elem func) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) ;; CHECK: (elem $0 func) ;; CHECK: (elem declare func $test) - ;; CHECK: (func $test (type $none_=>_none) + ;; CHECK: (func $test (type $1) ;; CHECK-NEXT: (local $ref (ref $vector)) ;; CHECK-NEXT: (local.set $ref ;; CHECK-NEXT: (array.new $vector @@ -5551,7 +5551,7 @@ ;; Packed field combination. (module (rec - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (rec ;; CHECK-NEXT: (type $A (struct (field i8))) @@ -5560,7 +5560,7 @@ (type $B (struct (field i8))) ) - ;; CHECK: (func $A (type $none_=>_none) + ;; CHECK: (func $A (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.get_u $A 0 ;; CHECK-NEXT: (struct.new $A @@ -5590,7 +5590,7 @@ ) ) - ;; CHECK: (func $B (type $none_=>_none) + ;; CHECK: (func $B (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -5620,12 +5620,12 @@ (module (type $[mut:i32] (array (mut i32))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (data $0 "") (data $0 "") - ;; CHECK: (func $test (type $none_=>_none) + ;; CHECK: (func $test (type $0) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (i32.const 0) @@ -5652,13 +5652,13 @@ ;; CHECK: (type $B (sub $A (struct ))) (type $B (sub $A (struct))) - ;; CHECK: (type $none_=>_ref|$A| (func (result (ref $A)))) + ;; CHECK: (type $2 (func (result (ref $A)))) - ;; CHECK: (type $none_=>_anyref (func (result anyref))) + ;; CHECK: (type $3 (func (result anyref))) ;; CHECK: (export "func" (func $func)) - ;; CHECK: (func $func (type $none_=>_ref|$A|) (result (ref $A)) + ;; CHECK: (func $func (type $2) (result (ref $A)) ;; CHECK-NEXT: (ref.cast (ref $B) ;; CHECK-NEXT: (call $get-B-def-any) ;; CHECK-NEXT: ) @@ -5672,7 +5672,7 @@ ) ) - ;; CHECK: (func $get-B-def-any (type $none_=>_anyref) (result anyref) + ;; CHECK: (func $get-B-def-any (type $3) (result anyref) ;; CHECK-NEXT: (struct.new_default $B) ;; CHECK-NEXT: ) (func $get-B-def-any (result anyref) @@ -5686,16 +5686,16 @@ ;; CHECK: (type $A (struct (field (mut i32)))) (type $A (struct (field (mut i32)))) - ;; CHECK: (type $ref?|$A|_=>_none (func (param (ref null $A)))) + ;; CHECK: (type $1 (func (param (ref null $A)))) ;; CHECK: (type $B (sub $A (struct (field (mut i32))))) (type $B (sub $A (struct (field (mut i32))))) - ;; CHECK: (type $anyref_=>_none (func (param anyref))) + ;; CHECK: (type $3 (func (param anyref))) ;; CHECK: (export "out" (func $caller)) - ;; CHECK: (func $called (type $ref?|$A|_=>_none) (param $x (ref null $A)) + ;; CHECK: (func $called (type $1) (param $x (ref null $A)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.cast (ref $B) ;; CHECK-NEXT: (local.get $x) @@ -5711,7 +5711,7 @@ ) ) - ;; CHECK: (func $caller (type $anyref_=>_none) (param $any anyref) + ;; CHECK: (func $caller (type $3) (param $any anyref) ;; CHECK-NEXT: (call $called ;; CHECK-NEXT: (ref.cast (ref $A) ;; CHECK-NEXT: (local.get $any) diff --git a/test/lit/passes/gufa-ssa.wast b/test/lit/passes/gufa-ssa.wast index aaa6d3137..c97e30a62 100644 --- a/test/lit/passes/gufa-ssa.wast +++ b/test/lit/passes/gufa-ssa.wast @@ -2,11 +2,11 @@ ;; RUN: foreach %s %t wasm-opt -all --gufa -S -o - | filecheck %s (module - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $0 (func (param i32))) ;; CHECK: (export "test" (func $test)) - ;; CHECK: (func $test (type $i32_=>_none) (param $x i32) + ;; CHECK: (func $test (type $0) (param $x i32) ;; CHECK-NEXT: (local $y i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.get $x) diff --git a/test/lit/passes/gufa-tags.wast b/test/lit/passes/gufa-tags.wast index 59d490b2e..a9de6202c 100644 --- a/test/lit/passes/gufa-tags.wast +++ b/test/lit/passes/gufa-tags.wast @@ -3,20 +3,20 @@ ;; Two tags with different values. (module - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $0 (func (param i32))) - ;; CHECK: (type $f32_=>_none (func (param f32))) + ;; CHECK: (type $1 (func (param f32))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $2 (func)) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $3 (func (result i32))) ;; CHECK: (tag $tag$i32 (param i32)) (tag $tag$i32 (param i32)) ;; CHECK: (tag $tag$f32 (param f32)) (tag $tag$f32 (param f32)) - ;; CHECK: (func $test (type $none_=>_none) + ;; CHECK: (func $test (type $2) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (local $1 f32) ;; CHECK-NEXT: (try $try @@ -76,7 +76,7 @@ ) ) - ;; CHECK: (func $bar (type $none_=>_i32) (result i32) + ;; CHECK: (func $bar (type $3) (result i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (try $try (result i32) ;; CHECK-NEXT: (do diff --git a/test/lit/passes/gufa-tnh-closed.wast b/test/lit/passes/gufa-tnh-closed.wast index bf6de769c..44d16c99b 100644 --- a/test/lit/passes/gufa-tnh-closed.wast +++ b/test/lit/passes/gufa-tnh-closed.wast @@ -12,7 +12,7 @@ (type $B (func)) ) - ;; CHECK: (type $funcref_=>_none (func (param funcref))) + ;; CHECK: (type $2 (func (param funcref))) ;; CHECK: (export "out" (func $caller)) @@ -37,7 +37,7 @@ ) ) - ;; CHECK: (func $caller (type $funcref_=>_none) (param $x funcref) + ;; CHECK: (func $caller (type $2) (param $x funcref) ;; CHECK-NEXT: (block ;; (replaces something unreachable we can't emit) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (unreachable) @@ -58,7 +58,7 @@ ;; As above, but now there are no functions of type $A at all. (module (rec - ;; CHECK: (type $funcref_=>_none (func (param funcref))) + ;; CHECK: (type $0 (func (param funcref))) ;; CHECK: (rec ;; CHECK-NEXT: (type $A (func)) @@ -82,7 +82,7 @@ ) ) - ;; CHECK: (func $caller (type $funcref_=>_none) (param $x funcref) + ;; CHECK: (func $caller (type $0) (param $x funcref) ;; CHECK-NEXT: (block ;; (replaces something unreachable we can't emit) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (unreachable) @@ -105,7 +105,7 @@ ;; CHECK: (type $A (func)) (type $A (func)) - ;; CHECK: (type $funcref_=>_none (func (param funcref))) + ;; CHECK: (type $1 (func (param funcref))) ;; CHECK: (elem declare func $possible) @@ -122,7 +122,7 @@ ) ) - ;; CHECK: (func $caller (type $funcref_=>_none) (param $x funcref) + ;; CHECK: (func $caller (type $1) (param $x funcref) ;; CHECK-NEXT: (call_ref $A ;; CHECK-NEXT: (ref.func $possible) ;; CHECK-NEXT: ) @@ -142,7 +142,7 @@ ;; CHECK: (type $A (func)) (type $A (func)) - ;; CHECK: (type $funcref_=>_none (func (param funcref))) + ;; CHECK: (type $1 (func (param funcref))) ;; CHECK: (elem declare func $possible) @@ -166,7 +166,7 @@ (unreachable) ) - ;; CHECK: (func $caller (type $funcref_=>_none) (param $x funcref) + ;; CHECK: (func $caller (type $1) (param $x funcref) ;; CHECK-NEXT: (call_ref $A ;; CHECK-NEXT: (ref.func $possible) ;; CHECK-NEXT: ) @@ -186,7 +186,7 @@ ;; CHECK: (type $A (func)) (type $A (func)) - ;; CHECK: (type $funcref_=>_none (func (param funcref))) + ;; CHECK: (type $1 (func (param funcref))) ;; CHECK: (export "out" (func $caller)) @@ -212,7 +212,7 @@ ) ) - ;; CHECK: (func $caller (type $funcref_=>_none) (param $x funcref) + ;; CHECK: (func $caller (type $1) (param $x funcref) ;; CHECK-NEXT: (call_ref $A ;; CHECK-NEXT: (ref.cast (ref $A) ;; CHECK-NEXT: (local.get $x) @@ -237,7 +237,7 @@ ;; CHECK: (type $B (sub $A (func))) (type $B (sub $A (func))) - ;; CHECK: (type $funcref_=>_none (func (param funcref))) + ;; CHECK: (type $2 (func (param funcref))) ;; CHECK: (elem declare func $possible-2) @@ -265,7 +265,7 @@ ) ) - ;; CHECK: (func $caller (type $funcref_=>_none) (param $x funcref) + ;; CHECK: (func $caller (type $2) (param $x funcref) ;; CHECK-NEXT: (call_ref $A ;; CHECK-NEXT: (ref.cast (ref $A) ;; CHECK-NEXT: (local.get $x) @@ -309,9 +309,9 @@ (type $A (func (param anyref))) ) - ;; CHECK: (type $funcref_funcref_funcref_structref_=>_none (func (param funcref funcref funcref structref))) + ;; CHECK: (type $4 (func (param funcref funcref funcref structref))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $5 (func)) ;; CHECK: (elem declare func $possible-Y1 $possible-Y2) @@ -349,7 +349,7 @@ ) ) - ;; CHECK: (func $caller (type $funcref_funcref_funcref_structref_=>_none) (param $func1 funcref) (param $func2 funcref) (param $func3 funcref) (param $struct structref) + ;; CHECK: (func $caller (type $4) (param $func1 funcref) (param $func2 funcref) (param $func3 funcref) (param $struct structref) ;; CHECK-NEXT: (call_ref $A ;; CHECK-NEXT: (struct.new_default $Y1) ;; CHECK-NEXT: (ref.func $possible-Y1) @@ -395,7 +395,7 @@ ) ) - ;; CHECK: (func $reffer (type $none_=>_none) + ;; CHECK: (func $reffer (type $5) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.func $possible-Y1) ;; CHECK-NEXT: ) @@ -434,11 +434,11 @@ (type $A (func (param anyref) (param anyref))) ) - ;; CHECK: (type $funcref_funcref_funcref_funcref_=>_none (func (param funcref funcref funcref funcref))) + ;; CHECK: (type $4 (func (param funcref funcref funcref funcref))) - ;; CHECK: (type $funcref_funcref_funcref_funcref_structref_=>_none (func (param funcref funcref funcref funcref structref))) + ;; CHECK: (type $5 (func (param funcref funcref funcref funcref structref))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $6 (func)) ;; CHECK: (elem declare func $possible-Y1 $possible-Y2) @@ -478,7 +478,7 @@ ) ) - ;; CHECK: (func $caller1 (type $funcref_funcref_funcref_funcref_=>_none) (param $func1 funcref) (param $func2 funcref) (param $func3 funcref) (param $func4 funcref) + ;; CHECK: (func $caller1 (type $4) (param $func1 funcref) (param $func2 funcref) (param $func3 funcref) (param $func4 funcref) ;; CHECK-NEXT: (call_ref $A ;; CHECK-NEXT: (struct.new_default $Y1) ;; CHECK-NEXT: (struct.new_default $Y1) @@ -552,7 +552,7 @@ ) ) - ;; CHECK: (func $caller2 (type $funcref_funcref_funcref_funcref_structref_=>_none) (param $func1 funcref) (param $func2 funcref) (param $func3 funcref) (param $func4 funcref) (param $struct structref) + ;; CHECK: (func $caller2 (type $5) (param $func1 funcref) (param $func2 funcref) (param $func3 funcref) (param $func4 funcref) (param $struct structref) ;; CHECK-NEXT: (call_ref $A ;; CHECK-NEXT: (local.get $struct) ;; CHECK-NEXT: (local.get $struct) @@ -635,7 +635,7 @@ ) ) - ;; CHECK: (func $reffer (type $none_=>_none) + ;; CHECK: (func $reffer (type $6) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.func $possible-Y1) ;; CHECK-NEXT: ) @@ -672,9 +672,9 @@ (type $A (func (param anyref) (param anyref) (param anyref) (param anyref) (param anyref) (param anyref))) ) - ;; CHECK: (type $anyref_anyref_anyref_anyref_anyref_anyref_funcref_=>_none (func (param anyref anyref anyref anyref anyref anyref funcref))) + ;; CHECK: (type $4 (func (param anyref anyref anyref anyref anyref anyref funcref))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $5 (func)) ;; CHECK: (elem declare func $possible-1 $possible-2) @@ -792,7 +792,7 @@ ) ) - ;; CHECK: (func $caller1 (type $anyref_anyref_anyref_anyref_anyref_anyref_funcref_=>_none) (param $ref1 anyref) (param $ref2 anyref) (param $ref3 anyref) (param $ref4 anyref) (param $ref5 anyref) (param $ref6 anyref) (param $func funcref) + ;; CHECK: (func $caller1 (type $4) (param $ref1 anyref) (param $ref2 anyref) (param $ref3 anyref) (param $ref4 anyref) (param $ref5 anyref) (param $ref6 anyref) (param $func funcref) ;; CHECK-NEXT: (call_ref $A ;; CHECK-NEXT: (ref.cast (ref $X) ;; CHECK-NEXT: (local.get $ref1) @@ -860,7 +860,7 @@ ) ) - ;; CHECK: (func $reffer (type $none_=>_none) + ;; CHECK: (func $reffer (type $5) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.func $possible-1) ;; CHECK-NEXT: ) @@ -898,9 +898,9 @@ (type $A (func (param (ref null $X)) (param (ref null $X)) (param (ref null $X)))) ) - ;; CHECK: (type $anyref_anyref_anyref_anyref_anyref_anyref_funcref_=>_none (func (param anyref anyref anyref anyref anyref anyref funcref))) + ;; CHECK: (type $4 (func (param anyref anyref anyref anyref anyref anyref funcref))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $5 (func)) ;; CHECK: (elem declare func $possible-1 $possible-2) @@ -968,7 +968,7 @@ ) ) - ;; CHECK: (func $caller1 (type $anyref_anyref_anyref_anyref_anyref_anyref_funcref_=>_none) (param $ref1 anyref) (param $ref2 anyref) (param $ref3 anyref) (param $ref4 anyref) (param $ref5 anyref) (param $ref6 anyref) (param $func funcref) + ;; CHECK: (func $caller1 (type $4) (param $ref1 anyref) (param $ref2 anyref) (param $ref3 anyref) (param $ref4 anyref) (param $ref5 anyref) (param $ref6 anyref) (param $func funcref) ;; CHECK-NEXT: (call_ref $A ;; CHECK-NEXT: (ref.cast (ref null $X) ;; CHECK-NEXT: (local.get $ref1) @@ -1016,7 +1016,7 @@ ) ) - ;; CHECK: (func $reffer (type $none_=>_none) + ;; CHECK: (func $reffer (type $5) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.func $possible-1) ;; CHECK-NEXT: ) @@ -1054,7 +1054,7 @@ (type $A (func (param anyref))) ) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $4 (func (param i32))) ;; CHECK: (export "out" (func $caller)) @@ -1073,7 +1073,7 @@ ) ) - ;; CHECK: (func $caller (type $i32_=>_none) (param $i i32) + ;; CHECK: (func $caller (type $4) (param $i i32) ;; CHECK-NEXT: (call $called ;; CHECK-NEXT: (ref.null none) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/gufa-tnh.wast b/test/lit/passes/gufa-tnh.wast index 13e51efd5..e41a3f49c 100644 --- a/test/lit/passes/gufa-tnh.wast +++ b/test/lit/passes/gufa-tnh.wast @@ -2,9 +2,9 @@ ;; RUN: foreach %s %t wasm-opt -all --gufa -tnh -S -o - | filecheck %s (module - ;; CHECK: (type $funcref_funcref_funcref_funcref_=>_none (func (param funcref funcref funcref funcref))) + ;; CHECK: (type $0 (func (param funcref funcref funcref funcref))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) ;; CHECK: (import "a" "b" (global $unknown-i32 i32)) (import "a" "b" (global $unknown-i32 i32)) @@ -21,7 +21,7 @@ ;; CHECK: (import "a" "b" (global $unknown-nn-func2 (ref func))) (import "a" "b" (global $unknown-nn-func2 (ref func))) - ;; CHECK: (func $called (type $funcref_funcref_funcref_funcref_=>_none) (param $x funcref) (param $no-cast funcref) (param $y funcref) (param $z funcref) + ;; CHECK: (func $called (type $0) (param $x funcref) (param $no-cast funcref) (param $y funcref) (param $z funcref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.cast (ref func) ;; CHECK-NEXT: (local.get $x) @@ -59,7 +59,7 @@ ) ) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $1) ;; CHECK-NEXT: (local $f funcref) ;; CHECK-NEXT: (local.set $f ;; CHECK-NEXT: (select (result funcref) @@ -163,15 +163,15 @@ ;; CHECK: (type $B (sub $A (struct (field (mut i32))))) (type $B (sub $A (struct (field (mut i32))))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $2 (func)) - ;; CHECK: (type $ref?|$A|_=>_none (func (param (ref null $A)))) + ;; CHECK: (type $3 (func (param (ref null $A)))) - ;; CHECK: (type $anyref_=>_none (func (param anyref))) + ;; CHECK: (type $4 (func (param anyref))) ;; CHECK: (export "out" (func $caller)) - ;; CHECK: (func $maker (type $none_=>_none) + ;; CHECK: (func $maker (type $2) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $A ;; CHECK-NEXT: (i32.const 10) @@ -197,7 +197,7 @@ ) ) - ;; CHECK: (func $called (type $ref?|$A|_=>_none) (param $x (ref null $A)) + ;; CHECK: (func $called (type $3) (param $x (ref null $A)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.cast (ref $B) ;; CHECK-NEXT: (local.get $x) @@ -213,7 +213,7 @@ ) ) - ;; CHECK: (func $caller (type $anyref_=>_none) (param $any anyref) + ;; CHECK: (func $caller (type $4) (param $any anyref) ;; CHECK-NEXT: (local $x (ref null $A)) ;; CHECK-NEXT: (call $called ;; CHECK-NEXT: (local.tee $x @@ -292,13 +292,13 @@ ;; CHECK: (type $B (sub $A (struct (field (mut i32))))) (type $B (sub $A (struct (field (mut i32))))) - ;; CHECK: (type $ref?|$A|_=>_none (func (param (ref null $A)))) + ;; CHECK: (type $2 (func (param (ref null $A)))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $3 (func)) ;; CHECK: (export "out" (func $caller)) - ;; CHECK: (func $maker (type $none_=>_none) + ;; CHECK: (func $maker (type $3) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $A ;; CHECK-NEXT: (i32.const 10) @@ -324,7 +324,7 @@ ) ) - ;; CHECK: (func $called (type $ref?|$A|_=>_none) (param $x (ref null $A)) + ;; CHECK: (func $called (type $2) (param $x (ref null $A)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.cast (ref $B) ;; CHECK-NEXT: (local.get $x) @@ -340,7 +340,7 @@ ) ) - ;; CHECK: (func $caller (type $ref?|$A|_=>_none) (param $a (ref null $A)) + ;; CHECK: (func $caller (type $2) (param $a (ref null $A)) ;; CHECK-NEXT: (local $x (ref null $A)) ;; CHECK-NEXT: (call $called ;; CHECK-NEXT: (local.tee $x @@ -378,16 +378,16 @@ ;; CHECK: (type $B (sub $A (struct (field (mut i32))))) (type $B (sub $A (struct (field (mut i32))))) - ;; CHECK: (type $ref?|$A|_=>_none (func (param (ref null $A)))) + ;; CHECK: (type $2 (func (param (ref null $A)))) - ;; CHECK: (type $anyref_=>_none (func (param anyref))) + ;; CHECK: (type $3 (func (param anyref))) ;; CHECK: (global $global (mut i32) (i32.const 0)) (global $global (mut i32) (i32.const 0)) ;; CHECK: (export "out" (func $caller)) - ;; CHECK: (func $called (type $ref?|$A|_=>_none) (param $x (ref null $A)) + ;; CHECK: (func $called (type $2) (param $x (ref null $A)) ;; CHECK-NEXT: (local $local (ref null $A)) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (drop @@ -425,7 +425,7 @@ ) ) - ;; CHECK: (func $caller (type $anyref_=>_none) (param $any anyref) + ;; CHECK: (func $caller (type $3) (param $any anyref) ;; CHECK-NEXT: (local $x (ref null $A)) ;; CHECK-NEXT: (call $called ;; CHECK-NEXT: (local.tee $x @@ -452,16 +452,16 @@ ;; CHECK: (type $A (struct (field (mut i32)))) (type $A (struct (field (mut i32)))) - ;; CHECK: (type $ref?|$A|_=>_none (func (param (ref null $A)))) + ;; CHECK: (type $1 (func (param (ref null $A)))) ;; CHECK: (type $B (sub $A (struct (field (mut i32))))) (type $B (sub $A (struct (field (mut i32))))) - ;; CHECK: (type $anyref_=>_none (func (param anyref))) + ;; CHECK: (type $3 (func (param anyref))) ;; CHECK: (export "out" (func $caller)) - ;; CHECK: (func $called (type $ref?|$A|_=>_none) (param $x (ref null $A)) + ;; CHECK: (func $called (type $1) (param $x (ref null $A)) ;; CHECK-NEXT: (local $local (ref null $A)) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 0) @@ -487,7 +487,7 @@ ) ) - ;; CHECK: (func $caller (type $anyref_=>_none) (param $any anyref) + ;; CHECK: (func $caller (type $3) (param $any anyref) ;; CHECK-NEXT: (local $x (ref null $A)) ;; CHECK-NEXT: (call $called ;; CHECK-NEXT: (local.tee $x @@ -516,13 +516,13 @@ (type $B (sub $A (struct (field (mut i32))))) - ;; CHECK: (type $ref?|$A|_=>_none (func (param (ref null $A)))) + ;; CHECK: (type $1 (func (param (ref null $A)))) - ;; CHECK: (type $anyref_=>_none (func (param anyref))) + ;; CHECK: (type $2 (func (param anyref))) ;; CHECK: (export "out" (func $caller)) - ;; CHECK: (func $called (type $ref?|$A|_=>_none) (param $x (ref null $A)) + ;; CHECK: (func $called (type $1) (param $x (ref null $A)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.cast (ref $A) ;; CHECK-NEXT: (local.get $x) @@ -537,7 +537,7 @@ ) ) - ;; CHECK: (func $caller (type $anyref_=>_none) (param $any anyref) + ;; CHECK: (func $caller (type $2) (param $any anyref) ;; CHECK-NEXT: (local $x (ref null $A)) ;; CHECK-NEXT: (call $called ;; CHECK-NEXT: (local.tee $x @@ -570,16 +570,16 @@ ;; CHECK: (type $B (sub $A (struct (field (mut i32))))) (type $B (sub $A (struct (field (mut i32))))) - ;; CHECK: (type $ref?|$A|_=>_none (func (param (ref null $A)))) + ;; CHECK: (type $2 (func (param (ref null $A)))) ;; CHECK: (type $C (sub $B (struct (field (mut i32))))) (type $C (sub $B (struct (field (mut i32))))) - ;; CHECK: (type $anyref_=>_none (func (param anyref))) + ;; CHECK: (type $4 (func (param anyref))) ;; CHECK: (export "out" (func $caller)) - ;; CHECK: (func $called (type $ref?|$A|_=>_none) (param $x (ref null $A)) + ;; CHECK: (func $called (type $2) (param $x (ref null $A)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.cast (ref $B) ;; CHECK-NEXT: (local.get $x) @@ -607,7 +607,7 @@ ) ) - ;; CHECK: (func $caller (type $anyref_=>_none) (param $any anyref) + ;; CHECK: (func $caller (type $4) (param $any anyref) ;; CHECK-NEXT: (local $x (ref null $A)) ;; CHECK-NEXT: (call $called ;; CHECK-NEXT: (local.tee $x @@ -637,13 +637,13 @@ ;; CHECK: (type $B (sub $A (struct (field (mut i32))))) (type $B (sub $A (struct (field (mut i32))))) - ;; CHECK: (type $ref?|$A|_ref?|$A|_ref?|$A|_=>_none (func (param (ref null $A) (ref null $A) (ref null $A)))) + ;; CHECK: (type $2 (func (param (ref null $A) (ref null $A) (ref null $A)))) - ;; CHECK: (type $anyref_=>_none (func (param anyref))) + ;; CHECK: (type $3 (func (param anyref))) ;; CHECK: (export "out" (func $caller)) - ;; CHECK: (func $called (type $ref?|$A|_ref?|$A|_ref?|$A|_=>_none) (param $x (ref null $A)) (param $y (ref null $A)) (param $z (ref null $A)) + ;; CHECK: (func $called (type $2) (param $x (ref null $A)) (param $y (ref null $A)) (param $z (ref null $A)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.cast (ref $B) ;; CHECK-NEXT: (local.get $x) @@ -679,7 +679,7 @@ ) ) - ;; CHECK: (func $caller (type $anyref_=>_none) (param $any anyref) + ;; CHECK: (func $caller (type $3) (param $any anyref) ;; CHECK-NEXT: (call $called ;; CHECK-NEXT: (block (result (ref $A)) ;; CHECK-NEXT: (ref.cast (ref $A) @@ -740,13 +740,13 @@ ;; CHECK: (type $B (sub $A (struct (field (mut i32))))) (type $B (sub $A (struct (field (mut i32))))) - ;; CHECK: (type $ref?|$A|_ref?|$A|_ref?|$A|_=>_none (func (param (ref null $A) (ref null $A) (ref null $A)))) + ;; CHECK: (type $2 (func (param (ref null $A) (ref null $A) (ref null $A)))) - ;; CHECK: (type $anyref_=>_none (func (param anyref))) + ;; CHECK: (type $3 (func (param anyref))) ;; CHECK: (export "out" (func $caller)) - ;; CHECK: (func $called (type $ref?|$A|_ref?|$A|_ref?|$A|_=>_none) (param $x (ref null $A)) (param $y (ref null $A)) (param $z (ref null $A)) + ;; CHECK: (func $called (type $2) (param $x (ref null $A)) (param $y (ref null $A)) (param $z (ref null $A)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.cast (ref $B) ;; CHECK-NEXT: (local.get $x) @@ -778,7 +778,7 @@ ) ) - ;; CHECK: (func $caller (type $anyref_=>_none) (param $any anyref) + ;; CHECK: (func $caller (type $3) (param $any anyref) ;; CHECK-NEXT: (call $called ;; CHECK-NEXT: (block (result (ref $A)) ;; CHECK-NEXT: (ref.cast (ref $A) @@ -837,18 +837,18 @@ ;; CHECK: (type $B (sub $A (struct (field (mut i32))))) (type $B (sub $A (struct (field (mut i32))))) - ;; CHECK: (type $none_=>_anyref (func (result anyref))) + ;; CHECK: (type $2 (func (result anyref))) - ;; CHECK: (type $ref?|$A|_ref?|$A|_ref?|$A|_=>_none (func (param (ref null $A) (ref null $A) (ref null $A)))) + ;; CHECK: (type $3 (func (param (ref null $A) (ref null $A) (ref null $A)))) - ;; CHECK: (type $anyref_=>_none (func (param anyref))) + ;; CHECK: (type $4 (func (param anyref))) - ;; CHECK: (import "a" "b" (func $get-any (type $none_=>_anyref) (result anyref))) + ;; CHECK: (import "a" "b" (func $get-any (type $2) (result anyref))) (import "a" "b" (func $get-any (result anyref))) ;; CHECK: (export "out" (func $caller)) - ;; CHECK: (func $called (type $ref?|$A|_ref?|$A|_ref?|$A|_=>_none) (param $x (ref null $A)) (param $y (ref null $A)) (param $z (ref null $A)) + ;; CHECK: (func $called (type $3) (param $x (ref null $A)) (param $y (ref null $A)) (param $z (ref null $A)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.cast (ref $B) ;; CHECK-NEXT: (local.get $x) @@ -884,7 +884,7 @@ ) ) - ;; CHECK: (func $caller (type $anyref_=>_none) (param $any anyref) + ;; CHECK: (func $caller (type $4) (param $any anyref) ;; CHECK-NEXT: (call $called ;; CHECK-NEXT: (ref.cast (ref $A) ;; CHECK-NEXT: (local.get $any) @@ -922,18 +922,18 @@ ;; CHECK: (type $B (sub $A (struct (field (mut i32))))) (type $B (sub $A (struct (field (mut i32))))) - ;; CHECK: (type $none_=>_anyref (func (result anyref))) + ;; CHECK: (type $2 (func (result anyref))) - ;; CHECK: (type $ref?|$A|_ref?|$A|_ref?|$A|_=>_none (func (param (ref null $A) (ref null $A) (ref null $A)))) + ;; CHECK: (type $3 (func (param (ref null $A) (ref null $A) (ref null $A)))) - ;; CHECK: (type $anyref_=>_none (func (param anyref))) + ;; CHECK: (type $4 (func (param anyref))) - ;; CHECK: (import "a" "b" (func $get-any (type $none_=>_anyref) (result anyref))) + ;; CHECK: (import "a" "b" (func $get-any (type $2) (result anyref))) (import "a" "b" (func $get-any (result anyref))) ;; CHECK: (export "out" (func $caller)) - ;; CHECK: (func $called (type $ref?|$A|_ref?|$A|_ref?|$A|_=>_none) (param $x (ref null $A)) (param $y (ref null $A)) (param $z (ref null $A)) + ;; CHECK: (func $called (type $3) (param $x (ref null $A)) (param $y (ref null $A)) (param $z (ref null $A)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.cast (ref $B) ;; CHECK-NEXT: (local.get $x) @@ -969,7 +969,7 @@ ) ) - ;; CHECK: (func $caller (type $anyref_=>_none) (param $any anyref) + ;; CHECK: (func $caller (type $4) (param $any anyref) ;; CHECK-NEXT: (call $called ;; CHECK-NEXT: (ref.cast (ref $A) ;; CHECK-NEXT: (local.get $any) @@ -1017,13 +1017,13 @@ ;; CHECK: (type $B (sub $A (struct (field (mut i32))))) (type $B (sub $A (struct (field (mut i32))))) - ;; CHECK: (type $ref?|$A|_=>_none (func (param (ref null $A)))) + ;; CHECK: (type $2 (func (param (ref null $A)))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $3 (func)) ;; CHECK: (export "out" (func $caller)) - ;; CHECK: (func $called (type $ref?|$A|_=>_none) (param $x (ref null $A)) + ;; CHECK: (func $called (type $2) (param $x (ref null $A)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.cast (ref $B) ;; CHECK-NEXT: (local.get $x) @@ -1038,7 +1038,7 @@ ) ) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $3) ;; CHECK-NEXT: (call $called ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) @@ -1071,13 +1071,13 @@ ;; CHECK: (type $A (struct (field (mut i32)))) (type $A (struct (field (mut i32)))) - ;; CHECK: (type $ref?|$A|_=>_none (func (param (ref null $A)))) + ;; CHECK: (type $1 (func (param (ref null $A)))) - ;; CHECK: (type $anyref_=>_none (func (param anyref))) + ;; CHECK: (type $2 (func (param anyref))) ;; CHECK: (export "out" (func $caller)) - ;; CHECK: (func $called (type $ref?|$A|_=>_none) (param $x (ref null $A)) + ;; CHECK: (func $called (type $1) (param $x (ref null $A)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.as_non_null ;; CHECK-NEXT: (local.get $x) @@ -1092,7 +1092,7 @@ ) ) - ;; CHECK: (func $caller (type $anyref_=>_none) (param $any anyref) + ;; CHECK: (func $caller (type $2) (param $any anyref) ;; CHECK-NEXT: (call $called ;; CHECK-NEXT: (ref.cast (ref $A) ;; CHECK-NEXT: (local.get $any) @@ -1120,11 +1120,11 @@ ;; CHECK: (type $C (sub $B (struct (field (mut i32))))) (type $C (sub $B (struct (field (mut i32))))) - ;; CHECK: (type $anyref_=>_none (func (param anyref))) + ;; CHECK: (type $3 (func (param anyref))) - ;; CHECK: (type $ref?|$A|_=>_none (func (param (ref null $A)))) + ;; CHECK: (type $4 (func (param (ref null $A)))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $5 (func)) ;; CHECK: (export "caller-C" (func $caller-C)) @@ -1132,7 +1132,7 @@ ;; CHECK: (export "caller-A" (func $caller-A)) - ;; CHECK: (func $called (type $ref?|$A|_=>_none) (param $x (ref null $A)) + ;; CHECK: (func $called (type $4) (param $x (ref null $A)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.cast (ref $B) ;; CHECK-NEXT: (local.get $x) @@ -1148,7 +1148,7 @@ ) ) - ;; CHECK: (func $maker (type $none_=>_none) + ;; CHECK: (func $maker (type $5) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $A ;; CHECK-NEXT: (i32.const 10) @@ -1184,7 +1184,7 @@ ) ) - ;; CHECK: (func $caller-C (type $anyref_=>_none) (param $any anyref) + ;; CHECK: (func $caller-C (type $3) (param $any anyref) ;; CHECK-NEXT: (local $temp-C (ref $C)) ;; CHECK-NEXT: (local $temp-any anyref) ;; CHECK-NEXT: (call $called @@ -1256,7 +1256,7 @@ ) ) - ;; CHECK: (func $caller-B (type $anyref_=>_none) (param $any anyref) + ;; CHECK: (func $caller-B (type $3) (param $any anyref) ;; CHECK-NEXT: (local $temp (ref $A)) ;; CHECK-NEXT: (call $called ;; CHECK-NEXT: (local.tee $temp @@ -1287,7 +1287,7 @@ ) ) - ;; CHECK: (func $caller-A (type $anyref_=>_none) (param $any anyref) + ;; CHECK: (func $caller-A (type $3) (param $any anyref) ;; CHECK-NEXT: (local $temp (ref $A)) ;; CHECK-NEXT: (call $called ;; CHECK-NEXT: (local.tee $temp @@ -1326,7 +1326,7 @@ (type $A (struct (field (mut i32)))) (rec - ;; CHECK: (type $ref?|$A|_=>_none (func (param (ref null $A)))) + ;; CHECK: (type $1 (func (param (ref null $A)))) ;; CHECK: (rec ;; CHECK-NEXT: (type $B1 (sub $A (struct (field (mut i32))))) @@ -1339,11 +1339,11 @@ (type $C1 (sub $B1 (struct (field (mut i32))))) ) - ;; CHECK: (type $anyref_=>_none (func (param anyref))) + ;; CHECK: (type $5 (func (param anyref))) ;; CHECK: (export "caller" (func $caller)) - ;; CHECK: (func $called (type $ref?|$A|_=>_none) (param $x (ref null $A)) + ;; CHECK: (func $called (type $1) (param $x (ref null $A)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.cast (ref $B1) ;; CHECK-NEXT: (local.get $x) @@ -1358,7 +1358,7 @@ ) ) - ;; CHECK: (func $caller (type $anyref_=>_none) (param $any anyref) + ;; CHECK: (func $caller (type $5) (param $any anyref) ;; CHECK-NEXT: (call $called ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) @@ -1406,7 +1406,7 @@ ;; Check we ignore casts of non-param locals. (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (type $A (struct (field (mut i32)))) (type $A (struct (field (mut i32)))) @@ -1415,7 +1415,7 @@ ;; CHECK: (export "out" (func $caller)) - ;; CHECK: (func $called (type $none_=>_none) + ;; CHECK: (func $called (type $0) ;; CHECK-NEXT: (local $x (ref null $A)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.null none) @@ -1432,7 +1432,7 @@ ) ) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $0) ;; CHECK-NEXT: (call $called) ;; CHECK-NEXT: ) (func $caller (export "out") @@ -1451,13 +1451,13 @@ ;; CHECK: (type $C (sub $B (struct (field (mut i32))))) (type $C (sub $B (struct (field (mut i32))))) - ;; CHECK: (type $ref?|$A|_=>_none (func (param (ref null $A)))) + ;; CHECK: (type $3 (func (param (ref null $A)))) - ;; CHECK: (type $anyref_=>_none (func (param anyref))) + ;; CHECK: (type $4 (func (param anyref))) ;; CHECK: (export "out" (func $caller)) - ;; CHECK: (func $called (type $ref?|$A|_=>_none) (param $x (ref null $A)) + ;; CHECK: (func $called (type $3) (param $x (ref null $A)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.cast (ref null $B) ;; CHECK-NEXT: (local.get $x) @@ -1472,7 +1472,7 @@ ) ) - ;; CHECK: (func $caller (type $anyref_=>_none) (param $x anyref) + ;; CHECK: (func $caller (type $4) (param $x anyref) ;; CHECK-NEXT: (call $called ;; CHECK-NEXT: (ref.cast (ref $B) ;; CHECK-NEXT: (local.get $x) @@ -1554,13 +1554,13 @@ ;; CHECK: (type $C (sub $B (struct (field (mut i32))))) (type $C (sub $B (struct (field (mut i32))))) - ;; CHECK: (type $ref?|$A|_=>_none (func (param (ref null $A)))) + ;; CHECK: (type $3 (func (param (ref null $A)))) - ;; CHECK: (type $anyref_=>_none (func (param anyref))) + ;; CHECK: (type $4 (func (param anyref))) ;; CHECK: (export "out" (func $caller)) - ;; CHECK: (func $called (type $ref?|$A|_=>_none) (param $x (ref null $A)) + ;; CHECK: (func $called (type $3) (param $x (ref null $A)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.cast (ref $B) ;; CHECK-NEXT: (local.get $x) @@ -1575,7 +1575,7 @@ ) ) - ;; CHECK: (func $caller (type $anyref_=>_none) (param $x anyref) + ;; CHECK: (func $caller (type $4) (param $x anyref) ;; CHECK-NEXT: (call $called ;; CHECK-NEXT: (ref.cast (ref $B) ;; CHECK-NEXT: (local.get $x) @@ -1649,14 +1649,14 @@ ;; A cast of an array. (module - ;; CHECK: (type $anyref_=>_none (func (param anyref))) + ;; CHECK: (type $0 (func (param anyref))) ;; CHECK: (type $A (array (mut i32))) (type $A (array (mut i32))) ;; CHECK: (export "out" (func $caller)) - ;; CHECK: (func $called (type $anyref_=>_none) (param $x anyref) + ;; CHECK: (func $called (type $0) (param $x anyref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.cast (ref $A) ;; CHECK-NEXT: (local.get $x) @@ -1671,7 +1671,7 @@ ) ) - ;; CHECK: (func $caller (type $anyref_=>_none) (param $x anyref) + ;; CHECK: (func $caller (type $0) (param $x anyref) ;; CHECK-NEXT: (call $called ;; CHECK-NEXT: (ref.cast (ref $A) ;; CHECK-NEXT: (local.get $x) @@ -1701,9 +1701,9 @@ (type $C (array (mut funcref))) - ;; CHECK: (type $ref?|$A|_ref?|$A|_ref?|$B|_ref?|$B|_ref?|$B|_ref?|$B|_ref?|$B|_ref?|$B|_ref?|$B|_ref?|$C|_ref?|$A|_=>_none (func (param (ref null $A) (ref null $A) (ref null $B) (ref null $B) (ref null $B) (ref null $B) (ref null $B) (ref null $B) (ref null $B) (ref null $C) (ref null $A)))) + ;; CHECK: (type $3 (func (param (ref null $A) (ref null $A) (ref null $B) (ref null $B) (ref null $B) (ref null $B) (ref null $B) (ref null $B) (ref null $B) (ref null $C) (ref null $A)))) - ;; CHECK: (type $anyref_=>_none (func (param anyref))) + ;; CHECK: (type $4 (func (param anyref))) ;; CHECK: (data $d "a") (data $d "a") @@ -1713,7 +1713,7 @@ ;; CHECK: (export "out" (func $caller)) - ;; CHECK: (func $called (type $ref?|$A|_ref?|$A|_ref?|$B|_ref?|$B|_ref?|$B|_ref?|$B|_ref?|$B|_ref?|$B|_ref?|$B|_ref?|$C|_ref?|$A|_=>_none) (param $struct.get (ref null $A)) (param $struct.set (ref null $A)) (param $array.get (ref null $B)) (param $array.set (ref null $B)) (param $array.len (ref null $B)) (param $array.copy.src (ref null $B)) (param $array.copy.dest (ref null $B)) (param $array.fill (ref null $B)) (param $array.init_data (ref null $B)) (param $array.init_elem (ref null $C)) (param $ref.test (ref null $A)) + ;; CHECK: (func $called (type $3) (param $struct.get (ref null $A)) (param $struct.set (ref null $A)) (param $array.get (ref null $B)) (param $array.set (ref null $B)) (param $array.len (ref null $B)) (param $array.copy.src (ref null $B)) (param $array.copy.dest (ref null $B)) (param $array.fill (ref null $B)) (param $array.init_data (ref null $B)) (param $array.init_elem (ref null $C)) (param $ref.test (ref null $A)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -1839,7 +1839,7 @@ ) ) - ;; CHECK: (func $caller (type $anyref_=>_none) (param $any anyref) + ;; CHECK: (func $caller (type $4) (param $any anyref) ;; CHECK-NEXT: (call $called ;; CHECK-NEXT: (ref.cast (ref $A) ;; CHECK-NEXT: (local.get $any) @@ -1924,7 +1924,7 @@ ;; CHECK: (type $A (func)) (type $A (func)) - ;; CHECK: (type $funcref_=>_none (func (param funcref))) + ;; CHECK: (type $1 (func (param funcref))) ;; CHECK: (export "out" (func $caller)) @@ -1936,7 +1936,7 @@ (unreachable) ) - ;; CHECK: (func $caller (type $funcref_=>_none) (param $x funcref) + ;; CHECK: (func $caller (type $1) (param $x funcref) ;; CHECK-NEXT: (call_ref $A ;; CHECK-NEXT: (ref.cast (ref $A) ;; CHECK-NEXT: (local.get $x) @@ -1958,7 +1958,7 @@ ;; Control flow around calls. (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (type $A (struct )) (type $A (struct)) @@ -1966,14 +1966,14 @@ ;; CHECK: (type $B (sub $A (struct ))) (type $B (sub $A (struct))) - ;; CHECK: (type $ref?|$A|_=>_none (func (param (ref null $A)))) + ;; CHECK: (type $3 (func (param (ref null $A)))) - ;; CHECK: (import "a" "b" (func $import-throw (type $none_=>_none))) + ;; CHECK: (import "a" "b" (func $import-throw (type $0))) (import "a" "b" (func $import-throw)) ;; CHECK: (export "a" (func $caller)) - ;; CHECK: (func $called (type $ref?|$A|_=>_none) (param $0 (ref null $A)) + ;; CHECK: (func $called (type $3) (param $0 (ref null $A)) ;; CHECK-NEXT: (call $import-throw) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.cast (ref $B) @@ -1993,7 +1993,7 @@ ) ) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $0) ;; CHECK-NEXT: (call $called ;; CHECK-NEXT: (struct.new_default $B) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/gufa-vs-cfp.wast b/test/lit/passes/gufa-vs-cfp.wast index 00c26815e..2589290c6 100644 --- a/test/lit/passes/gufa-vs-cfp.wast +++ b/test/lit/passes/gufa-vs-cfp.wast @@ -34,9 +34,9 @@ (module (type $struct (struct i32)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (func $impossible-get (type $none_=>_none) + ;; CHECK: (func $impossible-get (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) @@ -54,9 +54,9 @@ (module (type $struct (struct i64)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (func $test (type $none_=>_none) + ;; CHECK: (func $test (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i64.const 0) ;; CHECK-NEXT: ) @@ -76,9 +76,9 @@ (module (type $struct (struct f32)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (func $test (type $none_=>_none) + ;; CHECK: (func $test (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (f32.const 42) ;; CHECK-NEXT: ) @@ -101,14 +101,14 @@ ;; CHECK: (type $struct (struct (field f32))) (type $struct (struct f32)) - ;; CHECK: (type $none_=>_f32 (func (result f32))) + ;; CHECK: (type $1 (func (result f32))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $2 (func)) - ;; CHECK: (import "a" "b" (func $import (type $none_=>_f32) (result f32))) + ;; CHECK: (import "a" "b" (func $import (type $1) (result f32))) (import "a" "b" (func $import (result f32))) - ;; CHECK: (func $test (type $none_=>_none) + ;; CHECK: (func $test (type $2) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.get $struct 0 ;; CHECK-NEXT: (struct.new $struct @@ -134,11 +134,11 @@ (module ;; CHECK: (type $struct (struct (field i32))) (type $struct (struct i32)) - ;; CHECK: (type $none_=>_ref|$struct| (func (result (ref $struct)))) + ;; CHECK: (type $1 (func (result (ref $struct)))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $2 (func)) - ;; CHECK: (func $create (type $none_=>_ref|$struct|) (result (ref $struct)) + ;; CHECK: (func $create (type $1) (result (ref $struct)) ;; CHECK-NEXT: (struct.new $struct ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: ) @@ -148,7 +148,7 @@ (i32.const 10) ) ) - ;; CHECK: (func $get (type $none_=>_none) + ;; CHECK: (func $get (type $2) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (drop @@ -176,11 +176,11 @@ ;; CHECK: (type $struct (struct (field i32))) (type $struct (struct i32)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) - ;; CHECK: (type $none_=>_ref|$struct| (func (result (ref $struct)))) + ;; CHECK: (type $2 (func (result (ref $struct)))) - ;; CHECK: (func $get (type $none_=>_none) + ;; CHECK: (func $get (type $1) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (drop @@ -198,7 +198,7 @@ ) ) - ;; CHECK: (func $create (type $none_=>_ref|$struct|) (result (ref $struct)) + ;; CHECK: (func $create (type $2) (result (ref $struct)) ;; CHECK-NEXT: (struct.new $struct ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: ) @@ -215,9 +215,9 @@ (module ;; CHECK: (type $struct (struct (field f32))) (type $struct (struct f32)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) - ;; CHECK: (func $test (type $none_=>_none) + ;; CHECK: (func $test (type $1) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $struct ;; CHECK-NEXT: (f32.const 42) @@ -253,11 +253,11 @@ (module ;; CHECK: (type $struct (struct (field (mut f32)))) (type $struct (struct (mut f32))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) - ;; CHECK: (type $none_=>_ref|$struct| (func (result (ref $struct)))) + ;; CHECK: (type $2 (func (result (ref $struct)))) - ;; CHECK: (func $create (type $none_=>_ref|$struct|) (result (ref $struct)) + ;; CHECK: (func $create (type $2) (result (ref $struct)) ;; CHECK-NEXT: (struct.new $struct ;; CHECK-NEXT: (f32.const 42) ;; CHECK-NEXT: ) @@ -267,7 +267,7 @@ (f32.const 42) ) ) - ;; CHECK: (func $set (type $none_=>_none) + ;; CHECK: (func $set (type $1) ;; CHECK-NEXT: (struct.set $struct 0 ;; CHECK-NEXT: (call $create) ;; CHECK-NEXT: (f32.const 1337) @@ -279,7 +279,7 @@ (f32.const 1337) ) ) - ;; CHECK: (func $get (type $none_=>_none) + ;; CHECK: (func $get (type $1) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.get $struct 0 ;; CHECK-NEXT: (call $create) @@ -301,11 +301,11 @@ (module ;; CHECK: (type $struct (struct (field (mut f32)))) (type $struct (struct (mut f32))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) - ;; CHECK: (type $none_=>_ref|$struct| (func (result (ref $struct)))) + ;; CHECK: (type $2 (func (result (ref $struct)))) - ;; CHECK: (func $create (type $none_=>_ref|$struct|) (result (ref $struct)) + ;; CHECK: (func $create (type $2) (result (ref $struct)) ;; CHECK-NEXT: (struct.new $struct ;; CHECK-NEXT: (f32.const 42) ;; CHECK-NEXT: ) @@ -315,7 +315,7 @@ (f32.const 42) ) ) - ;; CHECK: (func $set (type $none_=>_none) + ;; CHECK: (func $set (type $1) ;; CHECK-NEXT: (struct.set $struct 0 ;; CHECK-NEXT: (call $create) ;; CHECK-NEXT: (f32.const 42) @@ -327,7 +327,7 @@ (f32.const 42) ;; The last testcase had 1337 here. ) ) - ;; CHECK: (func $get (type $none_=>_none) + ;; CHECK: (func $get (type $1) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result f32) ;; CHECK-NEXT: (drop @@ -351,16 +351,16 @@ ;; CHECK: (type $struct (struct (field (mut f32)))) (type $struct (struct (mut f32))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $2 (func (result i32))) - ;; CHECK: (type $none_=>_ref|$struct| (func (result (ref $struct)))) + ;; CHECK: (type $3 (func (result (ref $struct)))) - ;; CHECK: (import "a" "b" (func $import (type $none_=>_i32) (result i32))) + ;; CHECK: (import "a" "b" (func $import (type $2) (result i32))) (import "a" "b" (func $import (result i32))) - ;; CHECK: (func $create (type $none_=>_ref|$struct|) (result (ref $struct)) + ;; CHECK: (func $create (type $3) (result (ref $struct)) ;; CHECK-NEXT: (struct.new $struct ;; CHECK-NEXT: (f32.const 42) ;; CHECK-NEXT: ) @@ -374,7 +374,7 @@ ) ) ) - ;; CHECK: (func $set (type $none_=>_none) + ;; CHECK: (func $set (type $1) ;; CHECK-NEXT: (struct.set $struct 0 ;; CHECK-NEXT: (call $create) ;; CHECK-NEXT: (block (result f32) @@ -400,7 +400,7 @@ ) ) ) - ;; CHECK: (func $get (type $none_=>_none) + ;; CHECK: (func $get (type $1) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result f32) ;; CHECK-NEXT: (drop @@ -424,11 +424,11 @@ ;; Test a function reference instead of a number. (module (type $struct (struct funcref)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (elem declare func $test) - ;; CHECK: (func $test (type $none_=>_none) + ;; CHECK: (func $test (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.func $test) ;; CHECK-NEXT: ) @@ -447,9 +447,9 @@ ;; Test for unreachable creations, sets, and gets. (module (type $struct (struct (mut i32))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (func $test (type $none_=>_none) + ;; CHECK: (func $test (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block ;; (replaces something unreachable we can't emit) ;; CHECK-NEXT: (drop @@ -500,11 +500,11 @@ (type $struct (struct i32)) (type $substruct (struct_subtype i32 $struct)) - ;; CHECK: (type $none_=>_ref|$struct| (func (result (ref $struct)))) + ;; CHECK: (type $1 (func (result (ref $struct)))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $2 (func)) - ;; CHECK: (func $create (type $none_=>_ref|$struct|) (result (ref $struct)) + ;; CHECK: (func $create (type $1) (result (ref $struct)) ;; CHECK-NEXT: (struct.new $struct ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: ) @@ -514,7 +514,7 @@ (i32.const 10) ) ) - ;; CHECK: (func $get (type $none_=>_none) + ;; CHECK: (func $get (type $2) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block ;; CHECK-NEXT: (block @@ -547,11 +547,11 @@ (type $struct (struct (mut i32))) (type $substruct (struct_subtype (mut i32) $struct)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) - ;; CHECK: (type $none_=>_ref|$struct| (func (result (ref $struct)))) + ;; CHECK: (type $2 (func (result (ref $struct)))) - ;; CHECK: (func $create (type $none_=>_ref|$struct|) (result (ref $struct)) + ;; CHECK: (func $create (type $2) (result (ref $struct)) ;; CHECK-NEXT: (struct.new $struct ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: ) @@ -562,7 +562,7 @@ ) ) - ;; CHECK: (func $set (type $none_=>_none) + ;; CHECK: (func $set (type $1) ;; CHECK-NEXT: (struct.set $struct 0 ;; CHECK-NEXT: (call $create) ;; CHECK-NEXT: (i32.const 10) @@ -574,7 +574,7 @@ (i32.const 10) ) ) - ;; CHECK: (func $get (type $none_=>_none) + ;; CHECK: (func $get (type $1) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block ;; CHECK-NEXT: (block @@ -606,9 +606,9 @@ (type $struct (struct (mut i32))) (type $substruct (struct_subtype (mut i32) $struct)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) - ;; CHECK: (func $test (type $none_=>_none) + ;; CHECK: (func $test (type $1) ;; CHECK-NEXT: (local $ref (ref null $struct)) ;; CHECK-NEXT: (local.set $ref ;; CHECK-NEXT: (struct.new $struct @@ -659,9 +659,9 @@ (type $substruct (struct_subtype i32 f64 $struct)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (func $test (type $none_=>_none) + ;; CHECK: (func $test (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: ) @@ -683,17 +683,17 @@ (module ;; CHECK: (type $struct (struct (field i32))) (type $struct (struct i32)) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $1 (func (result i32))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $2 (func)) ;; CHECK: (type $substruct (sub $struct (struct (field i32) (field f64)))) (type $substruct (struct_subtype i32 f64 $struct)) - ;; CHECK: (import "a" "b" (func $import (type $none_=>_i32) (result i32))) + ;; CHECK: (import "a" "b" (func $import (type $1) (result i32))) (import "a" "b" (func $import (result i32))) - ;; CHECK: (func $test (type $none_=>_none) + ;; CHECK: (func $test (type $2) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (drop @@ -737,17 +737,17 @@ (module ;; CHECK: (type $struct (struct (field i32))) (type $struct (struct i32)) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $1 (func (result i32))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $2 (func)) ;; CHECK: (type $substruct (sub $struct (struct (field i32) (field f64)))) (type $substruct (struct_subtype i32 f64 $struct)) - ;; CHECK: (import "a" "b" (func $import (type $none_=>_i32) (result i32))) + ;; CHECK: (import "a" "b" (func $import (type $1) (result i32))) (import "a" "b" (func $import (result i32))) - ;; CHECK: (func $test (type $none_=>_none) + ;; CHECK: (func $test (type $2) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.get $struct 0 ;; CHECK-NEXT: (select (result (ref $struct)) @@ -792,14 +792,14 @@ ;; CHECK: (type $substruct (sub $struct (struct (field i32) (field f64)))) (type $substruct (struct_subtype i32 f64 $struct)) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $2 (func (result i32))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $3 (func)) - ;; CHECK: (import "a" "b" (func $import (type $none_=>_i32) (result i32))) + ;; CHECK: (import "a" "b" (func $import (type $2) (result i32))) (import "a" "b" (func $import (result i32))) - ;; CHECK: (func $test (type $none_=>_none) + ;; CHECK: (func $test (type $3) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (drop @@ -849,14 +849,14 @@ ;; CHECK: (type $substruct (sub $struct (struct (field (mut i32)) (field f64)))) (type $substruct (struct_subtype (mut i32) f64 $struct)) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $2 (func (result i32))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $3 (func)) - ;; CHECK: (import "a" "b" (func $import (type $none_=>_i32) (result i32))) + ;; CHECK: (import "a" "b" (func $import (type $2) (result i32))) (import "a" "b" (func $import (result i32))) - ;; CHECK: (func $test (type $none_=>_none) + ;; CHECK: (func $test (type $3) ;; CHECK-NEXT: (local $ref (ref null $struct)) ;; CHECK-NEXT: (local.set $ref ;; CHECK-NEXT: (select (result (ref $struct)) @@ -923,14 +923,14 @@ ;; CHECK: (type $substruct (sub $struct (struct (field (mut i32)) (field f64)))) (type $substruct (struct_subtype (mut i32) f64 $struct)) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $2 (func (result i32))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $3 (func)) - ;; CHECK: (import "a" "b" (func $import (type $none_=>_i32) (result i32))) + ;; CHECK: (import "a" "b" (func $import (type $2) (result i32))) (import "a" "b" (func $import (result i32))) - ;; CHECK: (func $test (type $none_=>_none) + ;; CHECK: (func $test (type $3) ;; CHECK-NEXT: (local $ref (ref null $struct)) ;; CHECK-NEXT: (local.set $ref ;; CHECK-NEXT: (select (result (ref $struct)) @@ -1005,11 +1005,11 @@ ;; CHECK: (type $struct3 (sub $struct2 (struct (field i32) (field f64) (field anyref)))) (type $struct3 (struct_subtype i32 f64 anyref $struct2)) - ;; CHECK: (type $none_=>_ref|$struct3| (func (result (ref $struct3)))) + ;; CHECK: (type $3 (func (result (ref $struct3)))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $4 (func)) - ;; CHECK: (func $create (type $none_=>_ref|$struct3|) (result (ref $struct3)) + ;; CHECK: (func $create (type $3) (result (ref $struct3)) ;; CHECK-NEXT: (struct.new $struct3 ;; CHECK-NEXT: (i32.const 20) ;; CHECK-NEXT: (f64.const 3.14159) @@ -1023,7 +1023,7 @@ (ref.null any) ) ) - ;; CHECK: (func $get (type $none_=>_none) + ;; CHECK: (func $get (type $4) ;; CHECK-NEXT: (local $ref (ref null $struct3)) ;; CHECK-NEXT: (local.set $ref ;; CHECK-NEXT: (call $create) @@ -1146,18 +1146,18 @@ ;; CHECK: (type $struct3 (sub $struct2 (struct (field i32) (field i32) (field f64) (field f64) (field anyref) (field anyref)))) (type $struct3 (struct_subtype i32 i32 f64 f64 anyref anyref $struct2)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $3 (func)) - ;; CHECK: (type $none_=>_anyref (func (result anyref))) + ;; CHECK: (type $4 (func (result anyref))) - ;; CHECK: (type $none_=>_ref|$struct1| (func (result (ref $struct1)))) + ;; CHECK: (type $5 (func (result (ref $struct1)))) - ;; CHECK: (type $none_=>_ref|$struct3| (func (result (ref $struct3)))) + ;; CHECK: (type $6 (func (result (ref $struct3)))) - ;; CHECK: (import "a" "b" (func $import (type $none_=>_anyref) (result anyref))) + ;; CHECK: (import "a" "b" (func $import (type $4) (result anyref))) (import "a" "b" (func $import (result anyref))) - ;; CHECK: (func $create1 (type $none_=>_ref|$struct1|) (result (ref $struct1)) + ;; CHECK: (func $create1 (type $5) (result (ref $struct1)) ;; CHECK-NEXT: (struct.new $struct1 ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: (i32.const 20) @@ -1170,7 +1170,7 @@ ) ) - ;; CHECK: (func $create3 (type $none_=>_ref|$struct3|) (result (ref $struct3)) + ;; CHECK: (func $create3 (type $6) (result (ref $struct3)) ;; CHECK-NEXT: (struct.new $struct3 ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: (i32.const 999) @@ -1192,7 +1192,7 @@ ) ) - ;; CHECK: (func $get-1 (type $none_=>_none) + ;; CHECK: (func $get-1 (type $3) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (drop @@ -1227,7 +1227,7 @@ ) ) - ;; CHECK: (func $get-2 (type $none_=>_none) + ;; CHECK: (func $get-2 (type $3) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (drop @@ -1287,7 +1287,7 @@ ) ) - ;; CHECK: (func $get-3 (type $none_=>_none) + ;; CHECK: (func $get-3 (type $3) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (drop @@ -1375,23 +1375,23 @@ (type $struct1 (struct (mut i32))) ;; CHECK: (type $struct2 (sub $struct1 (struct (field (mut i32)) (field f64)))) (type $struct2 (struct_subtype (mut i32) f64 $struct1)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $2 (func)) ;; CHECK: (type $struct3 (sub $struct2 (struct (field (mut i32)) (field f64) (field anyref)))) (type $struct3 (struct_subtype (mut i32) f64 anyref $struct2)) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $4 (func (result i32))) - ;; CHECK: (type $none_=>_ref|$struct1| (func (result (ref $struct1)))) + ;; CHECK: (type $5 (func (result (ref $struct1)))) - ;; CHECK: (type $none_=>_ref|$struct2| (func (result (ref $struct2)))) + ;; CHECK: (type $6 (func (result (ref $struct2)))) - ;; CHECK: (type $none_=>_ref|$struct3| (func (result (ref $struct3)))) + ;; CHECK: (type $7 (func (result (ref $struct3)))) - ;; CHECK: (import "a" "b" (func $import (type $none_=>_i32) (result i32))) + ;; CHECK: (import "a" "b" (func $import (type $4) (result i32))) (import "a" "b" (func $import (result i32))) - ;; CHECK: (func $create1 (type $none_=>_ref|$struct1|) (result (ref $struct1)) + ;; CHECK: (func $create1 (type $5) (result (ref $struct1)) ;; CHECK-NEXT: (struct.new $struct1 ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: ) @@ -1402,7 +1402,7 @@ ) ) - ;; CHECK: (func $create2 (type $none_=>_ref|$struct2|) (result (ref $struct2)) + ;; CHECK: (func $create2 (type $6) (result (ref $struct2)) ;; CHECK-NEXT: (struct.new $struct2 ;; CHECK-NEXT: (i32.const 9999) ;; CHECK-NEXT: (f64.const 0) @@ -1415,7 +1415,7 @@ ) ) - ;; CHECK: (func $create3 (type $none_=>_ref|$struct3|) (result (ref $struct3)) + ;; CHECK: (func $create3 (type $7) (result (ref $struct3)) ;; CHECK-NEXT: (struct.new $struct3 ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: (f64.const 0) @@ -1430,7 +1430,7 @@ ) ) - ;; CHECK: (func $get-precise (type $none_=>_none) + ;; CHECK: (func $get-precise (type $2) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (drop @@ -1476,7 +1476,7 @@ ) ) - ;; CHECK: (func $get-imprecise-1 (type $none_=>_none) + ;; CHECK: (func $get-imprecise-1 (type $2) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (drop @@ -1547,7 +1547,7 @@ ) ) - ;; CHECK: (func $get-imprecise-2 (type $none_=>_none) + ;; CHECK: (func $get-imprecise-2 (type $2) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.get $struct1 0 ;; CHECK-NEXT: (select (result (ref $struct1)) @@ -1609,7 +1609,7 @@ ) ) - ;; CHECK: (func $get-imprecise-3 (type $none_=>_none) + ;; CHECK: (func $get-imprecise-3 (type $2) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.get $struct1 0 ;; CHECK-NEXT: (select (result (ref $struct1)) @@ -1683,20 +1683,20 @@ ;; CHECK: (type $struct3 (sub $struct2 (struct (field (mut i32)) (field f64) (field anyref)))) (type $struct3 (struct_subtype (mut i32) f64 anyref $struct2)) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $3 (func (result i32))) - ;; CHECK: (type $none_=>_ref|$struct1| (func (result (ref $struct1)))) + ;; CHECK: (type $4 (func (result (ref $struct1)))) - ;; CHECK: (type $none_=>_ref|$struct2| (func (result (ref $struct2)))) + ;; CHECK: (type $5 (func (result (ref $struct2)))) - ;; CHECK: (type $none_=>_ref|$struct3| (func (result (ref $struct3)))) + ;; CHECK: (type $6 (func (result (ref $struct3)))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $7 (func)) - ;; CHECK: (import "a" "b" (func $import (type $none_=>_i32) (result i32))) + ;; CHECK: (import "a" "b" (func $import (type $3) (result i32))) (import "a" "b" (func $import (result i32))) - ;; CHECK: (func $create1 (type $none_=>_ref|$struct1|) (result (ref $struct1)) + ;; CHECK: (func $create1 (type $4) (result (ref $struct1)) ;; CHECK-NEXT: (struct.new $struct1 ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: ) @@ -1707,7 +1707,7 @@ ) ) - ;; CHECK: (func $create2 (type $none_=>_ref|$struct2|) (result (ref $struct2)) + ;; CHECK: (func $create2 (type $5) (result (ref $struct2)) ;; CHECK-NEXT: (struct.new $struct2 ;; CHECK-NEXT: (i32.const 9999) ;; CHECK-NEXT: (f64.const 0) @@ -1720,7 +1720,7 @@ ) ) - ;; CHECK: (func $create3 (type $none_=>_ref|$struct3|) (result (ref $struct3)) + ;; CHECK: (func $create3 (type $6) (result (ref $struct3)) ;; CHECK-NEXT: (struct.new $struct3 ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: (f64.const 0) @@ -1735,7 +1735,7 @@ ) ) - ;; CHECK: (func $get-precise (type $none_=>_none) + ;; CHECK: (func $get-precise (type $7) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (drop @@ -1799,20 +1799,20 @@ ;; CHECK: (type $struct3 (sub $struct2 (struct (field (mut i32)) (field f64) (field anyref)))) (type $struct3 (struct_subtype (mut i32) f64 anyref $struct2)) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $3 (func (result i32))) - ;; CHECK: (type $none_=>_ref|$struct1| (func (result (ref $struct1)))) + ;; CHECK: (type $4 (func (result (ref $struct1)))) - ;; CHECK: (type $none_=>_ref|$struct2| (func (result (ref $struct2)))) + ;; CHECK: (type $5 (func (result (ref $struct2)))) - ;; CHECK: (type $none_=>_ref|$struct3| (func (result (ref $struct3)))) + ;; CHECK: (type $6 (func (result (ref $struct3)))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $7 (func)) - ;; CHECK: (import "a" "b" (func $import (type $none_=>_i32) (result i32))) + ;; CHECK: (import "a" "b" (func $import (type $3) (result i32))) (import "a" "b" (func $import (result i32))) - ;; CHECK: (func $create1 (type $none_=>_ref|$struct1|) (result (ref $struct1)) + ;; CHECK: (func $create1 (type $4) (result (ref $struct1)) ;; CHECK-NEXT: (struct.new $struct1 ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: ) @@ -1823,7 +1823,7 @@ ) ) - ;; CHECK: (func $create2 (type $none_=>_ref|$struct2|) (result (ref $struct2)) + ;; CHECK: (func $create2 (type $5) (result (ref $struct2)) ;; CHECK-NEXT: (struct.new $struct2 ;; CHECK-NEXT: (i32.const 9999) ;; CHECK-NEXT: (f64.const 0) @@ -1836,7 +1836,7 @@ ) ) - ;; CHECK: (func $create3 (type $none_=>_ref|$struct3|) (result (ref $struct3)) + ;; CHECK: (func $create3 (type $6) (result (ref $struct3)) ;; CHECK-NEXT: (struct.new $struct3 ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: (f64.const 0) @@ -1851,7 +1851,7 @@ ) ) - ;; CHECK: (func $get-precise (type $none_=>_none) + ;; CHECK: (func $get-precise (type $7) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (drop @@ -1910,11 +1910,11 @@ ;; CHECK: (type $struct (struct (field i32) (field f64) (field i32) (field f64) (field i32))) (type $struct (struct i32 f64 i32 f64 i32)) - ;; CHECK: (type $none_=>_ref|$struct| (func (result (ref $struct)))) + ;; CHECK: (type $1 (func (result (ref $struct)))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $2 (func)) - ;; CHECK: (func $create (type $none_=>_ref|$struct|) (result (ref $struct)) + ;; CHECK: (func $create (type $1) (result (ref $struct)) ;; CHECK-NEXT: (struct.new $struct ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.const 10) @@ -1936,7 +1936,7 @@ (i32.const 30) ) ) - ;; CHECK: (func $get (type $none_=>_none) + ;; CHECK: (func $get (type $2) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.get $struct 0 ;; CHECK-NEXT: (call $create) @@ -2028,11 +2028,11 @@ ;; CHECK: (type $C (sub $B (struct (field (mut i32))))) (type $C (struct_subtype (mut i32) $B)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $3 (func)) - ;; CHECK: (type $none_=>_ref|$C| (func (result (ref $C)))) + ;; CHECK: (type $4 (func (result (ref $C)))) - ;; CHECK: (func $create-C (type $none_=>_ref|$C|) (result (ref $C)) + ;; CHECK: (func $create-C (type $4) (result (ref $C)) ;; CHECK-NEXT: (struct.new $C ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: ) @@ -2042,7 +2042,7 @@ (i32.const 10) ) ) - ;; CHECK: (func $set (type $none_=>_none) + ;; CHECK: (func $set (type $3) ;; CHECK-NEXT: (struct.set $C 0 ;; CHECK-NEXT: (ref.cast (ref $C) ;; CHECK-NEXT: (call $create-C) @@ -2063,7 +2063,7 @@ (i32.const 20) ;; different value than in $create ) ) - ;; CHECK: (func $get (type $none_=>_none) + ;; CHECK: (func $get (type $3) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.get $C 0 ;; CHECK-NEXT: (call $create-C) @@ -2085,18 +2085,18 @@ ;; CHECK: (type $struct (struct (field (mut i32)))) (type $struct (struct (mut i32))) - ;; CHECK: (type $none_=>_ref|$struct| (func (result (ref $struct)))) + ;; CHECK: (type $1 (func (result (ref $struct)))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $2 (func)) - ;; CHECK: (func $create (type $none_=>_ref|$struct|) (result (ref $struct)) + ;; CHECK: (func $create (type $1) (result (ref $struct)) ;; CHECK-NEXT: (struct.new_default $struct) ;; CHECK-NEXT: ) (func $create (result (ref $struct)) (struct.new_default $struct) ) - ;; CHECK: (func $test (type $none_=>_none) + ;; CHECK: (func $test (type $2) ;; CHECK-NEXT: (struct.set $struct 0 ;; CHECK-NEXT: (call $create) ;; CHECK-NEXT: (block (result i32) @@ -2142,13 +2142,13 @@ ;; CHECK: (type $other (struct (field (mut f64)) (field (mut i32)))) (type $other (struct (mut f64) (mut i32))) - ;; CHECK: (type $none_=>_ref|$struct| (func (result (ref $struct)))) + ;; CHECK: (type $2 (func (result (ref $struct)))) - ;; CHECK: (type $none_=>_ref|$other| (func (result (ref $other)))) + ;; CHECK: (type $3 (func (result (ref $other)))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $4 (func)) - ;; CHECK: (func $create-struct (type $none_=>_ref|$struct|) (result (ref $struct)) + ;; CHECK: (func $create-struct (type $2) (result (ref $struct)) ;; CHECK-NEXT: (struct.new $struct ;; CHECK-NEXT: (f32.const 0) ;; CHECK-NEXT: (i32.const 42) @@ -2161,7 +2161,7 @@ ) ) - ;; CHECK: (func $create-other (type $none_=>_ref|$other|) (result (ref $other)) + ;; CHECK: (func $create-other (type $3) (result (ref $other)) ;; CHECK-NEXT: (struct.new $other ;; CHECK-NEXT: (f64.const 0) ;; CHECK-NEXT: (i32.const 42) @@ -2174,7 +2174,7 @@ ) ) - ;; CHECK: (func $test (type $none_=>_none) + ;; CHECK: (func $test (type $4) ;; CHECK-NEXT: (struct.set $struct 1 ;; CHECK-NEXT: (call $create-struct) ;; CHECK-NEXT: (block (result i32) @@ -2218,13 +2218,13 @@ ;; CHECK: (type $other (struct (field (mut f64)) (field (mut i32)))) (type $other (struct (mut f64) (mut i32))) - ;; CHECK: (type $none_=>_ref|$struct| (func (result (ref $struct)))) + ;; CHECK: (type $2 (func (result (ref $struct)))) - ;; CHECK: (type $none_=>_ref|$other| (func (result (ref $other)))) + ;; CHECK: (type $3 (func (result (ref $other)))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $4 (func)) - ;; CHECK: (func $create-struct (type $none_=>_ref|$struct|) (result (ref $struct)) + ;; CHECK: (func $create-struct (type $2) (result (ref $struct)) ;; CHECK-NEXT: (struct.new $struct ;; CHECK-NEXT: (f32.const 0) ;; CHECK-NEXT: (i32.const 42) @@ -2237,7 +2237,7 @@ ) ) - ;; CHECK: (func $create-other (type $none_=>_ref|$other|) (result (ref $other)) + ;; CHECK: (func $create-other (type $3) (result (ref $other)) ;; CHECK-NEXT: (struct.new $other ;; CHECK-NEXT: (f64.const 0) ;; CHECK-NEXT: (i32.const 1337) @@ -2250,7 +2250,7 @@ ) ) - ;; CHECK: (func $test (type $none_=>_none) + ;; CHECK: (func $test (type $4) ;; CHECK-NEXT: (struct.set $struct 1 ;; CHECK-NEXT: (call $create-struct) ;; CHECK-NEXT: (block (result i32) @@ -2288,11 +2288,11 @@ ;; CHECK: (type $struct (struct (field (mut i32)) (field (mut i32)))) (type $struct (struct (mut i32) (mut i32))) - ;; CHECK: (type $none_=>_ref|$struct| (func (result (ref $struct)))) + ;; CHECK: (type $1 (func (result (ref $struct)))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $2 (func)) - ;; CHECK: (func $create (type $none_=>_ref|$struct|) (result (ref $struct)) + ;; CHECK: (func $create (type $1) (result (ref $struct)) ;; CHECK-NEXT: (struct.new $struct ;; CHECK-NEXT: (i32.const 42) ;; CHECK-NEXT: (i32.const 1337) @@ -2305,7 +2305,7 @@ ) ) - ;; CHECK: (func $test (type $none_=>_none) + ;; CHECK: (func $test (type $2) ;; CHECK-NEXT: (struct.set $struct 0 ;; CHECK-NEXT: (call $create) ;; CHECK-NEXT: (block (result i32) @@ -2344,12 +2344,12 @@ (type $A (struct)) (type $B (struct (ref $A))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) ;; CHECK: (global $global (ref $A) (struct.new_default $A)) (global $global (ref $A) (struct.new $A)) - ;; CHECK: (func $test (type $none_=>_none) + ;; CHECK: (func $test (type $1) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (global.get $global) ;; CHECK-NEXT: ) @@ -2372,12 +2372,12 @@ (module (type $struct (struct i32)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (import "a" "b" (global $global i32)) (import "a" "b" (global $global i32)) - ;; CHECK: (func $test (type $none_=>_none) + ;; CHECK: (func $test (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (global.get $global) ;; CHECK-NEXT: ) @@ -2396,12 +2396,12 @@ (module (type $struct (struct i32)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (global $global i32 (i32.const 42)) (global $global i32 (i32.const 42)) - ;; CHECK: (func $test (type $none_=>_none) + ;; CHECK: (func $test (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.const 42) ;; CHECK-NEXT: ) @@ -2423,12 +2423,12 @@ (module (type $struct (struct i32)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (global $global (mut i32) (i32.const 42)) (global $global (mut i32) (i32.const 42)) - ;; CHECK: (func $test (type $none_=>_none) + ;; CHECK: (func $test (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.const 42) ;; CHECK-NEXT: ) @@ -2450,12 +2450,12 @@ ;; CHECK: (type $struct (struct (field i32))) (type $struct (struct i32)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) ;; CHECK: (global $global (mut i32) (i32.const 42)) (global $global (mut i32) (i32.const 42)) - ;; CHECK: (func $test (type $none_=>_none) + ;; CHECK: (func $test (type $1) ;; CHECK-NEXT: (global.set $global ;; CHECK-NEXT: (i32.const 1337) ;; CHECK-NEXT: ) @@ -2487,12 +2487,12 @@ ;; CHECK: (type $struct (struct (field (mut i32)))) (type $struct (struct (mut i32))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) ;; CHECK: (global $global i32 (i32.const 42)) (global $global i32 (i32.const 42)) - ;; CHECK: (func $test (type $none_=>_none) + ;; CHECK: (func $test (type $1) ;; CHECK-NEXT: (struct.set $struct 0 ;; CHECK-NEXT: (struct.new $struct ;; CHECK-NEXT: (i32.const 42) @@ -2527,14 +2527,14 @@ ;; CHECK: (type $struct (struct (field (mut i32)))) (type $struct (struct (mut i32))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) ;; CHECK: (global $global i32 (i32.const 42)) (global $global i32 (i32.const 42)) ;; CHECK: (global $global-2 i32 (i32.const 1337)) (global $global-2 i32 (i32.const 1337)) - ;; CHECK: (func $test (type $none_=>_none) + ;; CHECK: (func $test (type $1) ;; CHECK-NEXT: (struct.set $struct 0 ;; CHECK-NEXT: (struct.new $struct ;; CHECK-NEXT: (i32.const 42) @@ -2572,12 +2572,12 @@ ;; CHECK: (type $struct (struct (field (mut i32)))) (type $struct (struct (mut i32))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) ;; CHECK: (global $global i32 (i32.const 42)) (global $global i32 (i32.const 42)) - ;; CHECK: (func $test (type $none_=>_none) + ;; CHECK: (func $test (type $1) ;; CHECK-NEXT: (struct.set $struct 0 ;; CHECK-NEXT: (struct.new $struct ;; CHECK-NEXT: (i32.const 42) @@ -2623,7 +2623,7 @@ (type $object (struct (field $itable (ref $itable)))) - ;; CHECK: (type $none_=>_funcref (func (result funcref))) + ;; CHECK: (type $2 (func (result funcref))) ;; CHECK: (global $global (ref $itable) (array.new_fixed $itable 2 ;; CHECK-NEXT: (struct.new $vtable @@ -2642,7 +2642,7 @@ ) )) - ;; CHECK: (func $test (type $none_=>_funcref) (result funcref) + ;; CHECK: (func $test (type $2) (result funcref) ;; CHECK-NEXT: (struct.get $vtable 0 ;; CHECK-NEXT: (array.get $itable ;; CHECK-NEXT: (global.get $global) @@ -2674,7 +2674,7 @@ ;; Test we handle packed fields properly. (module (rec - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (rec ;; CHECK-NEXT: (type $A_8 (struct (field i8))) @@ -2688,7 +2688,7 @@ ;; CHECK: (import "a" "b" (global $g i32)) (import "a" "b" (global $g i32)) - ;; CHECK: (func $test (type $none_=>_none) + ;; CHECK: (func $test (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.const 120) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/gufa.wast b/test/lit/passes/gufa.wast index deb9d0fef..58166cd46 100644 --- a/test/lit/passes/gufa.wast +++ b/test/lit/passes/gufa.wast @@ -2,21 +2,21 @@ ;; RUN: foreach %s %t wasm-opt -all --gufa -S -o - | filecheck %s (module - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $0 (func (result i32))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) - ;; CHECK: (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) + ;; CHECK: (type $2 (func (param i32 i32) (result i32))) - ;; CHECK: (type $i32_=>_i32 (func (param i32) (result i32))) + ;; CHECK: (type $3 (func (param i32) (result i32))) - ;; CHECK: (import "a" "b" (func $import (type $none_=>_i32) (result i32))) + ;; CHECK: (import "a" "b" (func $import (type $0) (result i32))) (import "a" "b" (func $import (result i32))) ;; CHECK: (export "param-no" (func $param-no)) - ;; CHECK: (func $never-called (type $i32_=>_i32) (param $param i32) (result i32) + ;; CHECK: (func $never-called (type $3) (param $param i32) (result i32) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) (func $never-called (param $param i32) (result i32) @@ -26,14 +26,14 @@ (local.get $param) ) - ;; CHECK: (func $foo (type $none_=>_i32) (result i32) + ;; CHECK: (func $foo (type $0) (result i32) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) (func $foo (result i32) (i32.const 1) ) - ;; CHECK: (func $bar (type $none_=>_none) + ;; CHECK: (func $bar (type $1) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (drop @@ -66,7 +66,7 @@ ) ) - ;; CHECK: (func $baz (type $none_=>_none) + ;; CHECK: (func $baz (type $1) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (select ;; CHECK-NEXT: (block (result i32) @@ -101,7 +101,7 @@ ) ) - ;; CHECK: (func $return (type $none_=>_i32) (result i32) + ;; CHECK: (func $return (type $0) (result i32) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (return @@ -123,7 +123,7 @@ (i32.const 2) ) - ;; CHECK: (func $call-return (type $none_=>_none) + ;; CHECK: (func $call-return (type $1) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $return) ;; CHECK-NEXT: ) @@ -136,7 +136,7 @@ ) ) - ;; CHECK: (func $return-same (type $none_=>_i32) (result i32) + ;; CHECK: (func $return-same (type $0) (result i32) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (return @@ -159,7 +159,7 @@ (i32.const 1) ) - ;; CHECK: (func $call-return-same (type $none_=>_none) + ;; CHECK: (func $call-return-same (type $1) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (drop @@ -176,7 +176,7 @@ ) ) - ;; CHECK: (func $local-no (type $none_=>_i32) (result i32) + ;; CHECK: (func $local-no (type $0) (result i32) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (call $import) @@ -199,7 +199,7 @@ (local.get $x) ) - ;; CHECK: (func $local-yes (type $none_=>_i32) (result i32) + ;; CHECK: (func $local-yes (type $0) (result i32) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (call $import) @@ -222,7 +222,7 @@ (local.get $x) ) - ;; CHECK: (func $param-no (type $i32_=>_i32) (param $param i32) (result i32) + ;; CHECK: (func $param-no (type $3) (param $param i32) (result i32) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $param) ;; CHECK-NEXT: (local.set $param @@ -244,7 +244,7 @@ (local.get $param) ) - ;; CHECK: (func $param-yes (type $i32_=>_i32) (param $param i32) (result i32) + ;; CHECK: (func $param-yes (type $3) (param $param i32) (result i32) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (local.set $param @@ -267,7 +267,7 @@ (local.get $param) ) - ;; CHECK: (func $cycle (type $i32_i32_=>_i32) (param $x i32) (param $y i32) (result i32) + ;; CHECK: (func $cycle (type $2) (param $x i32) (param $y i32) (result i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (drop @@ -320,7 +320,7 @@ ) ) - ;; CHECK: (func $cycle-2 (type $i32_i32_=>_i32) (param $x i32) (param $y i32) (result i32) + ;; CHECK: (func $cycle-2 (type $2) (param $x i32) (param $y i32) (result i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (drop @@ -371,7 +371,7 @@ ) ) - ;; CHECK: (func $cycle-3 (type $i32_i32_=>_i32) (param $x i32) (param $y i32) (result i32) + ;; CHECK: (func $cycle-3 (type $2) (param $x i32) (param $y i32) (result i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (drop @@ -427,7 +427,7 @@ ) ) - ;; CHECK: (func $cycle-4 (type $i32_i32_=>_i32) (param $x i32) (param $y i32) (result i32) + ;; CHECK: (func $cycle-4 (type $2) (param $x i32) (param $y i32) (result i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $cycle-4 ;; CHECK-NEXT: (i32.const 1337) @@ -467,7 +467,7 @@ ) ) - ;; CHECK: (func $cycle-5 (type $i32_i32_=>_i32) (param $x i32) (param $y i32) (result i32) + ;; CHECK: (func $cycle-5 (type $2) (param $x i32) (param $y i32) (result i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (drop @@ -516,7 +516,7 @@ ) ) - ;; CHECK: (func $blocks (type $none_=>_none) + ;; CHECK: (func $blocks (type $1) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (drop @@ -583,7 +583,7 @@ (ref.func $reffed) ) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) ;; CHECK: (table $0 10 funcref) @@ -605,7 +605,7 @@ ) ) - ;; CHECK: (func $do-calls (type $none_=>_none) + ;; CHECK: (func $do-calls (type $1) ;; CHECK-NEXT: (call $reffed ;; CHECK-NEXT: (i32.const 42) ;; CHECK-NEXT: ) @@ -636,7 +636,7 @@ (ref.func $reffed) ) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) ;; CHECK: (table $0 10 funcref) @@ -653,7 +653,7 @@ ) ) - ;; CHECK: (func $do-calls (type $none_=>_none) + ;; CHECK: (func $do-calls (type $1) ;; CHECK-NEXT: (call $reffed ;; CHECK-NEXT: (i32.const 42) ;; CHECK-NEXT: ) @@ -683,7 +683,7 @@ (ref.func $reffed) ) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) ;; CHECK: (table $0 10 funcref) @@ -700,7 +700,7 @@ ) ) - ;; CHECK: (func $do-calls (type $none_=>_none) + ;; CHECK: (func $do-calls (type $1) ;; CHECK-NEXT: (call_indirect $0 (type $i) ;; CHECK-NEXT: (i32.const 42) ;; CHECK-NEXT: (i32.const 0) @@ -733,7 +733,7 @@ (ref.func $reffed) ) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) ;; CHECK: (table $0 10 funcref) @@ -750,7 +750,7 @@ ) ) - ;; CHECK: (func $do-calls (type $none_=>_none) + ;; CHECK: (func $do-calls (type $1) ;; CHECK-NEXT: (call_indirect $0 (type $i) ;; CHECK-NEXT: (i32.const 42) ;; CHECK-NEXT: (i32.const 0) @@ -777,7 +777,7 @@ (module ;; CHECK: (type $i (func (param i32))) (type $i (func (param i32))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) ;; CHECK: (type $f (func (param f32))) (type $f (func (param f32))) @@ -802,7 +802,7 @@ ) ) - ;; CHECK: (func $do-calls (type $none_=>_none) + ;; CHECK: (func $do-calls (type $1) ;; CHECK-NEXT: (call_indirect $0 (type $i) ;; CHECK-NEXT: (i32.const 42) ;; CHECK-NEXT: (i32.const 0) @@ -825,11 +825,11 @@ ) (module - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $0 (func (result i32))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) - ;; CHECK: (func $const (type $none_=>_i32) (result i32) + ;; CHECK: (func $const (type $0) (result i32) ;; CHECK-NEXT: (i32.const 42) ;; CHECK-NEXT: ) (func $const (result i32) @@ -837,7 +837,7 @@ (i32.const 42) ) - ;; CHECK: (func $retcall (type $none_=>_i32) (result i32) + ;; CHECK: (func $retcall (type $0) (result i32) ;; CHECK-NEXT: (return_call $const) ;; CHECK-NEXT: ) (func $retcall (result i32) @@ -845,7 +845,7 @@ (return_call $const) ) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $1) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (drop @@ -865,21 +865,21 @@ ;; Imports have unknown values. (module - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $0 (func (result i32))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) - ;; CHECK: (import "a" "b" (func $import (type $none_=>_i32) (result i32))) + ;; CHECK: (import "a" "b" (func $import (type $0) (result i32))) (import "a" "b" (func $import (result i32))) - ;; CHECK: (func $internal (type $none_=>_i32) (result i32) + ;; CHECK: (func $internal (type $0) (result i32) ;; CHECK-NEXT: (i32.const 42) ;; CHECK-NEXT: ) (func $internal (result i32) (i32.const 42) ) - ;; CHECK: (func $calls (type $none_=>_none) + ;; CHECK: (func $calls (type $1) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $import) ;; CHECK-NEXT: ) @@ -924,17 +924,17 @@ ;; CHECK: (type $A (func (param i32))) (type $A (func (param i32))) - ;; CHECK: (type $i32_funcref_=>_none (func (param i32 funcref))) + ;; CHECK: (type $1 (func (param i32 funcref))) - ;; CHECK: (type $funcref_=>_none (func (param funcref))) + ;; CHECK: (type $2 (func (param funcref))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $3 (func)) - ;; CHECK: (import "binaryen-intrinsics" "call.without.effects" (func $call-without-effects (type $i32_funcref_=>_none) (param i32 funcref))) + ;; CHECK: (import "binaryen-intrinsics" "call.without.effects" (func $call-without-effects (type $1) (param i32 funcref))) (import "binaryen-intrinsics" "call.without.effects" (func $call-without-effects (param i32 funcref))) - ;; CHECK: (import "other" "import" (func $other-import (type $funcref_=>_none) (param funcref))) + ;; CHECK: (import "other" "import" (func $other-import (type $2) (param funcref))) (import "other" "import" (func $other-import (param funcref))) @@ -942,7 +942,7 @@ ;; CHECK: (export "foo" (func $foo)) - ;; CHECK: (func $foo (type $none_=>_none) + ;; CHECK: (func $foo (type $3) ;; CHECK-NEXT: (call $call-without-effects ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: (ref.func $target-keep) @@ -994,17 +994,17 @@ ;; CHECK: (type $A (func (param i32))) (type $A (func (param i32))) - ;; CHECK: (type $i32_funcref_=>_none (func (param i32 funcref))) + ;; CHECK: (type $1 (func (param i32 funcref))) - ;; CHECK: (type $funcref_=>_none (func (param funcref))) + ;; CHECK: (type $2 (func (param funcref))) - ;; CHECK: (type $ref?|$A|_=>_none (func (param (ref null $A)))) + ;; CHECK: (type $3 (func (param (ref null $A)))) - ;; CHECK: (import "binaryen-intrinsics" "call.without.effects" (func $call-without-effects (type $i32_funcref_=>_none) (param i32 funcref))) + ;; CHECK: (import "binaryen-intrinsics" "call.without.effects" (func $call-without-effects (type $1) (param i32 funcref))) (import "binaryen-intrinsics" "call.without.effects" (func $call-without-effects (param i32 funcref))) - ;; CHECK: (import "other" "import" (func $other-import (type $funcref_=>_none) (param funcref))) + ;; CHECK: (import "other" "import" (func $other-import (type $2) (param funcref))) (import "other" "import" (func $other-import (param funcref))) @@ -1012,7 +1012,7 @@ ;; CHECK: (export "foo" (func $foo)) - ;; CHECK: (func $foo (type $ref?|$A|_=>_none) (param $A (ref null $A)) + ;; CHECK: (func $foo (type $3) (param $A (ref null $A)) ;; CHECK-NEXT: (call $call-without-effects ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: (local.get $A) @@ -1067,7 +1067,7 @@ ;; Exported mutable globals can contain any value, as the outside can write to ;; them. (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (global $exported-mutable (mut i32) (i32.const 42)) (global $exported-mutable (mut i32) (i32.const 42)) @@ -1083,7 +1083,7 @@ ;; CHECK: (export "exported-immutable" (global $exported-immutable)) (export "exported-immutable" (global $exported-immutable)) - ;; CHECK: (func $test (type $none_=>_none) + ;; CHECK: (func $test (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (global.get $exported-mutable) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/heap2local.wast b/test/lit/passes/heap2local.wast index 20317763b..ec5eaa3c6 100644 --- a/test/lit/passes/heap2local.wast +++ b/test/lit/passes/heap2local.wast @@ -18,7 +18,7 @@ (type $struct.nonnullable (struct (field (ref $struct.A)))) - ;; CHECK: (func $simple (type $none_=>_none) + ;; CHECK: (func $simple (type $1) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (local $1 f64) ;; CHECK-NEXT: (drop @@ -41,7 +41,7 @@ ) ) - ;; CHECK: (func $to-local (type $none_=>_none) + ;; CHECK: (func $to-local (type $1) ;; CHECK-NEXT: (local $ref (ref null $struct.A)) ;; CHECK-NEXT: (local $1 i32) ;; CHECK-NEXT: (local $2 f64) @@ -68,7 +68,7 @@ ) ) - ;; CHECK: (func $one-get (type $none_=>_none) + ;; CHECK: (func $one-get (type $1) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (local $1 f64) ;; CHECK-NEXT: (drop @@ -101,7 +101,7 @@ ) ) - ;; CHECK: (func $one-get-b (type $none_=>_none) + ;; CHECK: (func $one-get-b (type $1) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (local $1 f64) ;; CHECK-NEXT: (drop @@ -130,7 +130,7 @@ ) ) - ;; CHECK: (func $one-set (type $none_=>_none) + ;; CHECK: (func $one-set (type $1) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (local $1 f64) ;; CHECK-NEXT: (drop @@ -156,7 +156,7 @@ ) ) - ;; CHECK: (func $packed (type $none_=>_none) + ;; CHECK: (func $packed (type $1) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.get_u $struct.packed 0 ;; CHECK-NEXT: (struct.new_default $struct.packed) @@ -172,7 +172,7 @@ ) ) - ;; CHECK: (func $with-init-values (type $none_=>_none) + ;; CHECK: (func $with-init-values (type $1) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (local $1 f64) ;; CHECK-NEXT: (local $2 i32) @@ -213,7 +213,7 @@ ) ) - ;; CHECK: (func $ignore-unreachable (type $none_=>_none) + ;; CHECK: (func $ignore-unreachable (type $1) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block ;; (replaces something unreachable we can't emit) ;; CHECK-NEXT: (drop @@ -244,7 +244,7 @@ ) ) - ;; CHECK: (func $nondefaultable (type $none_=>_none) + ;; CHECK: (func $nondefaultable (type $1) ;; CHECK-NEXT: (local $0 (ref $struct.A)) ;; CHECK-NEXT: (local $1 (ref $struct.A)) ;; CHECK-NEXT: (drop @@ -275,7 +275,7 @@ ) ) - ;; CHECK: (func $simple-one-local-set (type $none_=>_none) + ;; CHECK: (func $simple-one-local-set (type $1) ;; CHECK-NEXT: (local $ref (ref null $struct.A)) ;; CHECK-NEXT: (local $1 i32) ;; CHECK-NEXT: (local $2 f64) @@ -313,7 +313,7 @@ ) ) - ;; CHECK: (func $simple-one-local-get (type $none_=>_f64) (result f64) + ;; CHECK: (func $simple-one-local-get (type $2) (result f64) ;; CHECK-NEXT: (local $ref (ref null $struct.A)) ;; CHECK-NEXT: (local $1 i32) ;; CHECK-NEXT: (local $2 f64) @@ -346,13 +346,13 @@ ) ) - ;; CHECK: (func $send-ref (type $ref?|$struct.A|_=>_none) (param $0 (ref null $struct.A)) + ;; CHECK: (func $send-ref (type $4) (param $0 (ref null $struct.A)) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $send-ref (param (ref null $struct.A)) ) - ;; CHECK: (func $safe-to-drop (type $none_=>_f64) (result f64) + ;; CHECK: (func $safe-to-drop (type $2) (result f64) ;; CHECK-NEXT: (local $ref (ref null $struct.A)) ;; CHECK-NEXT: (local $1 i32) ;; CHECK-NEXT: (local $2 f64) @@ -391,7 +391,7 @@ ) ) - ;; CHECK: (func $escape-via-call (type $none_=>_f64) (result f64) + ;; CHECK: (func $escape-via-call (type $2) (result f64) ;; CHECK-NEXT: (local $ref (ref null $struct.A)) ;; CHECK-NEXT: (local.set $ref ;; CHECK-NEXT: (struct.new_default $struct.A) @@ -417,7 +417,7 @@ ) ) - ;; CHECK: (func $safe-to-drop-multiflow (type $none_=>_f64) (result f64) + ;; CHECK: (func $safe-to-drop-multiflow (type $2) (result f64) ;; CHECK-NEXT: (local $ref (ref null $struct.A)) ;; CHECK-NEXT: (local $1 i32) ;; CHECK-NEXT: (local $2 f64) @@ -466,7 +466,7 @@ ) ) - ;; CHECK: (func $escape-after-multiflow (type $none_=>_f64) (result f64) + ;; CHECK: (func $escape-after-multiflow (type $2) (result f64) ;; CHECK-NEXT: (local $ref (ref null $struct.A)) ;; CHECK-NEXT: (local.set $ref ;; CHECK-NEXT: (struct.new_default $struct.A) @@ -502,7 +502,7 @@ ) ) - ;; CHECK: (func $non-exclusive-set (type $none_=>_f64) (result f64) + ;; CHECK: (func $non-exclusive-set (type $2) (result f64) ;; CHECK-NEXT: (local $ref (ref null $struct.A)) ;; CHECK-NEXT: (local.set $ref ;; CHECK-NEXT: (select (result (ref $struct.A)) @@ -531,7 +531,7 @@ ) ) - ;; CHECK: (func $local-copies (type $none_=>_f64) (result f64) + ;; CHECK: (func $local-copies (type $2) (result f64) ;; CHECK-NEXT: (local $ref (ref null $struct.A)) ;; CHECK-NEXT: (local $1 i32) ;; CHECK-NEXT: (local $2 f64) @@ -570,7 +570,7 @@ ) ) - ;; CHECK: (func $local-copies-2 (type $none_=>_none) + ;; CHECK: (func $local-copies-2 (type $1) ;; CHECK-NEXT: (local $ref (ref null $struct.A)) ;; CHECK-NEXT: (local $ref-2 (ref null $struct.A)) ;; CHECK-NEXT: (local $2 i32) @@ -629,7 +629,7 @@ ) ) - ;; CHECK: (func $local-copies-conditional (type $i32_=>_f64) (param $x i32) (result f64) + ;; CHECK: (func $local-copies-conditional (type $7) (param $x i32) (result f64) ;; CHECK-NEXT: (local $ref (ref null $struct.A)) ;; CHECK-NEXT: (local $2 i32) ;; CHECK-NEXT: (local $3 f64) @@ -675,7 +675,7 @@ ) ) - ;; CHECK: (func $block-value (type $none_=>_f64) (result f64) + ;; CHECK: (func $block-value (type $2) (result f64) ;; CHECK-NEXT: (local $ref (ref null $struct.A)) ;; CHECK-NEXT: (local $1 i32) ;; CHECK-NEXT: (local $2 f64) @@ -719,7 +719,7 @@ ) ) - ;; CHECK: (func $non-exclusive-get (type $i32_=>_f64) (param $x i32) (result f64) + ;; CHECK: (func $non-exclusive-get (type $7) (param $x i32) (result f64) ;; CHECK-NEXT: (local $ref (ref null $struct.A)) ;; CHECK-NEXT: (local.set $ref ;; CHECK-NEXT: (struct.new_default $struct.A) @@ -751,7 +751,7 @@ ) ) - ;; CHECK: (func $tee (type $none_=>_i32) (result i32) + ;; CHECK: (func $tee (type $8) (result i32) ;; CHECK-NEXT: (local $ref (ref null $struct.A)) ;; CHECK-NEXT: (local $1 i32) ;; CHECK-NEXT: (local $2 f64) @@ -778,7 +778,7 @@ ) ) - ;; CHECK: (func $tee-set (type $none_=>_none) + ;; CHECK: (func $tee-set (type $1) ;; CHECK-NEXT: (local $ref (ref null $struct.recursive)) ;; CHECK-NEXT: (local $1 (ref null $struct.recursive)) ;; CHECK-NEXT: (drop @@ -804,7 +804,7 @@ ) ) - ;; CHECK: (func $set-value (type $ref?|$struct.recursive|_=>_none) (param $struct.recursive (ref null $struct.recursive)) + ;; CHECK: (func $set-value (type $9) (param $struct.recursive (ref null $struct.recursive)) ;; CHECK-NEXT: (local $ref (ref null $struct.recursive)) ;; CHECK-NEXT: (struct.set $struct.recursive 0 ;; CHECK-NEXT: (local.get $struct.recursive) @@ -825,7 +825,7 @@ ) ) - ;; CHECK: (func $initialize-with-reference (type $none_=>_none) + ;; CHECK: (func $initialize-with-reference (type $1) ;; CHECK-NEXT: (local $0 (ref null $struct.recursive)) ;; CHECK-NEXT: (local $1 (ref null $struct.recursive)) ;; CHECK-NEXT: (local $2 (ref null $struct.recursive)) @@ -871,7 +871,7 @@ ) ) - ;; CHECK: (func $escape-flow-out (type $none_=>_anyref) (result anyref) + ;; CHECK: (func $escape-flow-out (type $5) (result anyref) ;; CHECK-NEXT: (local $ref (ref null $struct.A)) ;; CHECK-NEXT: (struct.set $struct.A 0 ;; CHECK-NEXT: (local.tee $ref @@ -893,7 +893,7 @@ (local.get $ref) ) - ;; CHECK: (func $escape-return (type $none_=>_anyref) (result anyref) + ;; CHECK: (func $escape-return (type $5) (result anyref) ;; CHECK-NEXT: (local $ref (ref null $struct.A)) ;; CHECK-NEXT: (struct.set $struct.A 0 ;; CHECK-NEXT: (local.tee $ref @@ -919,7 +919,7 @@ ) ) - ;; CHECK: (func $non-nullable (type $ref|$struct.A|_=>_none) (param $a (ref $struct.A)) + ;; CHECK: (func $non-nullable (type $10) (param $a (ref $struct.A)) ;; CHECK-NEXT: (local $1 (ref $struct.A)) ;; CHECK-NEXT: (local $2 (ref $struct.A)) ;; CHECK-NEXT: (drop @@ -951,7 +951,7 @@ ) ) - ;; CHECK: (func $before-loop-use-multi (type $i32_=>_none) (param $x i32) + ;; CHECK: (func $before-loop-use-multi (type $11) (param $x i32) ;; CHECK-NEXT: (local $ref (ref null $struct.A)) ;; CHECK-NEXT: (local $2 i32) ;; CHECK-NEXT: (local $3 f64) @@ -1102,7 +1102,7 @@ ) ) - ;; CHECK: (func $multi-separate (type $none_=>_none) + ;; CHECK: (func $multi-separate (type $1) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (local $1 f64) ;; CHECK-NEXT: (local $2 i32) @@ -1177,7 +1177,7 @@ ) ) - ;; CHECK: (func $multi-separate-same-local-index (type $none_=>_none) + ;; CHECK: (func $multi-separate-same-local-index (type $1) ;; CHECK-NEXT: (local $ref (ref null $struct.A)) ;; CHECK-NEXT: (local $1 i32) ;; CHECK-NEXT: (local $2 f64) @@ -1244,7 +1244,7 @@ ) ) - ;; CHECK: (func $multi-separate-different-local-index-overlapping-lifetimes (type $none_=>_none) + ;; CHECK: (func $multi-separate-different-local-index-overlapping-lifetimes (type $1) ;; CHECK-NEXT: (local $ref1 (ref null $struct.A)) ;; CHECK-NEXT: (local $ref2 (ref null $struct.A)) ;; CHECK-NEXT: (local $2 i32) @@ -1313,7 +1313,7 @@ ) ) - ;; CHECK: (func $get-through-block (type $none_=>_f64) (result f64) + ;; CHECK: (func $get-through-block (type $2) (result f64) ;; CHECK-NEXT: (local $0 (ref null $struct.A)) ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (struct.new_default $struct.A) @@ -1352,7 +1352,7 @@ ) ) - ;; CHECK: (func $branch-to-block (type $none_=>_f64) (result f64) + ;; CHECK: (func $branch-to-block (type $2) (result f64) ;; CHECK-NEXT: (local $0 (ref null $struct.A)) ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (struct.new_default $struct.A) @@ -1389,7 +1389,7 @@ ) ) - ;; CHECK: (func $branch-to-block-no-fallthrough (type $none_=>_f64) (result f64) + ;; CHECK: (func $branch-to-block-no-fallthrough (type $2) (result f64) ;; CHECK-NEXT: (local $0 (ref null $struct.A)) ;; CHECK-NEXT: (local $1 i32) ;; CHECK-NEXT: (local $2 f64) @@ -1442,7 +1442,7 @@ ) ) - ;; CHECK: (func $two-branches (type $none_=>_f64) (result f64) + ;; CHECK: (func $two-branches (type $2) (result f64) ;; CHECK-NEXT: (local $0 (ref null $struct.A)) ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (struct.new_default $struct.A) @@ -1493,7 +1493,7 @@ ) ) - ;; CHECK: (func $two-branches-b (type $none_=>_f64) (result f64) + ;; CHECK: (func $two-branches-b (type $2) (result f64) ;; CHECK-NEXT: (local $0 (ref null $struct.A)) ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (struct.new_default $struct.A) @@ -1545,7 +1545,7 @@ ) ) - ;; CHECK: (func $br_if_flow (type $none_=>_f64) (result f64) + ;; CHECK: (func $br_if_flow (type $2) (result f64) ;; CHECK-NEXT: (local $0 (ref null $struct.A)) ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (struct.new_default $struct.A) @@ -1585,7 +1585,7 @@ ) ) - ;; CHECK: (func $ref-as-non-null (type $none_=>_none) + ;; CHECK: (func $ref-as-non-null (type $1) ;; CHECK-NEXT: (local $ref (ref null $struct.A)) ;; CHECK-NEXT: (local $1 i32) ;; CHECK-NEXT: (local $2 f64) @@ -1636,7 +1636,7 @@ ) ) - ;; CHECK: (func $ref-as-non-null-through-local (type $none_=>_i32) (result i32) + ;; CHECK: (func $ref-as-non-null-through-local (type $8) (result i32) ;; CHECK-NEXT: (local $ref (ref null $struct.A)) ;; CHECK-NEXT: (local $1 i32) ;; CHECK-NEXT: (local $2 f64) @@ -1682,7 +1682,7 @@ ) ) - ;; CHECK: (func $br_if-allocation (type $none_=>_f64) (result f64) + ;; CHECK: (func $br_if-allocation (type $2) (result f64) ;; CHECK-NEXT: (local $0 (ref null $struct.A)) ;; CHECK-NEXT: (local $1 i32) ;; CHECK-NEXT: (local $2 f64) @@ -1737,7 +1737,7 @@ ) ) - ;; CHECK: (func $pass-through-loop (type $none_=>_none) + ;; CHECK: (func $pass-through-loop (type $1) ;; CHECK-NEXT: (local $0 (ref null $struct.A)) ;; CHECK-NEXT: (local $1 i32) ;; CHECK-NEXT: (local $2 f64) @@ -1774,7 +1774,7 @@ ) ) - ;; CHECK: (func $non-nullable-local (type $none_=>_anyref) (result anyref) + ;; CHECK: (func $non-nullable-local (type $5) (result anyref) ;; CHECK-NEXT: (local $0 (ref null $struct.A)) ;; CHECK-NEXT: (local $1 i32) ;; CHECK-NEXT: (local $2 f64) @@ -1809,7 +1809,7 @@ (local.get $0) ) - ;; CHECK: (func $to-param (type $ref?|$struct.A|_=>_none) (param $ref (ref null $struct.A)) + ;; CHECK: (func $to-param (type $4) (param $ref (ref null $struct.A)) ;; CHECK-NEXT: (local $1 i32) ;; CHECK-NEXT: (local $2 f64) ;; CHECK-NEXT: (drop @@ -1856,7 +1856,7 @@ ) ) - ;; CHECK: (func $to-param-loop (type $ref?|$struct.A|_=>_none) (param $ref (ref null $struct.A)) + ;; CHECK: (func $to-param-loop (type $4) (param $ref (ref null $struct.A)) ;; CHECK-NEXT: (loop $loop ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.get $struct.A 0 @@ -1903,7 +1903,7 @@ ;; CHECK: (type $B (sub $A (struct (field (ref $A))))) (type $B (sub $A (struct (field (ref $A))))) - ;; CHECK: (func $func (type $none_=>_anyref) (result anyref) + ;; CHECK: (func $func (type $1) (result anyref) ;; CHECK-NEXT: (local $a (ref $A)) ;; CHECK-NEXT: (local $1 (ref $A)) ;; CHECK-NEXT: (local $2 (ref $A)) diff --git a/test/lit/passes/inline-main.wast b/test/lit/passes/inline-main.wast index fac2c69ae..b90a2ccc9 100644 --- a/test/lit/passes/inline-main.wast +++ b/test/lit/passes/inline-main.wast @@ -4,9 +4,9 @@ ;; RUN: foreach %s %t wasm-opt --inline-main -S -o - | filecheck %s (module - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $0 (func (result i32))) - ;; CHECK: (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) + ;; CHECK: (type $1 (func (param i32 i32) (result i32))) ;; CHECK: (export "main" (func $main)) (export "main" (func $main)) @@ -26,9 +26,9 @@ ) ) (module - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $0 (func (result i32))) - ;; CHECK: (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) + ;; CHECK: (type $1 (func (param i32 i32) (result i32))) ;; CHECK: (export "main" (func $main)) (export "main" (func $main)) @@ -46,7 +46,7 @@ ) ) (module - ;; CHECK: (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) + ;; CHECK: (type $0 (func (param i32 i32) (result i32))) ;; CHECK: (export "main" (func $main)) (export "main" (func $main)) @@ -58,9 +58,9 @@ ) ) (module - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $0 (func (result i32))) - ;; CHECK: (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) + ;; CHECK: (type $1 (func (param i32 i32) (result i32))) ;; CHECK: (export "main" (func $main)) (export "main" (func $main)) @@ -82,7 +82,7 @@ ) ) (module - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $0 (func (result i32))) ;; CHECK: (func $__original_main (result i32) ;; CHECK-NEXT: (i32.const 0) @@ -92,9 +92,9 @@ ) ) (module - ;; CHECK: (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) + ;; CHECK: (type $0 (func (param i32 i32) (result i32))) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $1 (func (result i32))) ;; CHECK: (import "env" "main" (func $main (param i32 i32) (result i32))) (import "env" "main" (func $main (param i32 i32) (result i32))) @@ -108,9 +108,9 @@ ) ) (module - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $0 (func (result i32))) - ;; CHECK: (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) + ;; CHECK: (type $1 (func (param i32 i32) (result i32))) ;; CHECK: (import "env" "original_main" (func $__original_main (result i32))) (import "env" "original_main" (func $__original_main (result i32))) diff --git a/test/lit/passes/inlining-eh.wast b/test/lit/passes/inlining-eh.wast index 8c6138a4c..f35e834a4 100644 --- a/test/lit/passes/inlining-eh.wast +++ b/test/lit/passes/inlining-eh.wast @@ -3,7 +3,7 @@ (module ;; --------------------------------------------------------------------------- - ;; CHECK: (import "a" "b" (func $foo (type $none_=>_i32) (result i32))) + ;; CHECK: (import "a" "b" (func $foo (type $2) (result i32))) (import "a" "b" (func $foo (result i32))) ;; CHECK: (tag $tag$0 (param i32)) (tag $tag$0 (param i32)) @@ -20,7 +20,7 @@ ;; Properly ensure unique try labels after an inlining - ;; CHECK: (func $caller-with-label (type $i32_=>_none) (param $x i32) + ;; CHECK: (func $caller-with-label (type $1) (param $x i32) ;; CHECK-NEXT: (loop $label ;; CHECK-NEXT: (block ;; CHECK-NEXT: (block $__inlined_func$callee-with-label @@ -51,7 +51,7 @@ ) ;; --------------------------------------------------------------------------- - ;; CHECK: (func $callee-with-try-delegate (type $none_=>_none) + ;; CHECK: (func $callee-with-try-delegate (type $0) ;; CHECK-NEXT: (try $label$3 ;; CHECK-NEXT: (do ;; CHECK-NEXT: (nop) @@ -68,7 +68,7 @@ ;; For now, do not inline a try-delegate - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $0) ;; CHECK-NEXT: (call $callee-with-try-delegate) ;; CHECK-NEXT: ) (func $caller @@ -82,7 +82,7 @@ ;; Properly support inlining into a function with a try-delegate - ;; CHECK: (func $caller-with-try-delegate (type $none_=>_i32) (result i32) + ;; CHECK: (func $caller-with-try-delegate (type $2) (result i32) ;; CHECK-NEXT: (try $label$3 ;; CHECK-NEXT: (do ;; CHECK-NEXT: (nop) @@ -107,7 +107,7 @@ ;; --------------------------------------------------------------------------- (func $callee-b (param i32)) - ;; CHECK: (func $caller-with-pop (type $none_=>_none) + ;; CHECK: (func $caller-with-pop (type $0) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (local $1 i32) ;; CHECK-NEXT: (try $try diff --git a/test/lit/passes/inlining-gc.wast b/test/lit/passes/inlining-gc.wast index 31c643752..92267519a 100644 --- a/test/lit/passes/inlining-gc.wast +++ b/test/lit/passes/inlining-gc.wast @@ -2,7 +2,7 @@ ;; RUN: wasm-opt %s --inlining --enable-gc-nn-locals -all -S -o - | filecheck %s (module - ;; CHECK: (func $caller-nullable (type $none_=>_none) + ;; CHECK: (func $caller-nullable (type $0) ;; CHECK-NEXT: (local $0 funcref) ;; CHECK-NEXT: (block $__inlined_func$target-nullable ;; CHECK-NEXT: (local.set $0 @@ -24,7 +24,7 @@ (local $1 (ref null func)) ) - ;; CHECK: (func $caller-non-nullable (type $none_=>_none) + ;; CHECK: (func $caller-non-nullable (type $0) ;; CHECK-NEXT: (local $0 (ref func)) ;; CHECK-NEXT: (block $__inlined_func$target-non-nullable$1 ;; CHECK-NEXT: (nop) diff --git a/test/lit/passes/inlining-optimizing_enable-threads.wast b/test/lit/passes/inlining-optimizing_enable-threads.wast index ceaa1bfb5..60385b11a 100644 --- a/test/lit/passes/inlining-optimizing_enable-threads.wast +++ b/test/lit/passes/inlining-optimizing_enable-threads.wast @@ -6,7 +6,7 @@ (module (table 1 1 funcref) (elem (i32.const 0) $tabled) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (table $0 1 1 funcref) @@ -137,7 +137,7 @@ ) ) (module - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $0 (func (result i32))) ;; CHECK: (func $main (result i32) ;; CHECK-NEXT: (unreachable) @@ -151,7 +151,7 @@ ) ) (module - ;; CHECK: (type $none_=>_i64 (func (result i64))) + ;; CHECK: (type $0 (func (result i64))) ;; CHECK: (memory $0 (shared 1 1)) (memory $0 (shared 1 1)) @@ -178,7 +178,7 @@ ) ;; potential infinite recursion (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (func $main ;; CHECK-NEXT: (call $one) @@ -197,7 +197,7 @@ ) ;; potential infinite cycling recursion (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (func $main ;; CHECK-NEXT: (call $two) diff --git a/test/lit/passes/inlining-optimizing_optimize-level=3.wast b/test/lit/passes/inlining-optimizing_optimize-level=3.wast index 659a6e04d..ee891c3cd 100644 --- a/test/lit/passes/inlining-optimizing_optimize-level=3.wast +++ b/test/lit/passes/inlining-optimizing_optimize-level=3.wast @@ -16,7 +16,7 @@ ;; CHECK: (type $FUNCSIG$i (func (result i32))) - ;; CHECK: (type $i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32) (result i32))) + ;; CHECK: (type $5 (func (param i32 i32 i32 i32) (result i32))) ;; CHECK: (type $FUNCSIG$vii (func (param i32 i32))) @@ -25,13 +25,13 @@ (type $FUNCSIG$i (func (result i32))) (type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$vii (func (param i32 i32))) - ;; CHECK: (type $i32_i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32 i32) (result i32))) + ;; CHECK: (type $8 (func (param i32 i32 i32 i32 i32) (result i32))) - ;; CHECK: (type $f64_i32_=>_f64 (func (param f64 i32) (result f64))) + ;; CHECK: (type $9 (func (param f64 i32) (result f64))) - ;; CHECK: (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) + ;; CHECK: (type $10 (func (param i32 i32 i32))) - ;; CHECK: (type $i32_i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32 i32))) + ;; CHECK: (type $11 (func (param i32 i32 i32 i32 i32))) ;; CHECK: (import "env" "memory" (memory $0 256 256)) (import "env" "STACKTOP" (global $STACKTOP$asm2wasm$import i32)) diff --git a/test/lit/passes/inlining-unreachable.wast b/test/lit/passes/inlining-unreachable.wast index 8f7d46f93..9ad141435 100644 --- a/test/lit/passes/inlining-unreachable.wast +++ b/test/lit/passes/inlining-unreachable.wast @@ -9,11 +9,11 @@ (func $trap (unreachable) ) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $1 (func (result i32))) - ;; CHECK: (func $call-trap (type $none_=>_none) + ;; CHECK: (func $call-trap (type $0) ;; CHECK-NEXT: (block $__inlined_func$trap ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) @@ -30,7 +30,7 @@ (unreachable) ) - ;; CHECK: (func $call-trap-result (type $none_=>_i32) (result i32) + ;; CHECK: (func $call-trap-result (type $1) (result i32) ;; CHECK-NEXT: (block $__inlined_func$trap-result$1 ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) @@ -48,7 +48,7 @@ (nop) (unreachable) ) - ;; CHECK: (func $call-contents-then-trap (type $none_=>_none) + ;; CHECK: (func $call-contents-then-trap (type $0) ;; CHECK-NEXT: (block $__inlined_func$contents-then-trap$2 ;; CHECK-NEXT: (block ;; CHECK-NEXT: (nop) @@ -66,14 +66,14 @@ ) (module - ;; CHECK: (type $i32_=>_i32 (func (param i32) (result i32))) + ;; CHECK: (type $0 (func (param i32) (result i32))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) - ;; CHECK: (import "env" "imported" (func $imported (type $i32_=>_i32) (param i32) (result i32))) + ;; CHECK: (import "env" "imported" (func $imported (type $0) (param i32) (result i32))) (import "env" "imported" (func $imported (param i32) (result i32))) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $1) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block ;; CHECK-NEXT: (block $__inlined_func$callee @@ -125,9 +125,9 @@ ) (module - ;; CHECK: (type $none_=>_f64 (func (result f64))) + ;; CHECK: (type $0 (func (result f64))) - ;; CHECK: (func $0 (type $none_=>_f64) (result f64) + ;; CHECK: (func $0 (type $0) (result f64) ;; CHECK-NEXT: (block $block ;; CHECK-NEXT: (br_if $block ;; CHECK-NEXT: (i32.const 0) diff --git a/test/lit/passes/inlining_all-features.wast b/test/lit/passes/inlining_all-features.wast index 3cd7b0134..65dabdd6c 100644 --- a/test/lit/passes/inlining_all-features.wast +++ b/test/lit/passes/inlining_all-features.wast @@ -3,9 +3,9 @@ ;; RUN: foreach %s %t wasm-opt --inlining --all-features -S -o - | filecheck %s (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (type $none_=>_funcref (func (result funcref))) + ;; CHECK: (type $1 (func (result funcref))) ;; CHECK: (elem declare func $foo) @@ -14,12 +14,12 @@ ;; $foo should not be removed after being inlined, because there is 'ref.func' ;; instruction that refers to it - ;; CHECK: (func $foo (type $none_=>_none) + ;; CHECK: (func $foo (type $0) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $foo) - ;; CHECK: (func $ref_func_test (type $none_=>_funcref) (result funcref) + ;; CHECK: (func $ref_func_test (type $1) (result funcref) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (block $__inlined_func$foo ;; CHECK-NEXT: (nop) @@ -37,19 +37,19 @@ ;; a function reference in a global's init should be noticed, and prevent us ;; from removing an inlined function - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $0 (func (result i32))) ;; CHECK: (global $global$0 (mut funcref) (ref.func $0)) (global $global$0 (mut funcref) (ref.func $0)) - ;; CHECK: (func $0 (type $none_=>_i32) (result i32) + ;; CHECK: (func $0 (type $0) (result i32) ;; CHECK-NEXT: (i32.const 1337) ;; CHECK-NEXT: ) (func $0 (result i32) (i32.const 1337) ) - ;; CHECK: (func $1 (type $none_=>_i32) (result i32) + ;; CHECK: (func $1 (type $0) (result i32) ;; CHECK-NEXT: (block $__inlined_func$0 (result i32) ;; CHECK-NEXT: (i32.const 1337) ;; CHECK-NEXT: ) @@ -63,19 +63,19 @@ ;; a function reference in the start should be noticed, and prevent us ;; from removing an inlined function - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (start $0) (start $0) - ;; CHECK: (func $0 (type $none_=>_none) + ;; CHECK: (func $0 (type $0) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $0 (nop) ) - ;; CHECK: (func $1 (type $none_=>_none) + ;; CHECK: (func $1 (type $0) ;; CHECK-NEXT: (block $__inlined_func$0 ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) @@ -115,11 +115,11 @@ (local.get $non-null) ) - ;; CHECK: (type $none_=>_ref|func| (func (result (ref func)))) + ;; CHECK: (type $0 (func (result (ref func)))) ;; CHECK: (elem declare func $1) - ;; CHECK: (func $1 (type $none_=>_ref|func|) (result (ref func)) + ;; CHECK: (func $1 (type $0) (result (ref func)) ;; CHECK-NEXT: (local $0 (ref func)) ;; CHECK-NEXT: (block $__inlined_func$0 (result (ref func)) ;; CHECK-NEXT: (local.set $0 diff --git a/test/lit/passes/inlining_enable-tail-call.wast b/test/lit/passes/inlining_enable-tail-call.wast index d49c4d5e2..ff1a9efbf 100644 --- a/test/lit/passes/inlining_enable-tail-call.wast +++ b/test/lit/passes/inlining_enable-tail-call.wast @@ -6,7 +6,7 @@ (module (table 1 1 funcref) (elem (i32.const 0) $tabled) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (table $0 1 1 funcref) @@ -238,9 +238,9 @@ ) ) (module - ;; CHECK: (type $i32_=>_i32 (func (param i32) (result i32))) + ;; CHECK: (type $0 (func (param i32) (result i32))) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $1 (func (result i32))) ;; CHECK: (func $child (param $0 i32) (result i32) ;; CHECK-NEXT: (i32.const 1234) @@ -260,9 +260,9 @@ ) ) (module - ;; CHECK: (type $f32_i32_=>_i32 (func (param f32 i32) (result i32))) + ;; CHECK: (type $0 (func (param f32 i32) (result i32))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) ;; CHECK: (global $hangLimit (mut i32) (i32.const 25)) (global $hangLimit (mut i32) (i32.const 25)) @@ -384,7 +384,7 @@ ) ) (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (type $T (func (param i32))) (type $T (func (param i32))) @@ -425,7 +425,7 @@ ) ) ) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (func $1 ;; CHECK-NEXT: (block $__inlined_func$0 @@ -441,7 +441,7 @@ ) ) (module - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $0 (func (result i32))) ;; CHECK: (func $0 (result i32) ;; CHECK-NEXT: (return @@ -458,7 +458,7 @@ ) ) (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (func $0 ;; CHECK-NEXT: (local $0 i32) @@ -486,7 +486,7 @@ ) ) (module - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $0 (func (result i32))) ;; CHECK: (func $0 (result i32) ;; CHECK-NEXT: (local $0 i32) @@ -509,7 +509,7 @@ ) ) (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (func $0 ;; CHECK-NEXT: (drop @@ -541,7 +541,7 @@ ) ) (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (func $0 ;; CHECK-NEXT: (local $0 i32) @@ -578,7 +578,7 @@ ) ) (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (type $T (func (param i32) (result i32))) (type $T (func (param i32) (result i32))) @@ -612,7 +612,7 @@ ) ) (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (type $T (func (param i32))) (type $T (func (param i32))) @@ -704,7 +704,7 @@ ) (module - ;; CHECK: (type $i32_=>_i32 (func (param i32) (result i32))) + ;; CHECK: (type $0 (func (param i32) (result i32))) ;; CHECK: (export "is_even" (func $is_even)) (export "is_even" (func $is_even)) diff --git a/test/lit/passes/inlining_memory64.wat b/test/lit/passes/inlining_memory64.wat index cbea8769f..7d3e5d7b7 100644 --- a/test/lit/passes/inlining_memory64.wat +++ b/test/lit/passes/inlining_memory64.wat @@ -3,7 +3,7 @@ ;; RUN: foreach %s %t wasm-opt --inlining --enable-memory64 -S -o - | filecheck %s (module - ;; CHECK: (type $none_=>_i64 (func (result i64))) + ;; CHECK: (type $0 (func (result i64))) ;; CHECK: (memory $0 i64 256 256) (memory $0 i64 256 256) diff --git a/test/lit/passes/inlining_optimize-level=3.wast b/test/lit/passes/inlining_optimize-level=3.wast index 27a8853ec..b993137c1 100644 --- a/test/lit/passes/inlining_optimize-level=3.wast +++ b/test/lit/passes/inlining_optimize-level=3.wast @@ -4,11 +4,11 @@ ;; RUN: foreach %s %t wasm-opt --inlining --optimize-level=3 -S -o - | filecheck %s (module - ;; CHECK: (type $i32_=>_i32 (func (param i32) (result i32))) + ;; CHECK: (type $0 (func (param i32) (result i32))) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $1 (func (result i32))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $2 (func)) ;; CHECK: (table $0 1 1 funcref) @@ -436,7 +436,7 @@ ) ) ) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (func $foo ;; CHECK-NEXT: (block $__inlined_func$bar_0 @@ -455,7 +455,7 @@ ;; Similar to the above, but now the name collision happens due to a break in ;; one of the call's params. We must emit a different, non-colliding name. (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (func $1 ;; CHECK-NEXT: (local $0 i32) @@ -503,9 +503,9 @@ ;; (That avoids possible validation problems, and maximizes DCE.) To keep it ;; unreachable we'll add an unreachable instruction after the inlined code. (module - ;; CHECK: (type $f32_=>_none (func (param f32))) + ;; CHECK: (type $0 (func (param f32))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) ;; CHECK: (func $A (param $0 f32) ;; CHECK-NEXT: (local $1 f32) diff --git a/test/lit/passes/inlining_splitting.wast b/test/lit/passes/inlining_splitting.wast index 8b9c30daf..145a69016 100644 --- a/test/lit/passes/inlining_splitting.wast +++ b/test/lit/passes/inlining_splitting.wast @@ -3,20 +3,20 @@ ;; RUN: foreach %s %t wasm-opt --inlining --optimize-level=3 --partial-inlining-ifs=4 --all-features -S -o - | filecheck %s (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $1 (func (param i32))) - ;; CHECK: (type $anyref_=>_anyref (func (param anyref) (result anyref))) + ;; CHECK: (type $2 (func (param anyref) (result anyref))) - ;; CHECK: (type $anyref_=>_none (func (param anyref))) + ;; CHECK: (type $3 (func (param anyref))) ;; CHECK: (type $struct (struct )) (type $struct (struct)) - ;; CHECK: (type $i64_i32_f64_=>_none (func (param i64 i32 f64))) + ;; CHECK: (type $5 (func (param i64 i32 f64))) - ;; CHECK: (import "out" "func" (func $import (type $none_=>_none))) + ;; CHECK: (import "out" "func" (func $import (type $0))) (import "out" "func" (func $import)) ;; CHECK: (global $glob i32 (i32.const 1)) @@ -46,7 +46,7 @@ ) ) - ;; CHECK: (func $call-maybe-work-hard (type $none_=>_none) + ;; CHECK: (func $call-maybe-work-hard (type $0) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (local $1 i32) ;; CHECK-NEXT: (local $2 i32) @@ -122,7 +122,7 @@ ) ) - ;; CHECK: (func $call-just-if (type $none_=>_none) + ;; CHECK: (func $call-just-if (type $0) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (local $1 i32) ;; CHECK-NEXT: (block @@ -157,7 +157,7 @@ (call $just-if (i32.const 2)) ) - ;; CHECK: (func $br-to-toplevel (type $i32_=>_none) (param $x i32) + ;; CHECK: (func $br-to-toplevel (type $1) (param $x i32) ;; CHECK-NEXT: (block $toplevel ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $x) @@ -186,7 +186,7 @@ ) ) - ;; CHECK: (func $call-br-to-toplevel (type $none_=>_none) + ;; CHECK: (func $call-br-to-toplevel (type $0) ;; CHECK-NEXT: (call $br-to-toplevel ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) @@ -211,7 +211,7 @@ ) ) - ;; CHECK: (func $call-nondefaultable-param (type $none_=>_none) + ;; CHECK: (func $call-nondefaultable-param (type $0) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (local $1 (ref $struct)) ;; CHECK-NEXT: (block $__inlined_func$nondefaultable-param$5 @@ -251,7 +251,7 @@ ) ) - ;; CHECK: (func $call-many-params (type $none_=>_none) + ;; CHECK: (func $call-many-params (type $0) ;; CHECK-NEXT: (local $0 i64) ;; CHECK-NEXT: (local $1 i32) ;; CHECK-NEXT: (local $2 f64) @@ -329,7 +329,7 @@ ) ) - ;; CHECK: (func $call-condition-eqz (type $none_=>_none) + ;; CHECK: (func $call-condition-eqz (type $0) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (local $1 i32) ;; CHECK-NEXT: (block @@ -384,7 +384,7 @@ ) ) - ;; CHECK: (func $call-condition-global (type $none_=>_none) + ;; CHECK: (func $call-condition-global (type $0) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (block $__inlined_func$byn-split-inlineable-A$condition-global$10 ;; CHECK-NEXT: (if @@ -425,7 +425,7 @@ ) ) - ;; CHECK: (func $call-condition-ref.is (type $none_=>_none) + ;; CHECK: (func $call-condition-ref.is (type $0) ;; CHECK-NEXT: (local $0 anyref) ;; CHECK-NEXT: (local $1 anyref) ;; CHECK-NEXT: (block @@ -468,7 +468,7 @@ (call $condition-ref.is (ref.null any)) ) - ;; CHECK: (func $condition-disallow-binary (type $i32_=>_none) (param $x i32) + ;; CHECK: (func $condition-disallow-binary (type $1) (param $x i32) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.get $x) @@ -496,7 +496,7 @@ ) ) - ;; CHECK: (func $call-condition-disallow-binary (type $none_=>_none) + ;; CHECK: (func $call-condition-disallow-binary (type $0) ;; CHECK-NEXT: (call $condition-disallow-binary ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -509,7 +509,7 @@ (call $condition-disallow-binary (i32.const 1)) ) - ;; CHECK: (func $condition-disallow-unreachable (type $i32_=>_none) (param $x i32) + ;; CHECK: (func $condition-disallow-unreachable (type $1) (param $x i32) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (unreachable) @@ -535,7 +535,7 @@ ) ) - ;; CHECK: (func $call-condition-disallow-unreachable (type $none_=>_none) + ;; CHECK: (func $call-condition-disallow-unreachable (type $0) ;; CHECK-NEXT: (call $condition-disallow-unreachable ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -548,7 +548,7 @@ (call $condition-disallow-unreachable (i32.const 1)) ) - ;; CHECK: (func $start-used-globally (type $none_=>_none) + ;; CHECK: (func $start-used-globally (type $0) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (global.get $glob) ;; CHECK-NEXT: (return) @@ -573,7 +573,7 @@ ) ) - ;; CHECK: (func $call-start-used-globally (type $none_=>_none) + ;; CHECK: (func $call-start-used-globally (type $0) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (block $__inlined_func$byn-split-inlineable-A$start-used-globally$14 ;; CHECK-NEXT: (if @@ -610,7 +610,7 @@ ) ) - ;; CHECK: (func $call-inlineable (type $none_=>_none) + ;; CHECK: (func $call-inlineable (type $0) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (block $__inlined_func$inlineable$16 ;; CHECK-NEXT: (if @@ -633,7 +633,7 @@ (call $inlineable) ) - ;; CHECK: (func $if-not-first (type $i32_=>_none) (param $x i32) + ;; CHECK: (func $if-not-first (type $1) (param $x i32) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $x) @@ -658,7 +658,7 @@ ) ) - ;; CHECK: (func $call-if-not-first (type $none_=>_none) + ;; CHECK: (func $call-if-not-first (type $0) ;; CHECK-NEXT: (call $if-not-first ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -671,7 +671,7 @@ (call $if-not-first (i32.const 1)) ) - ;; CHECK: (func $if-else (type $i32_=>_none) (param $x i32) + ;; CHECK: (func $if-else (type $1) (param $x i32) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: (return) @@ -695,7 +695,7 @@ ) ) - ;; CHECK: (func $call-if-else (type $none_=>_none) + ;; CHECK: (func $call-if-else (type $0) ;; CHECK-NEXT: (call $if-else ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -708,7 +708,7 @@ (call $if-else (i32.const 1)) ) - ;; CHECK: (func $if-non-return (type $i32_=>_none) (param $x i32) + ;; CHECK: (func $if-non-return (type $1) (param $x i32) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: (unreachable) @@ -730,7 +730,7 @@ ) ) - ;; CHECK: (func $call-if-non-return (type $none_=>_none) + ;; CHECK: (func $call-if-non-return (type $0) ;; CHECK-NEXT: (call $if-non-return ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -756,7 +756,7 @@ ) ) - ;; CHECK: (func $call-colliding-name (type $none_=>_none) + ;; CHECK: (func $call-colliding-name (type $0) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (local $1 i32) ;; CHECK-NEXT: (block @@ -795,7 +795,7 @@ (call $colliding-name (i32.const 1)) ) - ;; CHECK: (func $byn-split-outlined-A$colliding-name (type $none_=>_none) + ;; CHECK: (func $byn-split-outlined-A$colliding-name (type $0) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $byn-split-outlined-A$colliding-name @@ -825,7 +825,7 @@ (local.get $x) ) - ;; CHECK: (func $call-error-if-null (type $none_=>_none) + ;; CHECK: (func $call-error-if-null (type $0) ;; CHECK-NEXT: (local $0 anyref) ;; CHECK-NEXT: (local $1 anyref) ;; CHECK-NEXT: (drop @@ -878,7 +878,7 @@ (drop (call $error-if-null (ref.null any))) ) - ;; CHECK: (func $too-many (type $anyref_=>_anyref) (param $x anyref) (result anyref) + ;; CHECK: (func $too-many (type $2) (param $x anyref) (result anyref) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (ref.is_null ;; CHECK-NEXT: (local.get $x) @@ -905,7 +905,7 @@ (local.get $x) ) - ;; CHECK: (func $call-too-many (type $none_=>_none) + ;; CHECK: (func $call-too-many (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $too-many ;; CHECK-NEXT: (ref.null none) @@ -922,7 +922,7 @@ (drop (call $too-many (ref.null any))) ) - ;; CHECK: (func $tail-not-simple (type $anyref_=>_anyref) (param $x anyref) (result anyref) + ;; CHECK: (func $tail-not-simple (type $2) (param $x anyref) (result anyref) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (ref.is_null ;; CHECK-NEXT: (local.get $x) @@ -947,7 +947,7 @@ (unreachable) ;; This prevents us from optimizing ) - ;; CHECK: (func $call-tail-not-simple (type $none_=>_none) + ;; CHECK: (func $call-tail-not-simple (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $tail-not-simple ;; CHECK-NEXT: (ref.null none) @@ -983,7 +983,7 @@ (local.get $x) ) - ;; CHECK: (func $call-reachable-if-body (type $none_=>_none) + ;; CHECK: (func $call-reachable-if-body (type $0) ;; CHECK-NEXT: (local $0 anyref) ;; CHECK-NEXT: (local $1 anyref) ;; CHECK-NEXT: (drop @@ -1043,7 +1043,7 @@ (local.get $x) ) - ;; CHECK: (func $call-reachable-if-body-noloop (type $none_=>_none) + ;; CHECK: (func $call-reachable-if-body-noloop (type $0) ;; CHECK-NEXT: (local $0 anyref) ;; CHECK-NEXT: (local $1 anyref) ;; CHECK-NEXT: (drop @@ -1091,7 +1091,7 @@ (drop (call $reachable-if-body-noloop (ref.null any))) ) - ;; CHECK: (func $reachable-if-body-return (type $anyref_=>_anyref) (param $x anyref) (result anyref) + ;; CHECK: (func $reachable-if-body-return (type $2) (param $x anyref) (result anyref) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (ref.is_null ;; CHECK-NEXT: (local.get $x) @@ -1123,7 +1123,7 @@ (local.get $x) ) - ;; CHECK: (func $call-reachable-if-body-return (type $none_=>_none) + ;; CHECK: (func $call-reachable-if-body-return (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $reachable-if-body-return ;; CHECK-NEXT: (ref.null none) @@ -1154,7 +1154,7 @@ ) ) - ;; CHECK: (func $call-unreachable-if-body-no-result (type $none_=>_none) + ;; CHECK: (func $call-unreachable-if-body-no-result (type $0) ;; CHECK-NEXT: (local $0 anyref) ;; CHECK-NEXT: (local $1 anyref) ;; CHECK-NEXT: (block @@ -1215,7 +1215,7 @@ (local.get $x) ) - ;; CHECK: (func $call-multi-if (type $none_=>_none) + ;; CHECK: (func $call-multi-if (type $0) ;; CHECK-NEXT: (local $0 anyref) ;; CHECK-NEXT: (local $1 anyref) ;; CHECK-NEXT: (local $2 anyref) @@ -1288,7 +1288,7 @@ (drop (call $multi-if (ref.null none))) ) - ;; CHECK: (func $too-many-ifs (type $anyref_=>_anyref) (param $x anyref) (result anyref) + ;; CHECK: (func $too-many-ifs (type $2) (param $x anyref) (result anyref) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (ref.is_null ;; CHECK-NEXT: (local.get $x) @@ -1356,7 +1356,7 @@ (local.get $x) ) - ;; CHECK: (func $call-too-many-ifs (type $none_=>_none) + ;; CHECK: (func $call-too-many-ifs (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $too-many-ifs ;; CHECK-NEXT: (ref.null none) @@ -1374,14 +1374,14 @@ ) ) -;; CHECK: (func $byn-split-outlined-A$maybe-work-hard (type $i32_=>_none) (param $x i32) +;; CHECK: (func $byn-split-outlined-A$maybe-work-hard (type $1) (param $x i32) ;; CHECK-NEXT: (loop $l ;; CHECK-NEXT: (call $import) ;; CHECK-NEXT: (br $l) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) -;; CHECK: (func $byn-split-outlined-B$just-if (type $i32_=>_none) (param $x i32) +;; CHECK: (func $byn-split-outlined-B$just-if (type $1) (param $x i32) ;; CHECK-NEXT: (loop $l ;; CHECK-NEXT: (call $import) ;; CHECK-NEXT: (br_if $l @@ -1390,65 +1390,65 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) -;; CHECK: (func $byn-split-outlined-A$many-params (type $i64_i32_f64_=>_none) (param $x i64) (param $y i32) (param $z f64) +;; CHECK: (func $byn-split-outlined-A$many-params (type $5) (param $x i64) (param $y i32) (param $z f64) ;; CHECK-NEXT: (loop $l ;; CHECK-NEXT: (call $import) ;; CHECK-NEXT: (br $l) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) -;; CHECK: (func $byn-split-outlined-A$condition-eqz (type $i32_=>_none) (param $x i32) +;; CHECK: (func $byn-split-outlined-A$condition-eqz (type $1) (param $x i32) ;; CHECK-NEXT: (loop $l ;; CHECK-NEXT: (call $import) ;; CHECK-NEXT: (br $l) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) -;; CHECK: (func $byn-split-outlined-A$condition-global (type $none_=>_none) +;; CHECK: (func $byn-split-outlined-A$condition-global (type $0) ;; CHECK-NEXT: (loop $l ;; CHECK-NEXT: (call $import) ;; CHECK-NEXT: (br $l) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) -;; CHECK: (func $byn-split-outlined-A$condition-ref.is (type $anyref_=>_none) (param $x anyref) +;; CHECK: (func $byn-split-outlined-A$condition-ref.is (type $3) (param $x anyref) ;; CHECK-NEXT: (loop $l ;; CHECK-NEXT: (call $import) ;; CHECK-NEXT: (br $l) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) -;; CHECK: (func $byn-split-outlined-A$start-used-globally (type $none_=>_none) +;; CHECK: (func $byn-split-outlined-A$start-used-globally (type $0) ;; CHECK-NEXT: (loop $l ;; CHECK-NEXT: (call $import) ;; CHECK-NEXT: (br $l) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) -;; CHECK: (func $byn-split-outlined-A$colliding-name_67 (type $i32_=>_none) (param $x i32) +;; CHECK: (func $byn-split-outlined-A$colliding-name_67 (type $1) (param $x i32) ;; CHECK-NEXT: (loop $l ;; CHECK-NEXT: (call $import) ;; CHECK-NEXT: (br $l) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) -;; CHECK: (func $byn-split-outlined-B$error-if-null (type $anyref_=>_anyref) (param $x anyref) (result anyref) +;; CHECK: (func $byn-split-outlined-B$error-if-null (type $2) (param $x anyref) (result anyref) ;; CHECK-NEXT: (call $import) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) -;; CHECK: (func $byn-split-outlined-B$reachable-if-body (type $anyref_=>_none) (param $x anyref) +;; CHECK: (func $byn-split-outlined-B$reachable-if-body (type $3) (param $x anyref) ;; CHECK-NEXT: (loop $loop ;; CHECK-NEXT: (call $import) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) -;; CHECK: (func $byn-split-outlined-B$unreachable-if-body-no-result (type $anyref_=>_none) (param $x anyref) +;; CHECK: (func $byn-split-outlined-B$unreachable-if-body-no-result (type $3) (param $x anyref) ;; CHECK-NEXT: (call $import) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) -;; CHECK: (func $byn-split-outlined-B$multi-if_76 (type $anyref_=>_none) (param $x anyref) +;; CHECK: (func $byn-split-outlined-B$multi-if_76 (type $3) (param $x anyref) ;; CHECK-NEXT: (loop $x ;; CHECK-NEXT: (call $import) ;; CHECK-NEXT: (br_if $x @@ -1762,13 +1762,13 @@ (drop (i32.const 0)) (drop (i32.const 0)) (drop (i32.const 0)) ) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $1 (func (param i32))) - ;; CHECK: (type $i32_=>_i32 (func (param i32) (result i32))) + ;; CHECK: (type $2 (func (param i32) (result i32))) - ;; CHECK: (func $call-$middle-size-A (type $none_=>_none) + ;; CHECK: (func $call-$middle-size-A (type $0) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (local $1 i32) ;; CHECK-NEXT: (block @@ -1878,7 +1878,7 @@ (drop (i32.const 0)) (drop (i32.const 0)) (drop (i32.const 0)) ) - ;; CHECK: (func $call-$big-size-A (type $none_=>_none) + ;; CHECK: (func $call-$big-size-A (type $0) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (local $1 i32) ;; CHECK-NEXT: (block @@ -1936,7 +1936,7 @@ (local.get $x) ) - ;; CHECK: (func $call-$middle-size-B (type $none_=>_none) + ;; CHECK: (func $call-$middle-size-B (type $0) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (local $1 i32) ;; CHECK-NEXT: (drop @@ -2060,7 +2060,7 @@ (local.get $x) ) - ;; CHECK: (func $call-$big-size-B (type $none_=>_none) + ;; CHECK: (func $call-$big-size-B (type $0) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (local $1 i32) ;; CHECK-NEXT: (drop @@ -2118,7 +2118,7 @@ ) ) ) -;; CHECK: (func $byn-split-outlined-A$big-size-A (type $i32_=>_none) (param $x i32) +;; CHECK: (func $byn-split-outlined-A$big-size-A (type $1) (param $x i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -2157,7 +2157,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) -;; CHECK: (func $byn-split-outlined-B$big-size-B (type $i32_=>_i32) (param $x i32) (result i32) +;; CHECK: (func $byn-split-outlined-B$big-size-B (type $2) (param $x i32) (result i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/inlining_splitting_basics.wast b/test/lit/passes/inlining_splitting_basics.wast index d1fa904a1..017e043a7 100644 --- a/test/lit/passes/inlining_splitting_basics.wast +++ b/test/lit/passes/inlining_splitting_basics.wast @@ -10,27 +10,27 @@ ;; RUN: foreach %s %t wasm-opt --inlining --optimize-level=3 --partial-inlining-ifs=1 --all-features -S -o - | filecheck %s --check-prefix PARTIAL (module - ;; NORMAL_: (type $none_=>_none (func)) + ;; NORMAL_: (type $0 (func)) - ;; NORMAL_: (type $i32_=>_none (func (param i32))) + ;; NORMAL_: (type $1 (func (param i32))) - ;; NORMAL_: (type $i32_=>_i32 (func (param i32) (result i32))) + ;; NORMAL_: (type $2 (func (param i32) (result i32))) - ;; NORMAL_: (import "a" "b" (func $import (type $none_=>_none))) - ;; PARTIAL: (type $none_=>_none (func)) + ;; NORMAL_: (import "a" "b" (func $import (type $0))) + ;; PARTIAL: (type $0 (func)) - ;; PARTIAL: (type $i32_=>_none (func (param i32))) + ;; PARTIAL: (type $1 (func (param i32))) - ;; PARTIAL: (type $i32_=>_i32 (func (param i32) (result i32))) + ;; PARTIAL: (type $2 (func (param i32) (result i32))) - ;; PARTIAL: (import "a" "b" (func $import (type $none_=>_none))) + ;; PARTIAL: (import "a" "b" (func $import (type $0))) (import "a" "b" (func $import)) ;; Pattern A: functions beginning with ;; ;; if (simple) return; - ;; NORMAL_: (func $pattern-A (type $i32_=>_none) (param $x i32) + ;; NORMAL_: (func $pattern-A (type $1) (param $x i32) ;; NORMAL_-NEXT: (if ;; NORMAL_-NEXT: (local.get $x) ;; NORMAL_-NEXT: (return) @@ -51,7 +51,7 @@ ) ) - ;; NORMAL_: (func $call-pattern-A (type $none_=>_none) + ;; NORMAL_: (func $call-pattern-A (type $0) ;; NORMAL_-NEXT: (call $pattern-A ;; NORMAL_-NEXT: (i32.const 1) ;; NORMAL_-NEXT: ) @@ -59,7 +59,7 @@ ;; NORMAL_-NEXT: (i32.const 2) ;; NORMAL_-NEXT: ) ;; NORMAL_-NEXT: ) - ;; PARTIAL: (func $call-pattern-A (type $none_=>_none) + ;; PARTIAL: (func $call-pattern-A (type $0) ;; PARTIAL-NEXT: (local $0 i32) ;; PARTIAL-NEXT: (local $1 i32) ;; PARTIAL-NEXT: (block @@ -104,7 +104,7 @@ ;; if (simple..) heavy-work-that-is-unreachable; ;; simplek - ;; NORMAL_: (func $pattern-B (type $i32_=>_i32) (param $x i32) (result i32) + ;; NORMAL_: (func $pattern-B (type $2) (param $x i32) (result i32) ;; NORMAL_-NEXT: (if ;; NORMAL_-NEXT: (i32.eqz ;; NORMAL_-NEXT: (local.get $x) @@ -129,7 +129,7 @@ (local.get $x) ) - ;; NORMAL_: (func $call-pattern-B (type $none_=>_none) + ;; NORMAL_: (func $call-pattern-B (type $0) ;; NORMAL_-NEXT: (drop ;; NORMAL_-NEXT: (call $pattern-B ;; NORMAL_-NEXT: (i32.const 1) @@ -141,7 +141,7 @@ ;; NORMAL_-NEXT: ) ;; NORMAL_-NEXT: ) ;; NORMAL_-NEXT: ) - ;; PARTIAL: (func $call-pattern-B (type $none_=>_none) + ;; PARTIAL: (func $call-pattern-B (type $0) ;; PARTIAL-NEXT: (local $0 i32) ;; PARTIAL-NEXT: (local $1 i32) ;; PARTIAL-NEXT: (drop @@ -194,14 +194,14 @@ (drop (call $pattern-B (i32.const 2))) ) ) -;; PARTIAL: (func $byn-split-outlined-A$pattern-A (type $i32_=>_none) (param $x i32) +;; PARTIAL: (func $byn-split-outlined-A$pattern-A (type $1) (param $x i32) ;; PARTIAL-NEXT: (loop $l ;; PARTIAL-NEXT: (call $import) ;; PARTIAL-NEXT: (br $l) ;; PARTIAL-NEXT: ) ;; PARTIAL-NEXT: ) -;; PARTIAL: (func $byn-split-outlined-B$pattern-B (type $i32_=>_i32) (param $x i32) (result i32) +;; PARTIAL: (func $byn-split-outlined-B$pattern-B (type $2) (param $x i32) (result i32) ;; PARTIAL-NEXT: (call $import) ;; PARTIAL-NEXT: (unreachable) ;; PARTIAL-NEXT: ) diff --git a/test/lit/passes/inlining_vacuum_optimize-instructions.wast b/test/lit/passes/inlining_vacuum_optimize-instructions.wast index c524288e7..0e153d57c 100644 --- a/test/lit/passes/inlining_vacuum_optimize-instructions.wast +++ b/test/lit/passes/inlining_vacuum_optimize-instructions.wast @@ -15,9 +15,9 @@ (type $B (struct_subtype data)) ;; CHECK: (type $A (struct (field (ref null $B)))) (type $A (struct_subtype (field (ref null $B)) data)) - ;; CHECK: (type $ref?|$A|_=>_none (func (param (ref null $A)))) + ;; CHECK: (type $2 (func (param (ref null $A)))) - ;; CHECK: (func $target (type $ref?|$A|_=>_none) (param $0 (ref null $A)) + ;; CHECK: (func $target (type $2) (param $0 (ref null $A)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block ;; (replaces something unreachable we can't emit) ;; CHECK-NEXT: (drop diff --git a/test/lit/passes/instrument-locals-eh.wast b/test/lit/passes/instrument-locals-eh.wast index 0c7934cf4..5824c0bd0 100644 --- a/test/lit/passes/instrument-locals-eh.wast +++ b/test/lit/passes/instrument-locals-eh.wast @@ -5,7 +5,7 @@ ;; CHECK: (tag $e (param i32)) (tag $e (param i32)) - ;; CHECK: (func $test (type $none_=>_none) + ;; CHECK: (func $test (type $8) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (try $try ;; CHECK-NEXT: (do diff --git a/test/lit/passes/instrument-locals_all-features_disable-gc.wast b/test/lit/passes/instrument-locals_all-features_disable-gc.wast index f9cd16486..63dcbe49b 100644 --- a/test/lit/passes/instrument-locals_all-features_disable-gc.wast +++ b/test/lit/passes/instrument-locals_all-features_disable-gc.wast @@ -4,21 +4,21 @@ ;; RUN: foreach %s %t wasm-opt --instrument-locals --all-features --disable-gc -S -o - | filecheck %s (module - ;; CHECK: (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) + ;; CHECK: (type $0 (func (param i32 i32 i32) (result i32))) - ;; CHECK: (type $i32_i32_i64_=>_i64 (func (param i32 i32 i64) (result i64))) + ;; CHECK: (type $1 (func (param i32 i32 i64) (result i64))) - ;; CHECK: (type $i32_i32_f32_=>_f32 (func (param i32 i32 f32) (result f32))) + ;; CHECK: (type $2 (func (param i32 i32 f32) (result f32))) - ;; CHECK: (type $i32_i32_f64_=>_f64 (func (param i32 i32 f64) (result f64))) + ;; CHECK: (type $3 (func (param i32 i32 f64) (result f64))) - ;; CHECK: (type $i32_i32_funcref_=>_funcref (func (param i32 i32 funcref) (result funcref))) + ;; CHECK: (type $4 (func (param i32 i32 funcref) (result funcref))) - ;; CHECK: (type $i32_i32_externref_=>_externref (func (param i32 i32 externref) (result externref))) + ;; CHECK: (type $5 (func (param i32 i32 externref) (result externref))) - ;; CHECK: (type $i32_i32_v128_=>_v128 (func (param i32 i32 v128) (result v128))) + ;; CHECK: (type $6 (func (param i32 i32 v128) (result v128))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $7 (func)) ;; CHECK: (import "env" "get_i32" (func $get_i32 (param i32 i32 i32) (result i32))) diff --git a/test/lit/passes/instrument-memory-gc.wast b/test/lit/passes/instrument-memory-gc.wast index 2e9047e79..2e824b2ab 100644 --- a/test/lit/passes/instrument-memory-gc.wast +++ b/test/lit/passes/instrument-memory-gc.wast @@ -3,13 +3,13 @@ ;; RUN: foreach %s %t wasm-opt --instrument-memory -all -S -o - | filecheck %s (module - ;; CHECK: (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) + ;; CHECK: (type $0 (func (param i32 i32) (result i32))) - ;; CHECK: (type $i32_i64_=>_i64 (func (param i32 i64) (result i64))) + ;; CHECK: (type $1 (func (param i32 i64) (result i64))) - ;; CHECK: (type $i32_f32_=>_f32 (func (param i32 f32) (result f32))) + ;; CHECK: (type $2 (func (param i32 f32) (result f32))) - ;; CHECK: (type $i32_f64_=>_f64 (func (param i32 f64) (result f64))) + ;; CHECK: (type $3 (func (param i32 f64) (result f64))) ;; CHECK: (type $struct (struct (field (mut i32)) (field f32) (field $named f64))) (type $struct (struct @@ -20,69 +20,69 @@ ;; CHECK: (type $array (array (mut f64))) (type $array (array (mut f64))) - ;; CHECK: (type $i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32) (result i32))) + ;; CHECK: (type $6 (func (param i32 i32 i32 i32) (result i32))) - ;; CHECK: (type $ref|$struct|_=>_none (func (param (ref $struct)))) + ;; CHECK: (type $7 (func (param (ref $struct)))) - ;; CHECK: (type $ref|$array|_=>_none (func (param (ref $array)))) + ;; CHECK: (type $8 (func (param (ref $array)))) - ;; CHECK: (import "env" "load_ptr" (func $load_ptr (type $i32_i32_i32_i32_=>_i32) (param i32 i32 i32 i32) (result i32))) + ;; CHECK: (import "env" "load_ptr" (func $load_ptr (type $6) (param i32 i32 i32 i32) (result i32))) - ;; CHECK: (import "env" "load_val_i32" (func $load_val_i32 (type $i32_i32_=>_i32) (param i32 i32) (result i32))) + ;; CHECK: (import "env" "load_val_i32" (func $load_val_i32 (type $0) (param i32 i32) (result i32))) - ;; CHECK: (import "env" "load_val_i64" (func $load_val_i64 (type $i32_i64_=>_i64) (param i32 i64) (result i64))) + ;; CHECK: (import "env" "load_val_i64" (func $load_val_i64 (type $1) (param i32 i64) (result i64))) - ;; CHECK: (import "env" "load_val_f32" (func $load_val_f32 (type $i32_f32_=>_f32) (param i32 f32) (result f32))) + ;; CHECK: (import "env" "load_val_f32" (func $load_val_f32 (type $2) (param i32 f32) (result f32))) - ;; CHECK: (import "env" "load_val_f64" (func $load_val_f64 (type $i32_f64_=>_f64) (param i32 f64) (result f64))) + ;; CHECK: (import "env" "load_val_f64" (func $load_val_f64 (type $3) (param i32 f64) (result f64))) - ;; CHECK: (import "env" "store_ptr" (func $store_ptr (type $i32_i32_i32_i32_=>_i32) (param i32 i32 i32 i32) (result i32))) + ;; CHECK: (import "env" "store_ptr" (func $store_ptr (type $6) (param i32 i32 i32 i32) (result i32))) - ;; CHECK: (import "env" "store_val_i32" (func $store_val_i32 (type $i32_i32_=>_i32) (param i32 i32) (result i32))) + ;; CHECK: (import "env" "store_val_i32" (func $store_val_i32 (type $0) (param i32 i32) (result i32))) - ;; CHECK: (import "env" "store_val_i64" (func $store_val_i64 (type $i32_i64_=>_i64) (param i32 i64) (result i64))) + ;; CHECK: (import "env" "store_val_i64" (func $store_val_i64 (type $1) (param i32 i64) (result i64))) - ;; CHECK: (import "env" "store_val_f32" (func $store_val_f32 (type $i32_f32_=>_f32) (param i32 f32) (result f32))) + ;; CHECK: (import "env" "store_val_f32" (func $store_val_f32 (type $2) (param i32 f32) (result f32))) - ;; CHECK: (import "env" "store_val_f64" (func $store_val_f64 (type $i32_f64_=>_f64) (param i32 f64) (result f64))) + ;; CHECK: (import "env" "store_val_f64" (func $store_val_f64 (type $3) (param i32 f64) (result f64))) - ;; CHECK: (import "env" "struct_get_val_i32" (func $struct_get_val_i32 (type $i32_i32_=>_i32) (param i32 i32) (result i32))) + ;; CHECK: (import "env" "struct_get_val_i32" (func $struct_get_val_i32 (type $0) (param i32 i32) (result i32))) - ;; CHECK: (import "env" "struct_get_val_i64" (func $struct_get_val_i64 (type $i32_i64_=>_i64) (param i32 i64) (result i64))) + ;; CHECK: (import "env" "struct_get_val_i64" (func $struct_get_val_i64 (type $1) (param i32 i64) (result i64))) - ;; CHECK: (import "env" "struct_get_val_f32" (func $struct_get_val_f32 (type $i32_f32_=>_f32) (param i32 f32) (result f32))) + ;; CHECK: (import "env" "struct_get_val_f32" (func $struct_get_val_f32 (type $2) (param i32 f32) (result f32))) - ;; CHECK: (import "env" "struct_get_val_f64" (func $struct_get_val_f64 (type $i32_f64_=>_f64) (param i32 f64) (result f64))) + ;; CHECK: (import "env" "struct_get_val_f64" (func $struct_get_val_f64 (type $3) (param i32 f64) (result f64))) - ;; CHECK: (import "env" "struct_set_val_i32" (func $struct_set_val_i32 (type $i32_i32_=>_i32) (param i32 i32) (result i32))) + ;; CHECK: (import "env" "struct_set_val_i32" (func $struct_set_val_i32 (type $0) (param i32 i32) (result i32))) - ;; CHECK: (import "env" "struct_set_val_i64" (func $struct_set_val_i64 (type $i32_i64_=>_i64) (param i32 i64) (result i64))) + ;; CHECK: (import "env" "struct_set_val_i64" (func $struct_set_val_i64 (type $1) (param i32 i64) (result i64))) - ;; CHECK: (import "env" "struct_set_val_f32" (func $struct_set_val_f32 (type $i32_f32_=>_f32) (param i32 f32) (result f32))) + ;; CHECK: (import "env" "struct_set_val_f32" (func $struct_set_val_f32 (type $2) (param i32 f32) (result f32))) - ;; CHECK: (import "env" "struct_set_val_f64" (func $struct_set_val_f64 (type $i32_f64_=>_f64) (param i32 f64) (result f64))) + ;; CHECK: (import "env" "struct_set_val_f64" (func $struct_set_val_f64 (type $3) (param i32 f64) (result f64))) - ;; CHECK: (import "env" "array_get_val_i32" (func $array_get_val_i32 (type $i32_i32_=>_i32) (param i32 i32) (result i32))) + ;; CHECK: (import "env" "array_get_val_i32" (func $array_get_val_i32 (type $0) (param i32 i32) (result i32))) - ;; CHECK: (import "env" "array_get_val_i64" (func $array_get_val_i64 (type $i32_i64_=>_i64) (param i32 i64) (result i64))) + ;; CHECK: (import "env" "array_get_val_i64" (func $array_get_val_i64 (type $1) (param i32 i64) (result i64))) - ;; CHECK: (import "env" "array_get_val_f32" (func $array_get_val_f32 (type $i32_f32_=>_f32) (param i32 f32) (result f32))) + ;; CHECK: (import "env" "array_get_val_f32" (func $array_get_val_f32 (type $2) (param i32 f32) (result f32))) - ;; CHECK: (import "env" "array_get_val_f64" (func $array_get_val_f64 (type $i32_f64_=>_f64) (param i32 f64) (result f64))) + ;; CHECK: (import "env" "array_get_val_f64" (func $array_get_val_f64 (type $3) (param i32 f64) (result f64))) - ;; CHECK: (import "env" "array_set_val_i32" (func $array_set_val_i32 (type $i32_i32_=>_i32) (param i32 i32) (result i32))) + ;; CHECK: (import "env" "array_set_val_i32" (func $array_set_val_i32 (type $0) (param i32 i32) (result i32))) - ;; CHECK: (import "env" "array_set_val_i64" (func $array_set_val_i64 (type $i32_i64_=>_i64) (param i32 i64) (result i64))) + ;; CHECK: (import "env" "array_set_val_i64" (func $array_set_val_i64 (type $1) (param i32 i64) (result i64))) - ;; CHECK: (import "env" "array_set_val_f32" (func $array_set_val_f32 (type $i32_f32_=>_f32) (param i32 f32) (result f32))) + ;; CHECK: (import "env" "array_set_val_f32" (func $array_set_val_f32 (type $2) (param i32 f32) (result f32))) - ;; CHECK: (import "env" "array_set_val_f64" (func $array_set_val_f64 (type $i32_f64_=>_f64) (param i32 f64) (result f64))) + ;; CHECK: (import "env" "array_set_val_f64" (func $array_set_val_f64 (type $3) (param i32 f64) (result f64))) - ;; CHECK: (import "env" "array_get_index" (func $array_get_index (type $i32_i32_=>_i32) (param i32 i32) (result i32))) + ;; CHECK: (import "env" "array_get_index" (func $array_get_index (type $0) (param i32 i32) (result i32))) - ;; CHECK: (import "env" "array_set_index" (func $array_set_index (type $i32_i32_=>_i32) (param i32 i32) (result i32))) + ;; CHECK: (import "env" "array_set_index" (func $array_set_index (type $0) (param i32 i32) (result i32))) - ;; CHECK: (func $structs (type $ref|$struct|_=>_none) (param $x (ref $struct)) + ;; CHECK: (func $structs (type $7) (param $x (ref $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $struct_get_val_i32 ;; CHECK-NEXT: (i32.const 0) @@ -128,7 +128,7 @@ (struct.set $struct 0 (local.get $x) (i32.const 42)) ) - ;; CHECK: (func $arrays (type $ref|$array|_=>_none) (param $x (ref $array)) + ;; CHECK: (func $arrays (type $8) (param $x (ref $array)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $array_get_val_f64 ;; CHECK-NEXT: (i32.const 5) diff --git a/test/lit/passes/instrument-memory.wast b/test/lit/passes/instrument-memory.wast index 0973ab4fa..86053c51c 100644 --- a/test/lit/passes/instrument-memory.wast +++ b/test/lit/passes/instrument-memory.wast @@ -7,15 +7,15 @@ (memory 256 256) ;; CHECK: (type $1 (func)) (type $1 (func)) - ;; CHECK: (type $i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32) (result i32))) + ;; CHECK: (type $1 (func (param i32 i32 i32 i32) (result i32))) - ;; CHECK: (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) + ;; CHECK: (type $2 (func (param i32 i32) (result i32))) - ;; CHECK: (type $i32_i64_=>_i64 (func (param i32 i64) (result i64))) + ;; CHECK: (type $3 (func (param i32 i64) (result i64))) - ;; CHECK: (type $i32_f32_=>_f32 (func (param i32 f32) (result f32))) + ;; CHECK: (type $4 (func (param i32 f32) (result f32))) - ;; CHECK: (type $i32_f64_=>_f64 (func (param i32 f64) (result f64))) + ;; CHECK: (type $5 (func (param i32 f64) (result f64))) ;; CHECK: (import "env" "load_ptr" (func $load_ptr (param i32 i32 i32 i32) (result i32))) diff --git a/test/lit/passes/instrument-memory64.wast b/test/lit/passes/instrument-memory64.wast index de4df4aab..832777a45 100644 --- a/test/lit/passes/instrument-memory64.wast +++ b/test/lit/passes/instrument-memory64.wast @@ -7,15 +7,15 @@ (memory i64 256 256) ;; CHECK: (type $1 (func)) (type $1 (func)) - ;; CHECK: (type $i32_i32_i64_i64_=>_i64 (func (param i32 i32 i64 i64) (result i64))) + ;; CHECK: (type $1 (func (param i32 i32 i64 i64) (result i64))) - ;; CHECK: (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) + ;; CHECK: (type $2 (func (param i32 i32) (result i32))) - ;; CHECK: (type $i32_i64_=>_i64 (func (param i32 i64) (result i64))) + ;; CHECK: (type $3 (func (param i32 i64) (result i64))) - ;; CHECK: (type $i32_f32_=>_f32 (func (param i32 f32) (result f32))) + ;; CHECK: (type $4 (func (param i32 f32) (result f32))) - ;; CHECK: (type $i32_f64_=>_f64 (func (param i32 f64) (result f64))) + ;; CHECK: (type $5 (func (param i32 f64) (result f64))) ;; CHECK: (import "env" "load_ptr" (func $load_ptr (param i32 i32 i64 i64) (result i64))) diff --git a/test/lit/passes/intrinsic-lowering.wast b/test/lit/passes/intrinsic-lowering.wast index 3e67400dc..e8897ff0b 100644 --- a/test/lit/passes/intrinsic-lowering.wast +++ b/test/lit/passes/intrinsic-lowering.wast @@ -6,18 +6,18 @@ (type $none (func)) ;; call.without.effects with no params. - ;; CHECK: (import "binaryen-intrinsics" "call.without.effects" (func $cwe-v (type $funcref_=>_i32) (param funcref) (result i32))) + ;; CHECK: (import "binaryen-intrinsics" "call.without.effects" (func $cwe-v (type $1) (param funcref) (result i32))) (import "binaryen-intrinsics" "call.without.effects" (func $cwe-v (param funcref) (result i32))) ;; call.without.effects with some params. - ;; CHECK: (import "binaryen-intrinsics" "call.without.effects" (func $cwe-dif (type $f64_i32_funcref_=>_f32) (param f64 i32 funcref) (result f32))) + ;; CHECK: (import "binaryen-intrinsics" "call.without.effects" (func $cwe-dif (type $2) (param f64 i32 funcref) (result f32))) (import "binaryen-intrinsics" "call.without.effects" (func $cwe-dif (param f64) (param i32) (param funcref) (result f32))) ;; call.without.effects with no result. - ;; CHECK: (import "binaryen-intrinsics" "call.without.effects" (func $cwe-n (type $funcref_=>_none) (param funcref))) + ;; CHECK: (import "binaryen-intrinsics" "call.without.effects" (func $cwe-n (type $3) (param funcref))) (import "binaryen-intrinsics" "call.without.effects" (func $cwe-n (param funcref))) - ;; CHECK: (func $test (type $ref?|$none|_=>_none) (param $none (ref null $none)) + ;; CHECK: (func $test (type $4) (param $none (ref null $none)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $make-i32) ;; CHECK-NEXT: ) @@ -39,14 +39,14 @@ (call $cwe-n (local.get $none)) ) - ;; CHECK: (func $make-i32 (type $none_=>_i32) (result i32) + ;; CHECK: (func $make-i32 (type $5) (result i32) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) (func $make-i32 (result i32) (i32.const 1) ) - ;; CHECK: (func $dif (type $f64_i32_=>_f32) (param $0 f64) (param $1 i32) (result f32) + ;; CHECK: (func $dif (type $6) (param $0 f64) (param $1 i32) (result f32) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) (func $dif (param f64) (param i32) (result f32) diff --git a/test/lit/passes/jspi-args.wast b/test/lit/passes/jspi-args.wast index c99acdd41..1a23c1716 100644 --- a/test/lit/passes/jspi-args.wast +++ b/test/lit/passes/jspi-args.wast @@ -3,13 +3,13 @@ (module ;; sleep_async should have a wrapper function built. - ;; CHECK: (type $f64_=>_i32 (func (param f64) (result i32))) + ;; CHECK: (type $0 (func (param f64) (result i32))) - ;; CHECK: (type $externref_f64_=>_i32 (func (param externref f64) (result i32))) + ;; CHECK: (type $1 (func (param externref f64) (result i32))) - ;; CHECK: (import "js" "sleep_sync" (func $sleep_sync (type $f64_=>_i32) (param f64) (result i32))) + ;; CHECK: (import "js" "sleep_sync" (func $sleep_sync (type $0) (param f64) (result i32))) (import "js" "sleep_async" (func $sleep_async (param f64) (result i32))) - ;; CHECK: (import "js" "sleep_async" (func $import$sleep_async (type $externref_f64_=>_i32) (param externref f64) (result i32))) + ;; CHECK: (import "js" "sleep_async" (func $import$sleep_async (type $1) (param externref f64) (result i32))) (import "js" "sleep_sync" (func $sleep_sync (param f64) (result i32))) ;; CHECK: (global $suspender (mut externref) (ref.null noextern)) @@ -18,7 +18,7 @@ ;; CHECK: (export "update_state_sync" (func $update_state_sync)) (export "update_state_sync" (func $update_state_sync)) ;; This function calls an async sleep so a wrapper should be created for it. - ;; CHECK: (func $update_state_async (type $f64_=>_i32) (param $param f64) (result i32) + ;; CHECK: (func $update_state_async (type $0) (param $param f64) (result i32) ;; CHECK-NEXT: (call $sleep_async ;; CHECK-NEXT: (f64.sub ;; CHECK-NEXT: (f64.const 1.1) @@ -29,7 +29,7 @@ (func $update_state_async (param $param f64) (result i32) (call $sleep_async (f64.sub (f64.const 1.1) (local.get $param))) ) - ;; CHECK: (func $update_state_sync (type $f64_=>_i32) (param $param f64) (result i32) + ;; CHECK: (func $update_state_sync (type $0) (param $param f64) (result i32) ;; CHECK-NEXT: (call $sleep_sync ;; CHECK-NEXT: (f64.sub ;; CHECK-NEXT: (f64.const 1.1) @@ -41,7 +41,7 @@ (call $sleep_sync (f64.sub (f64.const 1.1) (local.get $param))) ) ) -;; CHECK: (func $export$update_state_async (type $externref_f64_=>_i32) (param $susp externref) (param $param f64) (result i32) +;; CHECK: (func $export$update_state_async (type $1) (param $susp externref) (param $param f64) (result i32) ;; CHECK-NEXT: (global.set $suspender ;; CHECK-NEXT: (local.get $susp) ;; CHECK-NEXT: ) @@ -50,7 +50,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) -;; CHECK: (func $sleep_async (type $f64_=>_i32) (param $0 f64) (result i32) +;; CHECK: (func $sleep_async (type $0) (param $0 f64) (result i32) ;; CHECK-NEXT: (local $1 externref) ;; CHECK-NEXT: (local $2 i32) ;; CHECK-NEXT: (local.set $1 diff --git a/test/lit/passes/jspi-split-module.wast b/test/lit/passes/jspi-split-module.wast index 9bda495c6..e14e508bf 100644 --- a/test/lit/passes/jspi-split-module.wast +++ b/test/lit/passes/jspi-split-module.wast @@ -6,17 +6,17 @@ ;; - JSPI'ed version of the import ;; - export of the above (module) -;; CHECK: (type $none_=>_none (func)) +;; CHECK: (type $0 (func)) -;; CHECK: (type $externref_=>_none (func (param externref))) +;; CHECK: (type $1 (func (param externref))) -;; CHECK: (import "env" "__load_secondary_module" (func $import$__load_secondary_module (type $externref_=>_none) (param externref))) +;; CHECK: (import "env" "__load_secondary_module" (func $import$__load_secondary_module (type $1) (param externref))) ;; CHECK: (global $suspender (mut externref) (ref.null noextern)) ;; CHECK: (export "__load_secondary_module" (func $__load_secondary_module)) -;; CHECK: (func $__load_secondary_module (type $none_=>_none) +;; CHECK: (func $__load_secondary_module (type $0) ;; CHECK-NEXT: (local $0 externref) ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (global.get $suspender) diff --git a/test/lit/passes/jspi-table.wast b/test/lit/passes/jspi-table.wast index 4d62c9876..526b0a4b7 100644 --- a/test/lit/passes/jspi-table.wast +++ b/test/lit/passes/jspi-table.wast @@ -3,9 +3,9 @@ ;; RUN: wasm-opt %s --jspi -all -S -o - | filecheck %s (module - ;; CHECK: (type $f64_=>_i32 (func (param f64) (result i32))) + ;; CHECK: (type $0 (func (param f64) (result i32))) - ;; CHECK: (type $externref_f64_=>_i32 (func (param externref f64) (result i32))) + ;; CHECK: (type $1 (func (param externref f64) (result i32))) ;; CHECK: (global $suspender (mut externref) (ref.null noextern)) @@ -17,14 +17,14 @@ ;; CHECK: (export "update_state" (func $export$update_state)) (export "update_state" (func $update_state)) - ;; CHECK: (func $update_state (type $f64_=>_i32) (param $param f64) (result i32) + ;; CHECK: (func $update_state (type $0) (param $param f64) (result i32) ;; CHECK-NEXT: (i32.const 42) ;; CHECK-NEXT: ) (func $update_state (param $param f64) (result i32) (i32.const 42) ) ) -;; CHECK: (func $export$update_state (type $externref_f64_=>_i32) (param $susp externref) (param $param f64) (result i32) +;; CHECK: (func $export$update_state (type $1) (param $susp externref) (param $param f64) (result i32) ;; CHECK-NEXT: (global.set $suspender ;; CHECK-NEXT: (local.get $susp) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/jspi.wast b/test/lit/passes/jspi.wast index f13c7aa77..780a54ccb 100644 --- a/test/lit/passes/jspi.wast +++ b/test/lit/passes/jspi.wast @@ -4,25 +4,25 @@ (module - ;; CHECK: (type $externref_f64_=>_i32 (func (param externref f64) (result i32))) + ;; CHECK: (type $0 (func (param externref f64) (result i32))) - ;; CHECK: (type $f64_=>_i32 (func (param f64) (result i32))) + ;; CHECK: (type $1 (func (param f64) (result i32))) - ;; CHECK: (type $externref_i32_=>_i32 (func (param externref i32) (result i32))) + ;; CHECK: (type $2 (func (param externref i32) (result i32))) - ;; CHECK: (type $f64_=>_none (func (param f64))) + ;; CHECK: (type $3 (func (param f64))) - ;; CHECK: (type $i32_=>_i32 (func (param i32) (result i32))) + ;; CHECK: (type $4 (func (param i32) (result i32))) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $5 (func (param i32))) - ;; CHECK: (type $externref_i32_=>_none (func (param externref i32))) + ;; CHECK: (type $6 (func (param externref i32))) - ;; CHECK: (import "js" "compute_delta" (func $import$compute_delta (type $externref_f64_=>_i32) (param externref f64) (result i32))) + ;; CHECK: (import "js" "compute_delta" (func $import$compute_delta (type $0) (param externref f64) (result i32))) (import "js" "compute_delta" (func $compute_delta (param f64) (result i32))) - ;; CHECK: (import "js" "import_and_export" (func $import$import_and_export (type $externref_i32_=>_i32) (param externref i32) (result i32))) + ;; CHECK: (import "js" "import_and_export" (func $import$import_and_export (type $2) (param externref i32) (result i32))) (import "js" "import_and_export" (func $import_and_export (param i32) (result i32))) - ;; CHECK: (import "js" "import_void_return" (func $import$import_void_return (type $externref_i32_=>_none) (param externref i32))) + ;; CHECK: (import "js" "import_void_return" (func $import$import_void_return (type $6) (param externref i32))) (import "js" "import_void_return" (func $import_void_return (param i32))) ;; CHECK: (global $suspender (mut externref) (ref.null noextern)) @@ -41,7 +41,7 @@ (export "import_and_export" (func $import_and_export)) - ;; CHECK: (func $update_state (type $f64_=>_i32) (param $param f64) (result i32) + ;; CHECK: (func $update_state (type $1) (param $param f64) (result i32) ;; CHECK-NEXT: (call $compute_delta ;; CHECK-NEXT: (f64.sub ;; CHECK-NEXT: (f64.const 1.1) @@ -53,7 +53,7 @@ (call $compute_delta (f64.sub (f64.const 1.1) (local.get $param))) ) - ;; CHECK: (func $update_state_void (type $f64_=>_none) (param $0 f64) + ;; CHECK: (func $update_state_void (type $3) (param $0 f64) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $compute_delta ;; CHECK-NEXT: (f64.const 1.1) @@ -66,7 +66,7 @@ (drop (call $compute_delta (f64.const 1.1))) ) - ;; CHECK: (func $update_state_param_collision (type $f64_=>_i32) (param $susp f64) (result i32) + ;; CHECK: (func $update_state_param_collision (type $1) (param $susp f64) (result i32) ;; CHECK-NEXT: (call $update_state_param_collision ;; CHECK-NEXT: (f64.sub ;; CHECK-NEXT: (f64.const 1.1) @@ -78,7 +78,7 @@ (call $update_state_param_collision (f64.sub (f64.const 1.1) (local.get $susp))) ) ) -;; CHECK: (func $export$update_state_void (type $externref_f64_=>_i32) (param $susp externref) (param $0 f64) (result i32) +;; CHECK: (func $export$update_state_void (type $0) (param $susp externref) (param $0 f64) (result i32) ;; CHECK-NEXT: (global.set $suspender ;; CHECK-NEXT: (local.get $susp) ;; CHECK-NEXT: ) @@ -88,7 +88,7 @@ ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) -;; CHECK: (func $export$update_state (type $externref_f64_=>_i32) (param $susp externref) (param $param f64) (result i32) +;; CHECK: (func $export$update_state (type $0) (param $susp externref) (param $param f64) (result i32) ;; CHECK-NEXT: (global.set $suspender ;; CHECK-NEXT: (local.get $susp) ;; CHECK-NEXT: ) @@ -97,7 +97,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) -;; CHECK: (func $export$update_state_param_collision (type $externref_f64_=>_i32) (param $susp_1 externref) (param $susp f64) (result i32) +;; CHECK: (func $export$update_state_param_collision (type $0) (param $susp_1 externref) (param $susp f64) (result i32) ;; CHECK-NEXT: (global.set $suspender ;; CHECK-NEXT: (local.get $susp_1) ;; CHECK-NEXT: ) @@ -106,7 +106,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) -;; CHECK: (func $export$import_and_export (type $externref_i32_=>_i32) (param $susp externref) (param $0 i32) (result i32) +;; CHECK: (func $export$import_and_export (type $2) (param $susp externref) (param $0 i32) (result i32) ;; CHECK-NEXT: (global.set $suspender ;; CHECK-NEXT: (local.get $susp) ;; CHECK-NEXT: ) @@ -115,7 +115,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) -;; CHECK: (func $compute_delta (type $f64_=>_i32) (param $0 f64) (result i32) +;; CHECK: (func $compute_delta (type $1) (param $0 f64) (result i32) ;; CHECK-NEXT: (local $1 externref) ;; CHECK-NEXT: (local $2 i32) ;; CHECK-NEXT: (local.set $1 @@ -133,7 +133,7 @@ ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) -;; CHECK: (func $import_and_export (type $i32_=>_i32) (param $0 i32) (result i32) +;; CHECK: (func $import_and_export (type $4) (param $0 i32) (result i32) ;; CHECK-NEXT: (local $1 externref) ;; CHECK-NEXT: (local $2 i32) ;; CHECK-NEXT: (local.set $1 @@ -151,7 +151,7 @@ ;; CHECK-NEXT: (local.get $2) ;; CHECK-NEXT: ) -;; CHECK: (func $import_void_return (type $i32_=>_none) (param $0 i32) +;; CHECK: (func $import_void_return (type $5) (param $0 i32) ;; CHECK-NEXT: (local $1 externref) ;; CHECK-NEXT: (local.set $1 ;; CHECK-NEXT: (global.get $suspender) diff --git a/test/lit/passes/legalize-js-interface-exported-helpers.wast b/test/lit/passes/legalize-js-interface-exported-helpers.wast index 253c3a5a7..35271ee84 100644 --- a/test/lit/passes/legalize-js-interface-exported-helpers.wast +++ b/test/lit/passes/legalize-js-interface-exported-helpers.wast @@ -6,11 +6,11 @@ ;; RUN: wasm-opt %s --legalize-js-interface --pass-arg=legalize-js-interface-exported-helpers -S -o - | filecheck %s (module - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $0 (func (result i32))) - ;; CHECK: (type $none_=>_i64 (func (result i64))) + ;; CHECK: (type $1 (func (result i64))) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $2 (func (param i32))) ;; CHECK: (import "env" "imported" (func $legalimport$imported (result i32))) diff --git a/test/lit/passes/legalize-js-interface-minimally.wast b/test/lit/passes/legalize-js-interface-minimally.wast index 6c2c47136..76bed505c 100644 --- a/test/lit/passes/legalize-js-interface-minimally.wast +++ b/test/lit/passes/legalize-js-interface-minimally.wast @@ -4,15 +4,15 @@ ;; RUN: foreach %s %t wasm-opt --legalize-js-interface-minimally -S -o - | filecheck %s (module - ;; CHECK: (type $none_=>_i64 (func (result i64))) + ;; CHECK: (type $0 (func (result i64))) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $1 (func (param i32))) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $2 (func (result i32))) - ;; CHECK: (type $i64_=>_none (func (param i64))) + ;; CHECK: (type $3 (func (param i64))) - ;; CHECK: (type $i32_i32_=>_none (func (param i32 i32))) + ;; CHECK: (type $4 (func (param i32 i32))) ;; CHECK: (import "env" "imported" (func $imported (result i64))) (import "env" "imported" (func $imported (result i64))) diff --git a/test/lit/passes/legalize-js-interface_all-features.wast b/test/lit/passes/legalize-js-interface_all-features.wast index fc33d5141..6afd2bc20 100644 --- a/test/lit/passes/legalize-js-interface_all-features.wast +++ b/test/lit/passes/legalize-js-interface_all-features.wast @@ -4,27 +4,27 @@ ;; RUN: foreach %s %t wasm-opt --legalize-js-interface --all-features -S -o - | filecheck %s (module - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $0 (func (result i32))) - ;; CHECK: (type $none_=>_i64 (func (result i64))) + ;; CHECK: (type $1 (func (result i64))) - ;; CHECK: (type $i32_i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32 i32))) + ;; CHECK: (type $2 (func (param i32 i32 i32 i32 i32))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $3 (func)) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $4 (func (param i32))) - ;; CHECK: (type $i32_i64_i64_=>_none (func (param i32 i64 i64))) + ;; CHECK: (type $5 (func (param i32 i64 i64))) - ;; CHECK: (import "env" "setTempRet0" (func $setTempRet0 (type $i32_=>_none) (param i32))) + ;; CHECK: (import "env" "setTempRet0" (func $setTempRet0 (type $4) (param i32))) (import "env" "imported" (func $imported (result i64))) - ;; CHECK: (import "env" "getTempRet0" (func $getTempRet0 (type $none_=>_i32) (result i32))) + ;; CHECK: (import "env" "getTempRet0" (func $getTempRet0 (type $0) (result i32))) (import "env" "other" (func $other (param i32) (param i64) (param i64))) - ;; CHECK: (import "env" "imported" (func $legalimport$imported (type $none_=>_i32) (result i32))) + ;; CHECK: (import "env" "imported" (func $legalimport$imported (type $0) (result i32))) (import "env" "ref-func-arg" (func $ref-func-arg (result i64))) - ;; CHECK: (import "env" "other" (func $legalimport$other (type $i32_i32_i32_i32_i32_=>_none) (param i32 i32 i32 i32 i32))) + ;; CHECK: (import "env" "other" (func $legalimport$other (type $2) (param i32 i32 i32 i32 i32))) - ;; CHECK: (import "env" "ref-func-arg" (func $legalimport$ref-func-arg (type $none_=>_i32) (result i32))) + ;; CHECK: (import "env" "ref-func-arg" (func $legalimport$ref-func-arg (type $0) (result i32))) ;; CHECK: (elem declare func $legalfunc$ref-func-arg) @@ -38,7 +38,7 @@ (export "imported_again" (func $imported)) ;; CHECK: (export "other" (func $legalstub$other)) (export "other" (func $other)) - ;; CHECK: (func $func (type $none_=>_i64) (result i64) + ;; CHECK: (func $func (type $1) (result i64) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $legalfunc$imported) ;; CHECK-NEXT: ) @@ -60,7 +60,7 @@ ) ;; ref.func must also be updated. - ;; CHECK: (func $ref-func-test (type $none_=>_none) + ;; CHECK: (func $ref-func-test (type $3) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $legalfunc$ref-func-arg) ;; CHECK-NEXT: ) @@ -77,7 +77,7 @@ ) ) ) -;; CHECK: (func $legalstub$func (type $none_=>_i32) (result i32) +;; CHECK: (func $legalstub$func (type $0) (result i32) ;; CHECK-NEXT: (local $0 i64) ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (call $func) @@ -95,7 +95,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) -;; CHECK: (func $legalstub$imported (type $none_=>_i32) (result i32) +;; CHECK: (func $legalstub$imported (type $0) (result i32) ;; CHECK-NEXT: (local $0 i64) ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (call $legalfunc$imported) @@ -113,7 +113,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) -;; CHECK: (func $legalstub$other (type $i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) +;; CHECK: (func $legalstub$other (type $2) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) ;; CHECK-NEXT: (call $legalfunc$other ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i64.or @@ -141,7 +141,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) -;; CHECK: (func $legalfunc$imported (type $none_=>_i64) (result i64) +;; CHECK: (func $legalfunc$imported (type $1) (result i64) ;; CHECK-NEXT: (i64.or ;; CHECK-NEXT: (i64.extend_i32_u ;; CHECK-NEXT: (call $legalimport$imported) @@ -155,7 +155,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) -;; CHECK: (func $legalfunc$other (type $i32_i64_i64_=>_none) (param $0 i32) (param $1 i64) (param $2 i64) +;; CHECK: (func $legalfunc$other (type $5) (param $0 i32) (param $1 i64) (param $2 i64) ;; CHECK-NEXT: (call $legalimport$other ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.wrap_i64 @@ -179,7 +179,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) -;; CHECK: (func $legalfunc$ref-func-arg (type $none_=>_i64) (result i64) +;; CHECK: (func $legalfunc$ref-func-arg (type $1) (result i64) ;; CHECK-NEXT: (i64.or ;; CHECK-NEXT: (i64.extend_i32_u ;; CHECK-NEXT: (call $legalimport$ref-func-arg) diff --git a/test/lit/passes/legalize-js-interface_pass-arg=legalize-js-interface-export-originals.wast b/test/lit/passes/legalize-js-interface_pass-arg=legalize-js-interface-export-originals.wast index abf6aa1da..ba9db7ee5 100644 --- a/test/lit/passes/legalize-js-interface_pass-arg=legalize-js-interface-export-originals.wast +++ b/test/lit/passes/legalize-js-interface_pass-arg=legalize-js-interface-export-originals.wast @@ -4,11 +4,11 @@ ;; RUN: foreach %s %t wasm-opt --legalize-js-interface --pass-arg=legalize-js-interface-export-originals -S -o - | filecheck %s (module - ;; CHECK: (type $none_=>_i64 (func (result i64))) + ;; CHECK: (type $0 (func (result i64))) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $1 (func (param i32))) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $2 (func (result i32))) ;; CHECK: (import "env" "setTempRet0" (func $setTempRet0 (param i32))) diff --git a/test/lit/passes/local-cse.wast b/test/lit/passes/local-cse.wast index b3f32fddc..a5e90adf1 100644 --- a/test/lit/passes/local-cse.wast +++ b/test/lit/passes/local-cse.wast @@ -5,11 +5,11 @@ (module (memory 100 100) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (type $i32_=>_i32 (func (param i32) (result i32))) + ;; CHECK: (type $1 (func (param i32) (result i32))) - ;; CHECK: (type $none_=>_i64 (func (result i64))) + ;; CHECK: (type $2 (func (result i64))) ;; CHECK: (memory $0 100 100) @@ -438,7 +438,7 @@ ) (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (global $glob (mut i32) (i32.const 1)) (global $glob (mut i32) (i32.const 1)) diff --git a/test/lit/passes/local-cse_all-features.wast b/test/lit/passes/local-cse_all-features.wast index 6fed86f29..cbd5c68c2 100644 --- a/test/lit/passes/local-cse_all-features.wast +++ b/test/lit/passes/local-cse_all-features.wast @@ -7,7 +7,7 @@ ;; CHECK: (type $f (func (param i32) (result i32))) (type $f (func (param i32) (result i32))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) ;; CHECK: (elem declare func $calls $ref.func) @@ -37,7 +37,7 @@ (i32.const 20) ) - ;; CHECK: (func $ref.func (type $none_=>_none) + ;; CHECK: (func $ref.func (type $1) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.func $ref.func) ;; CHECK-NEXT: ) @@ -65,15 +65,15 @@ (type $B (array (mut i32))) - ;; CHECK: (type $ref|$A|_=>_none (func (param (ref $A)))) + ;; CHECK: (type $2 (func (param (ref $A)))) - ;; CHECK: (type $ref?|$A|_=>_none (func (param (ref null $A)))) + ;; CHECK: (type $3 (func (param (ref null $A)))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $4 (func)) - ;; CHECK: (type $ref?|$B|_ref|$A|_=>_none (func (param (ref null $B) (ref $A)))) + ;; CHECK: (type $5 (func (param (ref null $B) (ref $A)))) - ;; CHECK: (func $struct-gets-nullable (type $ref?|$A|_=>_none) (param $ref (ref null $A)) + ;; CHECK: (func $struct-gets-nullable (type $3) (param $ref (ref null $A)) ;; CHECK-NEXT: (local $1 i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.tee $1 @@ -110,7 +110,7 @@ ) ) - ;; CHECK: (func $struct-gets (type $ref|$A|_=>_none) (param $ref (ref $A)) + ;; CHECK: (func $struct-gets (type $2) (param $ref (ref $A)) ;; CHECK-NEXT: (local $1 i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.tee $1 @@ -148,7 +148,7 @@ ) ) - ;; CHECK: (func $non-nullable-value (type $ref|$A|_=>_none) (param $ref (ref $A)) + ;; CHECK: (func $non-nullable-value (type $2) (param $ref (ref $A)) ;; CHECK-NEXT: (local $1 (ref $A)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.tee $1 @@ -182,7 +182,7 @@ ) ) - ;; CHECK: (func $creations (type $none_=>_none) + ;; CHECK: (func $creations (type $4) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $A ;; CHECK-NEXT: (i32.const 1) @@ -233,7 +233,7 @@ ) ) - ;; CHECK: (func $structs-and-arrays-do-not-alias (type $ref?|$B|_ref|$A|_=>_none) (param $array (ref null $B)) (param $struct (ref $A)) + ;; CHECK: (func $structs-and-arrays-do-not-alias (type $5) (param $array (ref null $B)) (param $struct (ref $A)) ;; CHECK-NEXT: (local $2 i32) ;; CHECK-NEXT: (array.set $B ;; CHECK-NEXT: (local.get $array) @@ -287,9 +287,9 @@ ;; Real-world testcase from AssemblyScript, containing multiple nested things ;; that can be optimized. The inputs to the add (the xors) are identical, and ;; we can avoid repeating them. - ;; CHECK: (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) + ;; CHECK: (type $0 (func (param i32 i32) (result i32))) - ;; CHECK: (func $div16_internal (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + ;; CHECK: (func $div16_internal (type $0) (param $0 i32) (param $1 i32) (result i32) ;; CHECK-NEXT: (local $2 i32) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (local.tee $2 diff --git a/test/lit/passes/local-subtyping-nn.wast b/test/lit/passes/local-subtyping-nn.wast index fc2009b21..c017fb35b 100644 --- a/test/lit/passes/local-subtyping-nn.wast +++ b/test/lit/passes/local-subtyping-nn.wast @@ -5,12 +5,12 @@ (module (type $struct (struct)) - ;; CHECK: (import "out" "i32" (func $i32 (type $none_=>_i32) (result i32))) + ;; CHECK: (import "out" "i32" (func $i32 (type $0) (result i32))) (import "out" "i32" (func $i32 (result i32))) - ;; CHECK: (func $non-nullable (type $none_=>_none) + ;; CHECK: (func $non-nullable (type $1) ;; CHECK-NEXT: (local $x (ref none)) - ;; CHECK-NEXT: (local $y (ref $none_=>_i32)) + ;; CHECK-NEXT: (local $y (ref $0)) ;; CHECK-NEXT: (local.set $x ;; CHECK-NEXT: (ref.as_non_null ;; CHECK-NEXT: (ref.null none) @@ -41,7 +41,7 @@ ) ) - ;; CHECK: (func $uses-default (type $i32_=>_none) (param $i i32) + ;; CHECK: (func $uses-default (type $2) (param $i i32) ;; CHECK-NEXT: (local $x nullref) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $i) diff --git a/test/lit/passes/local-subtyping.wast b/test/lit/passes/local-subtyping.wast index 034606cb0..c5f3f408a 100644 --- a/test/lit/passes/local-subtyping.wast +++ b/test/lit/passes/local-subtyping.wast @@ -19,14 +19,14 @@ ;; CHECK: (type $ret-i31 (sub $ret-any (func (result i31ref)))) (type $ret-i31 (sub $ret-any (func (result i31ref)))) - ;; CHECK: (import "out" "i32" (func $i32 (type $none_=>_i32) (result i32))) + ;; CHECK: (import "out" "i32" (func $i32 (type $1) (result i32))) (import "out" "i32" (func $i32 (result i32))) - ;; CHECK: (import "out" "i64" (func $i64 (type $none_=>_i64) (result i64))) + ;; CHECK: (import "out" "i64" (func $i64 (type $6) (result i64))) (import "out" "i64" (func $i64 (result i64))) ;; Refinalization can find a more specific type, where the declared type was ;; not the optimal LUB. - ;; CHECK: (func $refinalize (type $i32_=>_none) (param $x i32) + ;; CHECK: (func $refinalize (type $2) (param $x i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (if (result (ref i31)) ;; CHECK-NEXT: (local.get $x) @@ -72,8 +72,8 @@ ;; A simple case where a local has a single assignment that we can use as a ;; more specific type. A similar thing with a parameter, however, is not a ;; thing we can optimize. Also, ignore a local with zero assignments. - ;; CHECK: (func $simple-local-but-not-param (type $funcref_=>_none) (param $x funcref) - ;; CHECK-NEXT: (local $y (ref $none_=>_i32)) + ;; CHECK: (func $simple-local-but-not-param (type $7) (param $x funcref) + ;; CHECK-NEXT: (local $y (ref $1)) ;; CHECK-NEXT: (local $unused funcref) ;; CHECK-NEXT: (local.set $x ;; CHECK-NEXT: (ref.func $i32) @@ -93,7 +93,7 @@ ) ) - ;; CHECK: (func $locals-with-multiple-assignments (type $structref_=>_none) (param $struct structref) + ;; CHECK: (func $locals-with-multiple-assignments (type $8) (param $struct structref) ;; CHECK-NEXT: (local $x eqref) ;; CHECK-NEXT: (local $y (ref i31)) ;; CHECK-NEXT: (local $z structref) @@ -167,10 +167,10 @@ ;; In some cases multiple iterations are necessary, as one inferred new type ;; applies to a get which then allows another inference. - ;; CHECK: (func $multiple-iterations (type $none_=>_none) - ;; CHECK-NEXT: (local $x (ref $none_=>_i32)) - ;; CHECK-NEXT: (local $y (ref $none_=>_i32)) - ;; CHECK-NEXT: (local $z (ref $none_=>_i32)) + ;; CHECK: (func $multiple-iterations (type $0) + ;; CHECK-NEXT: (local $x (ref $1)) + ;; CHECK-NEXT: (local $y (ref $1)) + ;; CHECK-NEXT: (local $z (ref $1)) ;; CHECK-NEXT: (local.set $x ;; CHECK-NEXT: (ref.func $i32) ;; CHECK-NEXT: ) @@ -197,9 +197,9 @@ ) ;; Sometimes a refinalize is necessary in between the iterations. - ;; CHECK: (func $multiple-iterations-refinalize (type $i32_=>_none) (param $i i32) - ;; CHECK-NEXT: (local $x (ref $none_=>_i32)) - ;; CHECK-NEXT: (local $y (ref $none_=>_i64)) + ;; CHECK: (func $multiple-iterations-refinalize (type $2) (param $i i32) + ;; CHECK-NEXT: (local $x (ref $1)) + ;; CHECK-NEXT: (local $y (ref $6)) ;; CHECK-NEXT: (local $z (ref func)) ;; CHECK-NEXT: (local.set $x ;; CHECK-NEXT: (ref.func $i32) @@ -234,7 +234,7 @@ ) ) - ;; CHECK: (func $multiple-iterations-refinalize-call-ref (type $none_=>_none) + ;; CHECK: (func $multiple-iterations-refinalize-call-ref (type $0) ;; CHECK-NEXT: (local $f (ref $ret-i31)) ;; CHECK-NEXT: (local $x i31ref) ;; CHECK-NEXT: (local.set $f @@ -261,7 +261,7 @@ ) ) - ;; CHECK: (func $multiple-iterations-refinalize-call-ref-bottom (type $none_=>_none) + ;; CHECK: (func $multiple-iterations-refinalize-call-ref-bottom (type $0) ;; CHECK-NEXT: (local $f nullfuncref) ;; CHECK-NEXT: (local $x anyref) ;; CHECK-NEXT: (local.set $f @@ -299,7 +299,7 @@ (unreachable) ) - ;; CHECK: (func $nondefaultable (type $none_=>_none) + ;; CHECK: (func $nondefaultable (type $0) ;; CHECK-NEXT: (local $x (funcref funcref)) ;; CHECK-NEXT: (local.set $x ;; CHECK-NEXT: (tuple.make @@ -320,8 +320,8 @@ ) ) - ;; CHECK: (func $uses-default (type $i32_=>_none) (param $i i32) - ;; CHECK-NEXT: (local $x (ref null $i32_=>_none)) + ;; CHECK: (func $uses-default (type $2) (param $i i32) + ;; CHECK-NEXT: (local $x (ref null $2)) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $i) ;; CHECK-NEXT: (local.set $x @@ -346,14 +346,14 @@ ) ) - ;; CHECK: (func $unreachables (type $none_=>_funcref) (result funcref) - ;; CHECK-NEXT: (local $temp (ref $none_=>_funcref)) + ;; CHECK: (func $unreachables (type $3) (result funcref) + ;; CHECK-NEXT: (local $temp (ref $3)) ;; CHECK-NEXT: (local.set $temp ;; CHECK-NEXT: (ref.func $unreachables) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (drop - ;; CHECK-NEXT: (block (result (ref $none_=>_funcref)) + ;; CHECK-NEXT: (block (result (ref $3)) ;; CHECK-NEXT: (local.tee $temp ;; CHECK-NEXT: (ref.func $unreachables) ;; CHECK-NEXT: ) @@ -381,8 +381,8 @@ (local.get $temp) ) - ;; CHECK: (func $incompatible-sets (type $none_=>_i32) (result i32) - ;; CHECK-NEXT: (local $temp (ref $none_=>_i32)) + ;; CHECK: (func $incompatible-sets (type $1) (result i32) + ;; CHECK-NEXT: (local $temp (ref $1)) ;; CHECK-NEXT: (local.set $temp ;; CHECK-NEXT: (ref.func $incompatible-sets) ;; CHECK-NEXT: ) @@ -430,8 +430,8 @@ (unreachable) ) - ;; CHECK: (func $become-non-nullable (type $none_=>_none) - ;; CHECK-NEXT: (local $x (ref $none_=>_none)) + ;; CHECK: (func $become-non-nullable (type $0) + ;; CHECK-NEXT: (local $x (ref $0)) ;; CHECK-NEXT: (local.set $x ;; CHECK-NEXT: (ref.func $become-non-nullable) ;; CHECK-NEXT: ) @@ -449,8 +449,8 @@ ) ) - ;; CHECK: (func $already-non-nullable (type $none_=>_none) - ;; CHECK-NEXT: (local $x (ref $none_=>_none)) + ;; CHECK: (func $already-non-nullable (type $0) + ;; CHECK-NEXT: (local $x (ref $0)) ;; CHECK-NEXT: (local.set $x ;; CHECK-NEXT: (ref.func $already-non-nullable) ;; CHECK-NEXT: ) @@ -468,8 +468,8 @@ ) ) - ;; CHECK: (func $cannot-become-non-nullable (type $none_=>_none) - ;; CHECK-NEXT: (local $x (ref null $none_=>_none)) + ;; CHECK: (func $cannot-become-non-nullable (type $0) + ;; CHECK-NEXT: (local $x (ref null $0)) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: (local.set $x @@ -496,8 +496,8 @@ ) ) - ;; CHECK: (func $cannot-become-non-nullable-block (type $none_=>_none) - ;; CHECK-NEXT: (local $x (ref null $none_=>_none)) + ;; CHECK: (func $cannot-become-non-nullable-block (type $0) + ;; CHECK-NEXT: (local $x (ref null $0)) ;; CHECK-NEXT: (block $name ;; CHECK-NEXT: (br_if $name ;; CHECK-NEXT: (i32.const 1) @@ -527,8 +527,8 @@ ) ) - ;; CHECK: (func $become-non-nullable-block-unnamed (type $none_=>_none) - ;; CHECK-NEXT: (local $x (ref $none_=>_none)) + ;; CHECK: (func $become-non-nullable-block-unnamed (type $0) + ;; CHECK-NEXT: (local $x (ref $0)) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $x ;; CHECK-NEXT: (ref.func $become-non-nullable) diff --git a/test/lit/passes/memory-packing-gc.wast b/test/lit/passes/memory-packing-gc.wast index 547dec807..516ba5d1c 100644 --- a/test/lit/passes/memory-packing-gc.wast +++ b/test/lit/passes/memory-packing-gc.wast @@ -10,11 +10,11 @@ (data "hello") - ;; CHECK: (type $none_=>_ref|$array| (func (result (ref $array)))) + ;; CHECK: (type $1 (func (result (ref $array)))) ;; CHECK: (data $0 "hello") - ;; CHECK: (func $array-new-data (type $none_=>_ref|$array|) (result (ref $array)) + ;; CHECK: (func $array-new-data (type $1) (result (ref $array)) ;; CHECK-NEXT: (array.new_data $array $0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 5) @@ -35,11 +35,11 @@ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00hello\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - ;; CHECK: (type $none_=>_ref|$array| (func (result (ref $array)))) + ;; CHECK: (type $1 (func (result (ref $array)))) ;; CHECK: (data $0 "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00hello\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - ;; CHECK: (func $no-drop-ends (type $none_=>_ref|$array|) (result (ref $array)) + ;; CHECK: (func $no-drop-ends (type $1) (result (ref $array)) ;; CHECK-NEXT: (array.new_data $array $0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 5) @@ -58,7 +58,7 @@ ;; CHECK: (type $array (array i8)) (type $array (array i8)) - ;; CHECK: (type $none_=>_ref|$array| (func (result (ref $array)))) + ;; CHECK: (type $1 (func (result (ref $array)))) ;; CHECK: (memory $mem 1 1) (memory $mem 1 1) @@ -67,7 +67,7 @@ ;; CHECK: (data $0 "optimize\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00me") - ;; CHECK: (func $no-split (type $none_=>_ref|$array|) (result (ref $array)) + ;; CHECK: (func $no-split (type $1) (result (ref $array)) ;; CHECK-NEXT: (array.new_data $array $0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 8) @@ -86,7 +86,7 @@ ;; CHECK: (type $array (array i8)) (type $array (array i8)) - ;; CHECK: (type $none_=>_ref|$array| (func (result (ref $array)))) + ;; CHECK: (type $1 (func (result (ref $array)))) ;; CHECK: (memory $mem 1 1) (memory $mem 1 1) @@ -95,7 +95,7 @@ ;; CHECK: (data $0 (i32.const 0) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00optimize\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00me\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - ;; CHECK: (func $no-split-active (type $none_=>_ref|$array|) (result (ref $array)) + ;; CHECK: (func $no-split-active (type $1) (result (ref $array)) ;; CHECK-NEXT: (array.new_data $array $0 ;; CHECK-NEXT: (i32.const 16) ;; CHECK-NEXT: (i32.const 8) @@ -119,7 +119,7 @@ (data "but not\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00me") - ;; CHECK: (type $none_=>_ref|$array| (func (result (ref $array)))) + ;; CHECK: (type $1 (func (result (ref $array)))) ;; CHECK: (memory $mem 1 1) (memory $mem 1 1) @@ -130,7 +130,7 @@ ;; CHECK: (data $1 "but not\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00me") - ;; CHECK: (func $renumber-segment (type $none_=>_ref|$array|) (result (ref $array)) + ;; CHECK: (func $renumber-segment (type $1) (result (ref $array)) ;; CHECK-NEXT: (array.new_data $array $1 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 7) @@ -153,14 +153,14 @@ (data "but not\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00me") - ;; CHECK: (type $none_=>_ref|$array| (func (result (ref $array)))) + ;; CHECK: (type $1 (func (result (ref $array)))) ;; CHECK: (memory $mem 1 1) (memory $mem 1 1) ;; CHECK: (data $1 "but not\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00me") - ;; CHECK: (func $renumber-segment (type $none_=>_ref|$array|) (result (ref $array)) + ;; CHECK: (func $renumber-segment (type $1) (result (ref $array)) ;; CHECK-NEXT: (array.new_data $array $1 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 7) diff --git a/test/lit/passes/memory-packing_all-features.wast b/test/lit/passes/memory-packing_all-features.wast index 29592f107..dfcf5ce53 100644 --- a/test/lit/passes/memory-packing_all-features.wast +++ b/test/lit/passes/memory-packing_all-features.wast @@ -43,7 +43,7 @@ (data (i32.const 4000) "zeros\00in\00the\00middle\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00nice skip here\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00another\00but no") - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (memory $0 1 1) @@ -61,7 +61,7 @@ ;; CHECK: (data $3.2 (i32.const 4066) "another\00but no") - ;; CHECK: (func $nonzero-size-init-of-active-will-trap (type $none_=>_none) + ;; CHECK: (func $nonzero-size-init-of-active-will-trap (type $0) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.const 42) @@ -85,7 +85,7 @@ (data.drop 0) ) - ;; CHECK: (func $nonzero-offset-init-of-active-will-trap (type $none_=>_none) + ;; CHECK: (func $nonzero-offset-init-of-active-will-trap (type $0) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.const 42) @@ -109,7 +109,7 @@ (data.drop 0) ) - ;; CHECK: (func $zero-offset-size-init-of-active-may-trap (type $none_=>_none) + ;; CHECK: (func $zero-offset-size-init-of-active-may-trap (type $0) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u ;; CHECK-NEXT: (i32.const 42) @@ -133,7 +133,7 @@ ) (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (global $__mem_segment_drop_state (mut i32) (i32.const 0)) @@ -182,7 +182,7 @@ ;; CHECK: (data $13 "no zeroes") - ;; CHECK: (func $zeroes-at-start (type $none_=>_none) + ;; CHECK: (func $zeroes-at-start (type $0) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (global.get $__mem_segment_drop_state) @@ -218,7 +218,7 @@ ;; the not-split tests have too many memory.init and data.drop instructions for splitting to be worth it (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes at start") ;; 2 - ;; CHECK: (func $zeroes-at-start-not-split (type $none_=>_none) + ;; CHECK: (func $zeroes-at-start-not-split (type $0) ;; CHECK-NEXT: (memory.init $2 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) @@ -267,7 +267,7 @@ (data "\00\00\00few zeroes at start") ;; 3 - ;; CHECK: (func $few-zeroes-at-start (type $none_=>_none) + ;; CHECK: (func $few-zeroes-at-start (type $0) ;; CHECK-NEXT: (memory.init $3 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) @@ -286,7 +286,7 @@ (data "zeroes at end\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 4 - ;; CHECK: (func $zeroes-at-end (type $none_=>_none) + ;; CHECK: (func $zeroes-at-end (type $0) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (memory.init $4 ;; CHECK-NEXT: (i32.const 0) @@ -312,7 +312,7 @@ (data "zeroes at end\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 5 - ;; CHECK: (func $zeroes-at-end-not-split (type $none_=>_none) + ;; CHECK: (func $zeroes-at-end-not-split (type $0) ;; CHECK-NEXT: (memory.init $5 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) @@ -361,7 +361,7 @@ (data "few zeroes at end\00\00\00") ;; 6 - ;; CHECK: (func $few-zeroes-at-end (type $none_=>_none) + ;; CHECK: (func $few-zeroes-at-end (type $0) ;; CHECK-NEXT: (memory.init $6 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) @@ -380,7 +380,7 @@ (data "zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00in middle") ;; 7 - ;; CHECK: (func $zeroes-in-middle (type $none_=>_none) + ;; CHECK: (func $zeroes-in-middle (type $0) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (memory.init $7 ;; CHECK-NEXT: (i32.const 0) @@ -414,7 +414,7 @@ (data "zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00in middle") ;; 8 - ;; CHECK: (func $zeroes-in-middle-not-split (type $none_=>_none) + ;; CHECK: (func $zeroes-in-middle-not-split (type $0) ;; CHECK-NEXT: (memory.init $8 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) @@ -443,7 +443,7 @@ (data "few zeroes\00\00\00in middle") ;; 9 - ;; CHECK: (func $few-zeroes-in-middle (type $none_=>_none) + ;; CHECK: (func $few-zeroes-in-middle (type $0) ;; CHECK-NEXT: (memory.init $9 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) @@ -462,7 +462,7 @@ (data "multiple\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00spans\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00of zeroes") ;; 10 - ;; CHECK: (func $multiple-spans-of-zeroes (type $none_=>_none) + ;; CHECK: (func $multiple-spans-of-zeroes (type $0) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (memory.init $10 ;; CHECK-NEXT: (i32.const 0) @@ -507,7 +507,7 @@ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 11 - ;; CHECK: (func $even-more-zeroes (type $none_=>_none) + ;; CHECK: (func $even-more-zeroes (type $0) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (global.get $__mem_segment_drop_state_1) @@ -569,7 +569,7 @@ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 12 - ;; CHECK: (func $only-zeroes (type $none_=>_none) + ;; CHECK: (func $only-zeroes (type $0) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (global.get $__mem_segment_drop_state_2) @@ -596,7 +596,7 @@ (data "no zeroes") ;; 13 - ;; CHECK: (func $no-zeroes (type $none_=>_none) + ;; CHECK: (func $no-zeroes (type $0) ;; CHECK-NEXT: (memory.init $13 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) @@ -615,7 +615,7 @@ (data "") ;; 14 - ;; CHECK: (func $empty (type $none_=>_none) + ;; CHECK: (func $empty (type $0) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.gt_u ;; CHECK-NEXT: (i32.const 13) @@ -639,7 +639,7 @@ (data "only dropped") ;; 15 - ;; CHECK: (func $only-dropped (type $none_=>_none) + ;; CHECK: (func $only-dropped (type $0) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) @@ -650,7 +650,7 @@ (data "\00\00\00\00\00") ;; 16 - ;; CHECK: (func $only-dropped-zeroes (type $none_=>_none) + ;; CHECK: (func $only-dropped-zeroes (type $0) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) @@ -665,7 +665,7 @@ ) (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (import "env" "param" (global $param i32)) @@ -755,7 +755,7 @@ ;; CHECK: (data $14.2 "zeroes") - ;; CHECK: (func $nonconst-dest (type $none_=>_none) + ;; CHECK: (func $nonconst-dest (type $0) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $0 @@ -839,7 +839,7 @@ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 1 - ;; CHECK: (func $nonconst-offset (type $none_=>_none) + ;; CHECK: (func $nonconst-offset (type $0) ;; CHECK-NEXT: (memory.init $1 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (global.get $param) @@ -858,7 +858,7 @@ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 2 - ;; CHECK: (func $nonconst-size (type $none_=>_none) + ;; CHECK: (func $nonconst-size (type $0) ;; CHECK-NEXT: (memory.init $2 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) @@ -877,7 +877,7 @@ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 3 - ;; CHECK: (func $partial-skip-start (type $none_=>_none) + ;; CHECK: (func $partial-skip-start (type $0) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (global.get $__mem_segment_drop_state_2) @@ -939,7 +939,7 @@ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 4 - ;; CHECK: (func $full-skip-start (type $none_=>_none) + ;; CHECK: (func $full-skip-start (type $0) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (memory.init $4 ;; CHECK-NEXT: (i32.const 0) @@ -989,7 +989,7 @@ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 5 - ;; CHECK: (func $partial-skip-end (type $none_=>_none) + ;; CHECK: (func $partial-skip-end (type $0) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (global.get $__mem_segment_drop_state_3) @@ -1051,7 +1051,7 @@ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 6 - ;; CHECK: (func $full-skip-end (type $none_=>_none) + ;; CHECK: (func $full-skip-end (type $0) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (global.get $__mem_segment_drop_state_4) @@ -1108,7 +1108,7 @@ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 7 - ;; CHECK: (func $slice-zeroes (type $none_=>_none) + ;; CHECK: (func $slice-zeroes (type $0) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (global.get $__mem_segment_drop_state_5) @@ -1140,7 +1140,7 @@ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 8 - ;; CHECK: (func $slice-nonzeroes (type $none_=>_none) + ;; CHECK: (func $slice-nonzeroes (type $0) ;; CHECK-NEXT: (memory.init $8 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) @@ -1163,7 +1163,7 @@ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 9 - ;; CHECK: (func $zero-size (type $none_=>_none) + ;; CHECK: (func $zero-size (type $0) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.gt_u @@ -1197,7 +1197,7 @@ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 10 - ;; CHECK: (func $zero-size-undropped (type $none_=>_none) + ;; CHECK: (func $zero-size-undropped (type $0) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.gt_u @@ -1222,7 +1222,7 @@ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 11 - ;; CHECK: (func $out-of-bounds-offset (type $none_=>_none) + ;; CHECK: (func $out-of-bounds-offset (type $0) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.const 0) @@ -1248,7 +1248,7 @@ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 12 - ;; CHECK: (func $zero-size-out-of-bounds-offset (type $none_=>_none) + ;; CHECK: (func $zero-size-out-of-bounds-offset (type $0) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.const 0) @@ -1274,7 +1274,7 @@ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 13 - ;; CHECK: (func $out-of-bounds-size (type $none_=>_none) + ;; CHECK: (func $out-of-bounds-size (type $0) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.const 0) @@ -1300,7 +1300,7 @@ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 14 - ;; CHECK: (func $zero-size-at-bounds-offset (type $none_=>_none) + ;; CHECK: (func $zero-size-at-bounds-offset (type $0) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.gt_u @@ -1334,7 +1334,7 @@ ) (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (global $__mem_segment_drop_state (mut i32) (i32.const 0)) @@ -1368,7 +1368,7 @@ ;; CHECK: (data $3.1 "hi") - ;; CHECK: (func $zero-length-init-zeroes (type $none_=>_none) + ;; CHECK: (func $zero-length-init-zeroes (type $0) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.gt_u @@ -1402,7 +1402,7 @@ (data "hi\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00hi") ;; 1 - ;; CHECK: (func $zero-length-init-nonzeroes (type $none_=>_none) + ;; CHECK: (func $zero-length-init-nonzeroes (type $0) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.gt_u @@ -1436,7 +1436,7 @@ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00hi") ;; 2 - ;; CHECK: (func $zero-length-init-zeroes-2 (type $none_=>_none) + ;; CHECK: (func $zero-length-init-zeroes-2 (type $0) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.gt_u @@ -1469,7 +1469,7 @@ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00hi") ;; 3 - ;; CHECK: (func $zero-length-init-nonzeroes-2 (type $none_=>_none) + ;; CHECK: (func $zero-length-init-nonzeroes-2 (type $0) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.or ;; CHECK-NEXT: (i32.gt_u @@ -1502,7 +1502,7 @@ ) (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (memory $0 2048 2048) (memory $0 2048 2048) @@ -1638,7 +1638,7 @@ ;; CHECK: (data $0.64 "a") - ;; CHECK: (func $init-lots (type $none_=>_none) + ;; CHECK: (func $init-lots (type $0) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (memory.init $0 ;; CHECK-NEXT: (i32.const 0) @@ -2218,7 +2218,7 @@ ;; CHECK: (data $1 (global.get $memoryBase) "x") (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (global $__mem_segment_drop_state (mut i32) (i32.const 0)) @@ -2231,7 +2231,7 @@ ;; CHECK: (export "func_54" (func $0)) (export "func_54" (func $0)) - ;; CHECK: (func $0 (type $none_=>_none) + ;; CHECK: (func $0 (type $0) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (global.get $__mem_segment_drop_state) ;; CHECK-NEXT: (unreachable) @@ -2277,7 +2277,7 @@ (module ;; Regression test for a bug where referrers were accidentally associated with ;; the wrong segments in the presence of unreferenced segments. - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (memory $0 (shared 1 1)) (memory $0 (shared 1 1)) @@ -2285,7 +2285,7 @@ (data "foo") ;; CHECK: (data $1 "foo") - ;; CHECK: (func $0 (type $none_=>_none) + ;; CHECK: (func $0 (type $0) ;; CHECK-NEXT: (memory.init $1 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) @@ -2302,7 +2302,7 @@ ) (module ;; memory64 works! - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (global $__mem_segment_drop_state (mut i32) (i32.const 0)) @@ -2313,7 +2313,7 @@ ;; CHECK: (data $0.1 "is cool") - ;; CHECK: (func $0 (type $none_=>_none) + ;; CHECK: (func $0 (type $0) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (global.get $__mem_segment_drop_state) ;; CHECK-NEXT: (unreachable) @@ -2348,7 +2348,7 @@ ) ) (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (global $__mem_segment_drop_state (mut i32) (i32.const 0)) @@ -2357,7 +2357,7 @@ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00test") ;; CHECK: (data $0 "test") - ;; CHECK: (func $0 (type $none_=>_none) + ;; CHECK: (func $0 (type $0) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (unreachable) @@ -2392,13 +2392,13 @@ (module ;; CHECK: (type $array (array (mut i32))) (type $array (array (mut i32))) - ;; CHECK: (type $ref|$array|_i32_i32_i32_=>_none (func (param (ref $array) i32 i32 i32))) + ;; CHECK: (type $1 (func (param (ref $array) i32 i32 i32))) ;; CHECK: (memory $0 (shared 16 17)) (memory $0 (shared 16 17)) ;; CHECK: (data $0 "") (data $0 "") - ;; CHECK: (func $0 (type $ref|$array|_i32_i32_i32_=>_none) (param $0 (ref $array)) (param $1 i32) (param $2 i32) (param $3 i32) + ;; CHECK: (func $0 (type $1) (param $0 (ref $array)) (param $1 i32) (param $2 i32) (param $3 i32) ;; CHECK-NEXT: (array.init_data $array $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 0) diff --git a/test/lit/passes/memory-packing_zero-filled-memory64.wast b/test/lit/passes/memory-packing_zero-filled-memory64.wast index 60c4ea3f7..308666de3 100644 --- a/test/lit/passes/memory-packing_zero-filled-memory64.wast +++ b/test/lit/passes/memory-packing_zero-filled-memory64.wast @@ -4,7 +4,7 @@ (module (type (;0;) (func (param i64))) - ;; CHECK: (type $i64_=>_none (func (param i64))) + ;; CHECK: (type $0 (func (param i64))) ;; CHECK: (import "env" "memory" (memory $0 i64 1 1)) (import "env" "memory" (memory $0 i64 1 1)) @@ -15,7 +15,7 @@ ;; CHECK: (data $0 (i64.const 1024) "x") - ;; CHECK: (func $__wasm_init_tls (type $i64_=>_none) (param $0 i64) + ;; CHECK: (func $__wasm_init_tls (type $0) (param $0 i64) ;; CHECK-NEXT: (local $1 i64) ;; CHECK-NEXT: (local.set $1 ;; CHECK-NEXT: (local.get $0) diff --git a/test/lit/passes/merge-blocks.wast b/test/lit/passes/merge-blocks.wast index 1401bd451..b6fa8f585 100644 --- a/test/lit/passes/merge-blocks.wast +++ b/test/lit/passes/merge-blocks.wast @@ -15,7 +15,7 @@ (type $array (array (mut i32))) - ;; CHECK: (func $br_on_to_drop (type $none_=>_none) + ;; CHECK: (func $br_on_to_drop (type $5) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block $label$1 (result i31ref) @@ -43,7 +43,7 @@ ) ) - ;; CHECK: (func $struct.set (type $ref?|$struct|_=>_none) (param $struct (ref null $struct)) + ;; CHECK: (func $struct.set (type $4) (param $struct (ref null $struct)) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.const 1234) @@ -68,7 +68,7 @@ ) ) - ;; CHECK: (func $struct.get (type $ref?|$struct|_=>_none) (param $struct (ref null $struct)) + ;; CHECK: (func $struct.get (type $4) (param $struct (ref null $struct)) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.const 1234) @@ -95,7 +95,7 @@ ) ) - ;; CHECK: (func $array.set (type $ref|$array|_=>_none) (param $foo (ref $array)) + ;; CHECK: (func $array.set (type $3) (param $foo (ref $array)) ;; CHECK-NEXT: (local $bar (ref null $array)) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (nop) @@ -126,7 +126,7 @@ ) ) - ;; CHECK: (func $array.set-no-1 (type $ref|$array|_=>_none) (param $foo (ref $array)) + ;; CHECK: (func $array.set-no-1 (type $3) (param $foo (ref $array)) ;; CHECK-NEXT: (local $bar i32) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (nop) @@ -156,7 +156,7 @@ ) ) - ;; CHECK: (func $array.set-no-2 (type $ref|$array|_=>_none) (param $foo (ref $array)) + ;; CHECK: (func $array.set-no-2 (type $3) (param $foo (ref $array)) ;; CHECK-NEXT: (local $bar i32) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (nop) @@ -186,7 +186,7 @@ ) ) - ;; CHECK: (func $if-condition (type $none_=>_i32) (result i32) + ;; CHECK: (func $if-condition (type $6) (result i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -224,7 +224,7 @@ ) ) - ;; CHECK: (func $subsequent-children (type $i32_i32_i32_=>_i32) (param $x i32) (param $y i32) (param $z i32) (result i32) + ;; CHECK: (func $subsequent-children (type $1) (param $x i32) (param $y i32) (param $z i32) (result i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $helper ;; CHECK-NEXT: (i32.const 0) @@ -259,7 +259,7 @@ ) ) - ;; CHECK: (func $subsequent-children-1 (type $i32_i32_i32_=>_i32) (param $x i32) (param $y i32) (param $z i32) (result i32) + ;; CHECK: (func $subsequent-children-1 (type $1) (param $x i32) (param $y i32) (param $z i32) (result i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $helper ;; CHECK-NEXT: (i32.const 0) @@ -296,7 +296,7 @@ ) ) - ;; CHECK: (func $subsequent-children-2 (type $i32_i32_i32_=>_i32) (param $x i32) (param $y i32) (param $z i32) (result i32) + ;; CHECK: (func $subsequent-children-2 (type $1) (param $x i32) (param $y i32) (param $z i32) (result i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $helper ;; CHECK-NEXT: (i32.const 0) @@ -334,7 +334,7 @@ ) ) - ;; CHECK: (func $subsequent-children-3 (type $i32_i32_i32_=>_i32) (param $x i32) (param $y i32) (param $z i32) (result i32) + ;; CHECK: (func $subsequent-children-3 (type $1) (param $x i32) (param $y i32) (param $z i32) (result i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -369,7 +369,7 @@ ) ) - ;; CHECK: (func $subsequent-children-4 (type $i32_i32_i32_=>_i32) (param $x i32) (param $y i32) (param $z i32) (result i32) + ;; CHECK: (func $subsequent-children-4 (type $1) (param $x i32) (param $y i32) (param $z i32) (result i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -400,7 +400,7 @@ ) ) - ;; CHECK: (func $helper (type $i32_=>_i32) (param $x i32) (result i32) + ;; CHECK: (func $helper (type $7) (param $x i32) (result i32) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) (func $helper (param $x i32) (result i32) diff --git a/test/lit/passes/merge-similar-functions.wast b/test/lit/passes/merge-similar-functions.wast index 7742f76c2..f85ef1e6e 100644 --- a/test/lit/passes/merge-similar-functions.wast +++ b/test/lit/passes/merge-similar-functions.wast @@ -2,11 +2,11 @@ ;; RUN: foreach %s %t wasm-opt --enable-reference-types --enable-gc --merge-similar-functions -S -o - | filecheck %s (module - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $0 (func (result i32))) - ;; CHECK: (type $i32_=>_i32 (func (param i32) (result i32))) + ;; CHECK: (type $1 (func (param i32) (result i32))) - ;; CHECK: (func $big-const-42 (type $none_=>_i32) (result i32) + ;; CHECK: (func $big-const-42 (type $0) (result i32) ;; CHECK-NEXT: (call $byn$mgfn-shared$big-const-42 ;; CHECK-NEXT: (i32.const 42) ;; CHECK-NEXT: ) @@ -18,7 +18,7 @@ ) ;; same as $big-const-42, but the set of $big-const-* derives {42, 42, 43} params - ;; CHECK: (func $big-const-42-1 (type $none_=>_i32) (result i32) + ;; CHECK: (func $big-const-42-1 (type $0) (result i32) ;; CHECK-NEXT: (call $byn$mgfn-shared$big-const-42 ;; CHECK-NEXT: (i32.const 42) ;; CHECK-NEXT: ) @@ -28,7 +28,7 @@ (nop) (nop) (nop) (nop) (nop) (nop) (i32.const 42) ) - ;; CHECK: (func $big-const-43 (type $none_=>_i32) (result i32) + ;; CHECK: (func $big-const-43 (type $0) (result i32) ;; CHECK-NEXT: (call $byn$mgfn-shared$big-const-42 ;; CHECK-NEXT: (i32.const 43) ;; CHECK-NEXT: ) @@ -39,13 +39,13 @@ (i32.const 43) ) - ;; CHECK: (func $small-const-44 (type $none_=>_i32) (result i32) + ;; CHECK: (func $small-const-44 (type $0) (result i32) ;; CHECK-NEXT: (i32.const 44) ;; CHECK-NEXT: ) (func $small-const-44 (result i32) (i32.const 44) ) - ;; CHECK: (func $small-const-45 (type $none_=>_i32) (result i32) + ;; CHECK: (func $small-const-45 (type $0) (result i32) ;; CHECK-NEXT: (i32.const 45) ;; CHECK-NEXT: ) (func $small-const-45 (result i32) @@ -54,7 +54,7 @@ ) ;; offset locals for extra params -;; CHECK: (func $byn$mgfn-shared$big-const-42 (type $i32_=>_i32) (param $0 i32) (result i32) +;; CHECK: (func $byn$mgfn-shared$big-const-42 (type $1) (param $0 i32) (result i32) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (nop) @@ -70,11 +70,11 @@ ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) (module - ;; CHECK: (type $i32_=>_i32 (func (param i32) (result i32))) + ;; CHECK: (type $0 (func (param i32) (result i32))) - ;; CHECK: (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) + ;; CHECK: (type $1 (func (param i32 i32) (result i32))) - ;; CHECK: (func $take-param-and-local-0 (type $i32_=>_i32) (param $0 i32) (result i32) + ;; CHECK: (func $take-param-and-local-0 (type $0) (param $0 i32) (result i32) ;; CHECK-NEXT: (call $byn$mgfn-shared$take-param-and-local-0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 42) @@ -86,7 +86,7 @@ (nop) (nop) (nop) (nop) (nop) (nop) (i32.add (i32.add (i32.const 42) (local.get $0)) (local.get $1)) ) - ;; CHECK: (func $take-param-and-local-1 (type $i32_=>_i32) (param $0 i32) (result i32) + ;; CHECK: (func $take-param-and-local-1 (type $0) (param $0 i32) (result i32) ;; CHECK-NEXT: (call $byn$mgfn-shared$take-param-and-local-0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 43) @@ -102,7 +102,7 @@ ) ;; different callees -;; CHECK: (func $byn$mgfn-shared$take-param-and-local-0 (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) +;; CHECK: (func $byn$mgfn-shared$take-param-and-local-0 (type $1) (param $0 i32) (param $1 i32) (result i32) ;; CHECK-NEXT: (local $2 i32) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (nop) @@ -125,43 +125,43 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) (module - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $0 (func (result i32))) - ;; CHECK: (type $i32_=>_i32 (func (param i32) (result i32))) + ;; CHECK: (type $1 (func (param i32) (result i32))) - ;; CHECK: (type $ref|none_->_i32|_=>_i32 (func (param (ref $none_=>_i32)) (result i32))) + ;; CHECK: (type $2 (func (param (ref $0)) (result i32))) - ;; CHECK: (type $ref|i32_->_i32|_i32_=>_i32 (func (param (ref $i32_=>_i32) i32) (result i32))) + ;; CHECK: (type $3 (func (param (ref $1) i32) (result i32))) ;; CHECK: (elem declare func $callee-0 $callee-1 $callee-2 $callee-take-arg-0 $callee-take-arg-1) - ;; CHECK: (func $callee-0 (type $none_=>_i32) (result i32) + ;; CHECK: (func $callee-0 (type $0) (result i32) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) (func $callee-0 (result i32) (i32.const 0)) - ;; CHECK: (func $callee-1 (type $none_=>_i32) (result i32) + ;; CHECK: (func $callee-1 (type $0) (result i32) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) (func $callee-1 (result i32) (i32.const 1)) - ;; CHECK: (func $callee-2 (type $none_=>_i32) (result i32) + ;; CHECK: (func $callee-2 (type $0) (result i32) ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) (func $callee-2 (result i32) (i32.const 2)) - ;; CHECK: (func $callee-take-arg-0 (type $i32_=>_i32) (param $0 i32) (result i32) + ;; CHECK: (func $callee-take-arg-0 (type $1) (param $0 i32) (result i32) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) (func $callee-take-arg-0 (param i32) (result i32) (i32.const 0)) - ;; CHECK: (func $callee-take-arg-1 (type $i32_=>_i32) (param $0 i32) (result i32) + ;; CHECK: (func $callee-take-arg-1 (type $1) (param $0 i32) (result i32) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) (func $callee-take-arg-1 (param i32) (result i32) (i32.const 1)) - ;; CHECK: (func $callee-take-arg-2 (type $i32_=>_i32) (param $0 i32) (result i32) + ;; CHECK: (func $callee-take-arg-2 (type $1) (param $0 i32) (result i32) ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) (func $callee-take-arg-2 (param i32) (result i32) (i32.const 2)) - ;; CHECK: (func $yes-call-callee-0 (type $none_=>_i32) (result i32) + ;; CHECK: (func $yes-call-callee-0 (type $0) (result i32) ;; CHECK-NEXT: (call $byn$mgfn-shared$yes-call-callee-0 ;; CHECK-NEXT: (ref.func $callee-0) ;; CHECK-NEXT: ) @@ -172,7 +172,7 @@ (nop) (nop) (nop) (nop) (nop) (nop) (call $callee-0) ) - ;; CHECK: (func $yes-call-callee-1 (type $none_=>_i32) (result i32) + ;; CHECK: (func $yes-call-callee-1 (type $0) (result i32) ;; CHECK-NEXT: (call $byn$mgfn-shared$yes-call-callee-0 ;; CHECK-NEXT: (ref.func $callee-1) ;; CHECK-NEXT: ) @@ -183,7 +183,7 @@ (nop) (nop) (nop) (nop) (nop) (nop) (call $callee-1) ) - ;; CHECK: (func $yes-call-callee-2 (type $none_=>_i32) (result i32) + ;; CHECK: (func $yes-call-callee-2 (type $0) (result i32) ;; CHECK-NEXT: (call $byn$mgfn-shared$yes-call-callee-0 ;; CHECK-NEXT: (ref.func $callee-2) ;; CHECK-NEXT: ) @@ -196,7 +196,7 @@ ) - ;; CHECK: (func $yes-call-callee-take-arg-0 (type $none_=>_i32) (result i32) + ;; CHECK: (func $yes-call-callee-take-arg-0 (type $0) (result i32) ;; CHECK-NEXT: (call $byn$mgfn-shared$yes-call-callee-take-arg-0 ;; CHECK-NEXT: (ref.func $callee-take-arg-0) ;; CHECK-NEXT: (i32.const 0) @@ -208,7 +208,7 @@ (nop) (nop) (nop) (nop) (nop) (nop) (call $callee-take-arg-0 (i32.const 0)) ) - ;; CHECK: (func $yes-call-callee-take-arg-1 (type $none_=>_i32) (result i32) + ;; CHECK: (func $yes-call-callee-take-arg-1 (type $0) (result i32) ;; CHECK-NEXT: (call $byn$mgfn-shared$yes-call-callee-take-arg-0 ;; CHECK-NEXT: (ref.func $callee-take-arg-1) ;; CHECK-NEXT: (i32.const 1) @@ -224,7 +224,7 @@ ;; NOTE: calls with different argument expressions are not mergeable - ;; CHECK: (func $no-call-callee-take-arg-0 (type $none_=>_i32) (result i32) + ;; CHECK: (func $no-call-callee-take-arg-0 (type $0) (result i32) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (nop) @@ -263,7 +263,7 @@ ) ) ) - ;; CHECK: (func $no-call-callee-take-arg-1 (type $none_=>_i32) (result i32) + ;; CHECK: (func $no-call-callee-take-arg-1 (type $0) (result i32) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (nop) @@ -309,7 +309,7 @@ ) -;; CHECK: (func $byn$mgfn-shared$yes-call-callee-0 (type $ref|none_->_i32|_=>_i32) (param $0 (ref $none_=>_i32)) (result i32) +;; CHECK: (func $byn$mgfn-shared$yes-call-callee-0 (type $2) (param $0 (ref $0)) (result i32) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (nop) @@ -328,12 +328,12 @@ ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (nop) -;; CHECK-NEXT: (call_ref $none_=>_i32 +;; CHECK-NEXT: (call_ref $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) -;; CHECK: (func $byn$mgfn-shared$yes-call-callee-take-arg-0 (type $ref|i32_->_i32|_i32_=>_i32) (param $0 (ref $i32_=>_i32)) (param $1 i32) (result i32) +;; CHECK: (func $byn$mgfn-shared$yes-call-callee-take-arg-0 (type $3) (param $0 (ref $1)) (param $1 i32) (result i32) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (nop) @@ -352,17 +352,17 @@ ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (nop) -;; CHECK-NEXT: (call_ref $i32_=>_i32 +;; CHECK-NEXT: (call_ref $1 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) (module - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $0 (func (result i32))) - ;; CHECK: (type $i32_=>_i32 (func (param i32) (result i32))) + ;; CHECK: (type $1 (func (param i32) (result i32))) - ;; CHECK: (func $use-42-twice (type $none_=>_i32) (result i32) + ;; CHECK: (func $use-42-twice (type $0) (result i32) ;; CHECK-NEXT: (call $byn$mgfn-shared$use-42-twice ;; CHECK-NEXT: (i32.const 42) ;; CHECK-NEXT: ) @@ -375,7 +375,7 @@ (i32.const 42) ) ) - ;; CHECK: (func $use-43-twice (type $none_=>_i32) (result i32) + ;; CHECK: (func $use-43-twice (type $0) (result i32) ;; CHECK-NEXT: (call $byn$mgfn-shared$use-42-twice ;; CHECK-NEXT: (i32.const 43) ;; CHECK-NEXT: ) @@ -391,7 +391,7 @@ ) -;; CHECK: (func $byn$mgfn-shared$use-42-twice (type $i32_=>_i32) (param $0 i32) (result i32) +;; CHECK: (func $byn$mgfn-shared$use-42-twice (type $1) (param $0 i32) (result i32) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (nop) @@ -410,11 +410,11 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) (module - ;; CHECK: (type $i32_i32_=>_none (func (param i32 i32))) + ;; CHECK: (type $0 (func (param i32 i32))) - ;; CHECK: (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) + ;; CHECK: (type $1 (func (param i32 i32 i32))) - ;; CHECK: (func $yes-offset-local-indices-1 (type $i32_i32_=>_none) (param $a i32) (param $b i32) + ;; CHECK: (func $yes-offset-local-indices-1 (type $0) (param $a i32) (param $b i32) ;; CHECK-NEXT: (call $byn$mgfn-shared$yes-offset-local-indices-1 ;; CHECK-NEXT: (local.get $a) ;; CHECK-NEXT: (local.get $b) @@ -434,7 +434,7 @@ (drop (local.tee $b (local.get $b))) (drop (i32.const 1)) ) - ;; CHECK: (func $yes-offset-local-indices-2 (type $i32_i32_=>_none) (param $a i32) (param $b i32) + ;; CHECK: (func $yes-offset-local-indices-2 (type $0) (param $a i32) (param $b i32) ;; CHECK-NEXT: (call $byn$mgfn-shared$yes-offset-local-indices-1 ;; CHECK-NEXT: (local.get $a) ;; CHECK-NEXT: (local.get $b) @@ -456,7 +456,7 @@ ) ) -;; CHECK: (func $byn$mgfn-shared$yes-offset-local-indices-1 (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) +;; CHECK: (func $byn$mgfn-shared$yes-offset-local-indices-1 (type $1) (param $0 i32) (param $1 i32) (param $2 i32) ;; CHECK-NEXT: (local $3 i32) ;; CHECK-NEXT: (local $4 i32) ;; CHECK-NEXT: (drop diff --git a/test/lit/passes/merge-similar-functions_all-features.wast b/test/lit/passes/merge-similar-functions_all-features.wast index 661a55f66..ddc9a200f 100644 --- a/test/lit/passes/merge-similar-functions_all-features.wast +++ b/test/lit/passes/merge-similar-functions_all-features.wast @@ -2,22 +2,22 @@ ;; RUN: foreach %s %t wasm-opt --all-features --merge-similar-functions -S -o - | filecheck %s (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (type $[i8] (array i8)) (type $[i8] (array i8)) - ;; CHECK: (type $arrayref_=>_none (func (param arrayref))) + ;; CHECK: (type $2 (func (param arrayref))) - ;; CHECK: (type $ref|eq|_=>_none (func (param (ref eq)))) + ;; CHECK: (type $3 (func (param (ref eq)))) - ;; CHECK: (func $take-ref-null-array (type $arrayref_=>_none) (param $0 arrayref) + ;; CHECK: (func $take-ref-null-array (type $2) (param $0 arrayref) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) (func $take-ref-null-array (param (ref null array)) (unreachable) ) - ;; CHECK: (func $take-ref-eq (type $ref|eq|_=>_none) (param $0 (ref eq)) + ;; CHECK: (func $take-ref-eq (type $3) (param $0 (ref eq)) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) (func $take-ref-eq (param (ref eq)) @@ -30,7 +30,7 @@ ;; But in general, type B and C don't have a common subtype, so ;; we can't merge call instructions of func X and Y. - ;; CHECK: (func $no-call-subtyping-same-operand-0 (type $none_=>_none) + ;; CHECK: (func $no-call-subtyping-same-operand-0 (type $0) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (nop) @@ -61,7 +61,7 @@ (array.new_fixed $[i8] 0) ) ) - ;; CHECK: (func $no-call-subtyping-same-operand-1 (type $none_=>_none) + ;; CHECK: (func $no-call-subtyping-same-operand-1 (type $0) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (nop) @@ -96,13 +96,13 @@ ;; Test that we can merge properly when there is a return_call. (module - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $0 (func (result i32))) - ;; CHECK: (type $ref|none_->_i32|_=>_i32 (func (param (ref $none_=>_i32)) (result i32))) + ;; CHECK: (type $1 (func (param (ref $0)) (result i32))) ;; CHECK: (elem declare func $return_a $return_b) - ;; CHECK: (func $return_call_a (type $none_=>_i32) (result i32) + ;; CHECK: (func $return_call_a (type $0) (result i32) ;; CHECK-NEXT: (call $byn$mgfn-shared$return_call_a ;; CHECK-NEXT: (ref.func $return_a) ;; CHECK-NEXT: ) @@ -114,7 +114,7 @@ (return_call $return_a) ) - ;; CHECK: (func $return_call_b (type $none_=>_i32) (result i32) + ;; CHECK: (func $return_call_b (type $0) (result i32) ;; CHECK-NEXT: (call $byn$mgfn-shared$return_call_a ;; CHECK-NEXT: (ref.func $return_b) ;; CHECK-NEXT: ) @@ -127,7 +127,7 @@ (return_call $return_b) ) - ;; CHECK: (func $return_a (type $none_=>_i32) (result i32) + ;; CHECK: (func $return_a (type $0) (result i32) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) (func $return_a (result i32) @@ -135,7 +135,7 @@ (i32.const 0) ) - ;; CHECK: (func $return_b (type $none_=>_i32) (result i32) + ;; CHECK: (func $return_b (type $0) (result i32) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) (func $return_b (result i32) @@ -143,7 +143,7 @@ (i32.const 1) ) ) -;; CHECK: (func $byn$mgfn-shared$return_call_a (type $ref|none_->_i32|_=>_i32) (param $0 (ref $none_=>_i32)) (result i32) +;; CHECK: (func $byn$mgfn-shared$return_call_a (type $1) (param $0 (ref $0)) (result i32) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (nop) @@ -162,7 +162,7 @@ ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (nop) -;; CHECK-NEXT: (return_call_ref $none_=>_i32 +;; CHECK-NEXT: (return_call_ref $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/merge-similar-functions_types.wast b/test/lit/passes/merge-similar-functions_types.wast index b146df8ba..aa02abf2e 100644 --- a/test/lit/passes/merge-similar-functions_types.wast +++ b/test/lit/passes/merge-similar-functions_types.wast @@ -12,7 +12,7 @@ (type $type$2 (func_subtype func)) (type $type$3 (func_subtype (param f32) (result f32) func)) (type $type$4 (func_subtype (param f64) (result f64) func)) - ;; CHECK: (type $ref|$type$0|_=>_none (func (param (ref $type$0)))) + ;; CHECK: (type $1 (func (param (ref $type$0)))) ;; CHECK: (elem declare func $2 $3) @@ -86,7 +86,7 @@ ) ) -;; CHECK: (func $byn$mgfn-shared$0 (type $ref|$type$0|_=>_none) (param $0 (ref $type$0)) +;; CHECK: (func $byn$mgfn-shared$0 (type $1) (param $0 (ref $type$0)) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (nop) @@ -116,7 +116,7 @@ (type $type$3 (func_subtype (param f32) (result f32) func)) (type $type$4 (func_subtype (param f64) (result f64) func)) - ;; CHECK: (type $ref|$type$0|_=>_none (func (param (ref $type$0)))) + ;; CHECK: (type $1 (func (param (ref $type$0)))) ;; CHECK: (global $global$0 (mut i32) (i32.const 10)) (global $global$0 (mut i32) (i32.const 10)) @@ -194,7 +194,7 @@ ) ) ) -;; CHECK: (func $byn$mgfn-shared$0 (type $ref|$type$0|_=>_none) (param $0 (ref $type$0)) +;; CHECK: (func $byn$mgfn-shared$0 (type $1) (param $0 (ref $type$0)) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (nop) diff --git a/test/lit/passes/monomorphize.wast b/test/lit/passes/monomorphize.wast index fe206b518..fc3388d89 100644 --- a/test/lit/passes/monomorphize.wast +++ b/test/lit/passes/monomorphize.wast @@ -14,21 +14,21 @@ ;; CAREFUL: (type $B (sub $A (struct ))) (type $B (struct_subtype $A)) - ;; ALWAYS: (type $ref|$A|_=>_none (func (param (ref $A)))) + ;; ALWAYS: (type $2 (func (param (ref $A)))) - ;; ALWAYS: (type $none_=>_none (func)) + ;; ALWAYS: (type $3 (func)) - ;; ALWAYS: (type $ref|$B|_=>_none (func (param (ref $B)))) + ;; ALWAYS: (type $4 (func (param (ref $B)))) - ;; ALWAYS: (import "a" "b" (func $import (type $ref|$A|_=>_none) (param (ref $A)))) - ;; CAREFUL: (type $ref|$A|_=>_none (func (param (ref $A)))) + ;; ALWAYS: (import "a" "b" (func $import (type $2) (param (ref $A)))) + ;; CAREFUL: (type $2 (func (param (ref $A)))) - ;; CAREFUL: (type $none_=>_none (func)) + ;; CAREFUL: (type $3 (func)) - ;; CAREFUL: (import "a" "b" (func $import (type $ref|$A|_=>_none) (param (ref $A)))) + ;; CAREFUL: (import "a" "b" (func $import (type $2) (param (ref $A)))) (import "a" "b" (func $import (param (ref $A)))) - ;; ALWAYS: (func $calls (type $none_=>_none) + ;; ALWAYS: (func $calls (type $3) ;; ALWAYS-NEXT: (call $refinable ;; ALWAYS-NEXT: (struct.new_default $A) ;; ALWAYS-NEXT: ) @@ -42,7 +42,7 @@ ;; ALWAYS-NEXT: (struct.new_default $B) ;; ALWAYS-NEXT: ) ;; ALWAYS-NEXT: ) - ;; CAREFUL: (func $calls (type $none_=>_none) + ;; CAREFUL: (func $calls (type $3) ;; CAREFUL-NEXT: (call $refinable ;; CAREFUL-NEXT: (struct.new_default $A) ;; CAREFUL-NEXT: ) @@ -76,12 +76,12 @@ ) ) - ;; ALWAYS: (func $call-import (type $none_=>_none) + ;; ALWAYS: (func $call-import (type $3) ;; ALWAYS-NEXT: (call $import ;; ALWAYS-NEXT: (struct.new_default $B) ;; ALWAYS-NEXT: ) ;; ALWAYS-NEXT: ) - ;; CAREFUL: (func $call-import (type $none_=>_none) + ;; CAREFUL: (func $call-import (type $3) ;; CAREFUL-NEXT: (call $import ;; CAREFUL-NEXT: (struct.new_default $B) ;; CAREFUL-NEXT: ) @@ -93,12 +93,12 @@ ) ) - ;; ALWAYS: (func $refinable (type $ref|$A|_=>_none) (param $ref (ref $A)) + ;; ALWAYS: (func $refinable (type $2) (param $ref (ref $A)) ;; ALWAYS-NEXT: (drop ;; ALWAYS-NEXT: (local.get $ref) ;; ALWAYS-NEXT: ) ;; ALWAYS-NEXT: ) - ;; CAREFUL: (func $refinable (type $ref|$A|_=>_none) (param $0 (ref $A)) + ;; CAREFUL: (func $refinable (type $2) (param $0 (ref $A)) ;; CAREFUL-NEXT: (nop) ;; CAREFUL-NEXT: ) (func $refinable (param $ref (ref $A)) @@ -115,7 +115,7 @@ ) -;; ALWAYS: (func $refinable_4 (type $ref|$B|_=>_none) (param $ref (ref $B)) +;; ALWAYS: (func $refinable_4 (type $4) (param $ref (ref $B)) ;; ALWAYS-NEXT: (drop ;; ALWAYS-NEXT: (local.get $ref) ;; ALWAYS-NEXT: ) @@ -125,7 +125,7 @@ ;; requires a fixup. ;; ALWAYS: (type $A (struct )) - ;; CAREFUL: (type $none_=>_none (func)) + ;; CAREFUL: (type $0 (func)) ;; CAREFUL: (type $A (struct )) (type $A (struct_subtype data)) @@ -135,20 +135,20 @@ - ;; ALWAYS: (type $none_=>_none (func)) + ;; ALWAYS: (type $2 (func)) - ;; ALWAYS: (type $ref|$A|_=>_none (func (param (ref $A)))) + ;; ALWAYS: (type $3 (func (param (ref $A)))) - ;; ALWAYS: (type $ref|$B|_=>_none (func (param (ref $B)))) + ;; ALWAYS: (type $4 (func (param (ref $B)))) - ;; ALWAYS: (func $calls (type $none_=>_none) + ;; ALWAYS: (func $calls (type $2) ;; ALWAYS-NEXT: (call $refinable_2 ;; ALWAYS-NEXT: (struct.new_default $B) ;; ALWAYS-NEXT: ) ;; ALWAYS-NEXT: ) - ;; CAREFUL: (type $ref|$A|_=>_none (func (param (ref $A)))) + ;; CAREFUL: (type $3 (func (param (ref $A)))) - ;; CAREFUL: (func $calls (type $none_=>_none) + ;; CAREFUL: (func $calls (type $0) ;; CAREFUL-NEXT: (call $refinable ;; CAREFUL-NEXT: (struct.new_default $B) ;; CAREFUL-NEXT: ) @@ -159,7 +159,7 @@ ) ) - ;; ALWAYS: (func $refinable (type $ref|$A|_=>_none) (param $ref (ref $A)) + ;; ALWAYS: (func $refinable (type $3) (param $ref (ref $A)) ;; ALWAYS-NEXT: (local $unref (ref $A)) ;; ALWAYS-NEXT: (local.set $unref ;; ALWAYS-NEXT: (local.get $ref) @@ -168,7 +168,7 @@ ;; ALWAYS-NEXT: (local.get $unref) ;; ALWAYS-NEXT: ) ;; ALWAYS-NEXT: ) - ;; CAREFUL: (func $refinable (type $ref|$A|_=>_none) (param $0 (ref $A)) + ;; CAREFUL: (func $refinable (type $3) (param $0 (ref $A)) ;; CAREFUL-NEXT: (nop) ;; CAREFUL-NEXT: ) (func $refinable (param $ref (ref $A)) @@ -186,7 +186,7 @@ ) -;; ALWAYS: (func $refinable_2 (type $ref|$B|_=>_none) (param $ref (ref $B)) +;; ALWAYS: (func $refinable_2 (type $4) (param $ref (ref $B)) ;; ALWAYS-NEXT: (local $unref (ref $A)) ;; ALWAYS-NEXT: (local $2 (ref $A)) ;; ALWAYS-NEXT: (local.set $2 @@ -205,7 +205,7 @@ ;; Multiple refinings of the same function, and of different functions. ;; ALWAYS: (type $A (struct )) - ;; CAREFUL: (type $none_=>_none (func)) + ;; CAREFUL: (type $0 (func)) ;; CAREFUL: (type $A (struct )) (type $A (struct_subtype data)) @@ -213,21 +213,21 @@ ;; CAREFUL: (type $B (sub $A (struct ))) (type $B (struct_subtype $A)) - ;; ALWAYS: (type $none_=>_none (func)) + ;; ALWAYS: (type $2 (func)) ;; ALWAYS: (type $C (sub $B (struct ))) - ;; CAREFUL: (type $ref|$A|_=>_none (func (param (ref $A)))) + ;; CAREFUL: (type $3 (func (param (ref $A)))) ;; CAREFUL: (type $C (sub $B (struct ))) (type $C (struct_subtype $B)) - ;; ALWAYS: (type $ref|$A|_=>_none (func (param (ref $A)))) + ;; ALWAYS: (type $4 (func (param (ref $A)))) - ;; ALWAYS: (type $ref|$B|_=>_none (func (param (ref $B)))) + ;; ALWAYS: (type $5 (func (param (ref $B)))) - ;; ALWAYS: (type $ref|$C|_=>_none (func (param (ref $C)))) + ;; ALWAYS: (type $6 (func (param (ref $C)))) - ;; ALWAYS: (func $calls1 (type $none_=>_none) + ;; ALWAYS: (func $calls1 (type $2) ;; ALWAYS-NEXT: (call $refinable1 ;; ALWAYS-NEXT: (struct.new_default $A) ;; ALWAYS-NEXT: ) @@ -235,7 +235,7 @@ ;; ALWAYS-NEXT: (struct.new_default $B) ;; ALWAYS-NEXT: ) ;; ALWAYS-NEXT: ) - ;; CAREFUL: (func $calls1 (type $none_=>_none) + ;; CAREFUL: (func $calls1 (type $0) ;; CAREFUL-NEXT: (call $refinable1 ;; CAREFUL-NEXT: (struct.new_default $A) ;; CAREFUL-NEXT: ) @@ -252,7 +252,7 @@ ) ) - ;; ALWAYS: (func $calls2 (type $none_=>_none) + ;; ALWAYS: (func $calls2 (type $2) ;; ALWAYS-NEXT: (call $refinable1_5 ;; ALWAYS-NEXT: (struct.new_default $C) ;; ALWAYS-NEXT: ) @@ -260,7 +260,7 @@ ;; ALWAYS-NEXT: (struct.new_default $B) ;; ALWAYS-NEXT: ) ;; ALWAYS-NEXT: ) - ;; CAREFUL: (func $calls2 (type $none_=>_none) + ;; CAREFUL: (func $calls2 (type $0) ;; CAREFUL-NEXT: (call $refinable1 ;; CAREFUL-NEXT: (struct.new_default $C) ;; CAREFUL-NEXT: ) @@ -277,12 +277,12 @@ ) ) - ;; ALWAYS: (func $refinable1 (type $ref|$A|_=>_none) (param $ref (ref $A)) + ;; ALWAYS: (func $refinable1 (type $4) (param $ref (ref $A)) ;; ALWAYS-NEXT: (drop ;; ALWAYS-NEXT: (local.get $ref) ;; ALWAYS-NEXT: ) ;; ALWAYS-NEXT: ) - ;; CAREFUL: (func $refinable1 (type $ref|$A|_=>_none) (param $0 (ref $A)) + ;; CAREFUL: (func $refinable1 (type $3) (param $0 (ref $A)) ;; CAREFUL-NEXT: (nop) ;; CAREFUL-NEXT: ) (func $refinable1 (param $ref (ref $A)) @@ -291,12 +291,12 @@ ) ) - ;; ALWAYS: (func $refinable2 (type $ref|$A|_=>_none) (param $ref (ref $A)) + ;; ALWAYS: (func $refinable2 (type $4) (param $ref (ref $A)) ;; ALWAYS-NEXT: (drop ;; ALWAYS-NEXT: (local.get $ref) ;; ALWAYS-NEXT: ) ;; ALWAYS-NEXT: ) - ;; CAREFUL: (func $refinable2 (type $ref|$A|_=>_none) (param $0 (ref $A)) + ;; CAREFUL: (func $refinable2 (type $3) (param $0 (ref $A)) ;; CAREFUL-NEXT: (nop) ;; CAREFUL-NEXT: ) (func $refinable2 (param $ref (ref $A)) @@ -306,19 +306,19 @@ ) ) -;; ALWAYS: (func $refinable1_4 (type $ref|$B|_=>_none) (param $ref (ref $B)) +;; ALWAYS: (func $refinable1_4 (type $5) (param $ref (ref $B)) ;; ALWAYS-NEXT: (drop ;; ALWAYS-NEXT: (local.get $ref) ;; ALWAYS-NEXT: ) ;; ALWAYS-NEXT: ) -;; ALWAYS: (func $refinable1_5 (type $ref|$C|_=>_none) (param $ref (ref $C)) +;; ALWAYS: (func $refinable1_5 (type $6) (param $ref (ref $C)) ;; ALWAYS-NEXT: (drop ;; ALWAYS-NEXT: (local.get $ref) ;; ALWAYS-NEXT: ) ;; ALWAYS-NEXT: ) -;; ALWAYS: (func $refinable2_6 (type $ref|$B|_=>_none) (param $ref (ref $B)) +;; ALWAYS: (func $refinable2_6 (type $5) (param $ref (ref $B)) ;; ALWAYS-NEXT: (drop ;; ALWAYS-NEXT: (local.get $ref) ;; ALWAYS-NEXT: ) @@ -335,29 +335,29 @@ ;; CAREFUL: (type $B (sub $A (struct ))) (type $B (struct_subtype $A)) - ;; ALWAYS: (type $ref|$B|_=>_none (func (param (ref $B)))) + ;; ALWAYS: (type $2 (func (param (ref $B)))) - ;; ALWAYS: (type $none_=>_none (func)) + ;; ALWAYS: (type $3 (func)) - ;; ALWAYS: (type $ref|$A|_=>_none (func (param (ref $A)))) + ;; ALWAYS: (type $4 (func (param (ref $A)))) - ;; ALWAYS: (import "a" "b" (func $import (type $ref|$B|_=>_none) (param (ref $B)))) + ;; ALWAYS: (import "a" "b" (func $import (type $2) (param (ref $B)))) ;; ALWAYS: (global $global (mut i32) (i32.const 1)) - ;; CAREFUL: (type $ref|$B|_=>_none (func (param (ref $B)))) + ;; CAREFUL: (type $2 (func (param (ref $B)))) - ;; CAREFUL: (type $none_=>_none (func)) + ;; CAREFUL: (type $3 (func)) - ;; CAREFUL: (type $ref|$A|_=>_none (func (param (ref $A)))) + ;; CAREFUL: (type $4 (func (param (ref $A)))) - ;; CAREFUL: (import "a" "b" (func $import (type $ref|$B|_=>_none) (param (ref $B)))) + ;; CAREFUL: (import "a" "b" (func $import (type $2) (param (ref $B)))) ;; CAREFUL: (global $global (mut i32) (i32.const 1)) (global $global (mut i32) (i32.const 1)) (import "a" "b" (func $import (param (ref $B)))) - ;; ALWAYS: (func $calls (type $none_=>_none) + ;; ALWAYS: (func $calls (type $3) ;; ALWAYS-NEXT: (call $refinable ;; ALWAYS-NEXT: (struct.new_default $A) ;; ALWAYS-NEXT: ) @@ -371,7 +371,7 @@ ;; ALWAYS-NEXT: (struct.new_default $B) ;; ALWAYS-NEXT: ) ;; ALWAYS-NEXT: ) - ;; CAREFUL: (func $calls (type $none_=>_none) + ;; CAREFUL: (func $calls (type $3) ;; CAREFUL-NEXT: (call $refinable ;; CAREFUL-NEXT: (struct.new_default $A) ;; CAREFUL-NEXT: ) @@ -402,7 +402,7 @@ ) ) - ;; ALWAYS: (func $refinable (type $ref|$A|_=>_none) (param $ref (ref $A)) + ;; ALWAYS: (func $refinable (type $4) (param $ref (ref $A)) ;; ALWAYS-NEXT: (local $x (ref $A)) ;; ALWAYS-NEXT: (call $import ;; ALWAYS-NEXT: (ref.cast (ref $B) @@ -432,7 +432,7 @@ ;; ALWAYS-NEXT: ) ;; ALWAYS-NEXT: ) ;; ALWAYS-NEXT: ) - ;; CAREFUL: (func $refinable (type $ref|$A|_=>_none) (param $0 (ref $A)) + ;; CAREFUL: (func $refinable (type $4) (param $0 (ref $A)) ;; CAREFUL-NEXT: (local $1 (ref $A)) ;; CAREFUL-NEXT: (call $import ;; CAREFUL-NEXT: (ref.cast (ref $B) @@ -503,7 +503,7 @@ ) ) -;; ALWAYS: (func $refinable_3 (type $ref|$B|_=>_none) (param $ref (ref $B)) +;; ALWAYS: (func $refinable_3 (type $2) (param $ref (ref $B)) ;; ALWAYS-NEXT: (local $x (ref $A)) ;; ALWAYS-NEXT: (call $import ;; ALWAYS-NEXT: (ref.cast (ref $B) @@ -534,7 +534,7 @@ ;; ALWAYS-NEXT: ) ;; ALWAYS-NEXT: ) -;; CAREFUL: (func $refinable_3 (type $ref|$B|_=>_none) (param $0 (ref $B)) +;; CAREFUL: (func $refinable_3 (type $2) (param $0 (ref $B)) ;; CAREFUL-NEXT: (local $1 (ref $B)) ;; CAREFUL-NEXT: (call $import ;; CAREFUL-NEXT: (local.get $0) @@ -561,21 +561,21 @@ ;; ALWAYS: (type $A (struct )) ;; CAREFUL: (type $A (struct )) (type $A (struct_subtype data)) - ;; ALWAYS: (type $ref|$A|_=>_none (func (param (ref $A)))) + ;; ALWAYS: (type $1 (func (param (ref $A)))) ;; ALWAYS: (type $B (sub $A (struct ))) - ;; CAREFUL: (type $ref|$A|_=>_none (func (param (ref $A)))) + ;; CAREFUL: (type $1 (func (param (ref $A)))) ;; CAREFUL: (type $B (sub $A (struct ))) (type $B (struct_subtype $A)) - ;; ALWAYS: (func $calls (type $ref|$A|_=>_none) (param $ref (ref $A)) + ;; ALWAYS: (func $calls (type $1) (param $ref (ref $A)) ;; ALWAYS-NEXT: (call $calls ;; ALWAYS-NEXT: (struct.new_default $B) ;; ALWAYS-NEXT: ) ;; ALWAYS-NEXT: ) - ;; CAREFUL: (func $calls (type $ref|$A|_=>_none) (param $ref (ref $A)) + ;; CAREFUL: (func $calls (type $1) (param $ref (ref $A)) ;; CAREFUL-NEXT: (call $calls ;; CAREFUL-NEXT: (struct.new_default $B) ;; CAREFUL-NEXT: ) diff --git a/test/lit/passes/multi-memory-lowering.wast b/test/lit/passes/multi-memory-lowering.wast index 0becf4c33..7463b7810 100644 --- a/test/lit/passes/multi-memory-lowering.wast +++ b/test/lit/passes/multi-memory-lowering.wast @@ -8,17 +8,17 @@ (memory $memory3 3) (data (memory $memory1) (i32.const 0) "a") (data (memory $memory3) (i32.const 1) "123") - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (type $i32_=>_v128 (func (param i32) (result v128))) + ;; CHECK: (type $1 (func (param i32) (result v128))) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $2 (func (result i32))) - ;; CHECK: (type $i32_=>_i32 (func (param i32) (result i32))) + ;; CHECK: (type $3 (func (param i32) (result i32))) - ;; CHECK: (type $i32_v128_=>_v128 (func (param i32 v128) (result v128))) + ;; CHECK: (type $4 (func (param i32 v128) (result v128))) - ;; CHECK: (type $i32_i64_=>_none (func (param i32 i64))) + ;; CHECK: (type $5 (func (param i32 i64))) ;; CHECK: (global $memory2_byte_offset (mut i32) (i32.const 65536)) @@ -53,17 +53,17 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; BOUNDS: (type $none_=>_none (func)) + ;; BOUNDS: (type $0 (func)) - ;; BOUNDS: (type $i32_=>_v128 (func (param i32) (result v128))) + ;; BOUNDS: (type $1 (func (param i32) (result v128))) - ;; BOUNDS: (type $none_=>_i32 (func (result i32))) + ;; BOUNDS: (type $2 (func (result i32))) - ;; BOUNDS: (type $i32_=>_i32 (func (param i32) (result i32))) + ;; BOUNDS: (type $3 (func (param i32) (result i32))) - ;; BOUNDS: (type $i32_v128_=>_v128 (func (param i32 v128) (result v128))) + ;; BOUNDS: (type $4 (func (param i32 v128) (result v128))) - ;; BOUNDS: (type $i32_i64_=>_none (func (param i32 i64))) + ;; BOUNDS: (type $5 (func (param i32 i64))) ;; BOUNDS: (global $memory2_byte_offset (mut i32) (i32.const 65536)) diff --git a/test/lit/passes/once-reduction.wast b/test/lit/passes/once-reduction.wast index 6ec5511df..d76fba414 100644 --- a/test/lit/passes/once-reduction.wast +++ b/test/lit/passes/once-reduction.wast @@ -2,12 +2,12 @@ ;; RUN: foreach %s %t wasm-opt --once-reduction -all -S -o - | filecheck %s (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (global $once (mut i32) (i32.const 0)) (global $once (mut i32) (i32.const 0)) - ;; CHECK: (func $once (type $none_=>_none) + ;; CHECK: (func $once (type $0) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (global.get $once) ;; CHECK-NEXT: (return) @@ -25,7 +25,7 @@ (global.set $once (i32.const 1)) ) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $0) ;; CHECK-NEXT: (call $once) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) @@ -38,12 +38,12 @@ ) (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (global $once (mut i32) (i32.const 0)) (global $once (mut i32) (i32.const 0)) - ;; CHECK: (func $once (type $none_=>_none) + ;; CHECK: (func $once (type $0) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (global.get $once) ;; CHECK-NEXT: (return) @@ -65,7 +65,7 @@ (drop (i32.const 100)) ) - ;; CHECK: (func $caller-if-1 (type $none_=>_none) + ;; CHECK: (func $caller-if-1 (type $0) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: (block @@ -93,7 +93,7 @@ (call $once) ) - ;; CHECK: (func $caller-if-2 (type $none_=>_none) + ;; CHECK: (func $caller-if-2 (type $0) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: (call $once) @@ -120,7 +120,7 @@ (call $once) ) - ;; CHECK: (func $caller-loop-1 (type $none_=>_none) + ;; CHECK: (func $caller-loop-1 (type $0) ;; CHECK-NEXT: (loop $loop ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 1) @@ -150,7 +150,7 @@ (call $once) ) - ;; CHECK: (func $caller-loop-2 (type $none_=>_none) + ;; CHECK: (func $caller-loop-2 (type $0) ;; CHECK-NEXT: (loop $loop ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 1) @@ -176,7 +176,7 @@ (call $once) ) - ;; CHECK: (func $caller-single (type $none_=>_none) + ;; CHECK: (func $caller-single (type $0) ;; CHECK-NEXT: (call $once) ;; CHECK-NEXT: ) (func $caller-single @@ -184,7 +184,7 @@ (call $once) ) - ;; CHECK: (func $caller-empty (type $none_=>_none) + ;; CHECK: (func $caller-empty (type $0) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $caller-empty @@ -197,15 +197,15 @@ ;; though in fact the function will never execute the payload call of foo(), ;; which in theory we could further optimize. (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (import "env" "foo" (func $foo (type $none_=>_none))) + ;; CHECK: (import "env" "foo" (func $foo (type $0))) (import "env" "foo" (func $foo)) ;; CHECK: (global $once (mut i32) (i32.const 42)) (global $once (mut i32) (i32.const 42)) - ;; CHECK: (func $once (type $none_=>_none) + ;; CHECK: (func $once (type $0) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (global.get $once) ;; CHECK-NEXT: (return) @@ -224,7 +224,7 @@ (call $foo) ) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $0) ;; CHECK-NEXT: (call $once) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) @@ -237,15 +237,15 @@ ;; Corner case: function is not quite once, there is code before the if, so no ;; optimization will happen. (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (import "env" "foo" (func $foo (type $none_=>_none))) + ;; CHECK: (import "env" "foo" (func $foo (type $0))) (import "env" "foo" (func $foo)) ;; CHECK: (global $once (mut i32) (i32.const 42)) (global $once (mut i32) (i32.const 42)) - ;; CHECK: (func $once (type $none_=>_none) + ;; CHECK: (func $once (type $0) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (global.get $once) @@ -266,7 +266,7 @@ (call $foo) ) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $0) ;; CHECK-NEXT: (call $once) ;; CHECK-NEXT: (call $once) ;; CHECK-NEXT: ) @@ -278,15 +278,15 @@ ;; Corner case: a nop after the if. (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (import "env" "foo" (func $foo (type $none_=>_none))) + ;; CHECK: (import "env" "foo" (func $foo (type $0))) (import "env" "foo" (func $foo)) ;; CHECK: (global $once (mut i32) (i32.const 42)) (global $once (mut i32) (i32.const 42)) - ;; CHECK: (func $once (type $none_=>_none) + ;; CHECK: (func $once (type $0) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (global.get $once) ;; CHECK-NEXT: (return) @@ -307,7 +307,7 @@ (call $foo) ) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $0) ;; CHECK-NEXT: (call $once) ;; CHECK-NEXT: (call $once) ;; CHECK-NEXT: ) @@ -319,15 +319,15 @@ ;; Corner case: The if has an else. (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (import "env" "foo" (func $foo (type $none_=>_none))) + ;; CHECK: (import "env" "foo" (func $foo (type $0))) (import "env" "foo" (func $foo)) ;; CHECK: (global $once (mut i32) (i32.const 42)) (global $once (mut i32) (i32.const 42)) - ;; CHECK: (func $once (type $none_=>_none) + ;; CHECK: (func $once (type $0) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (global.get $once) ;; CHECK-NEXT: (return) @@ -348,7 +348,7 @@ (call $foo) ) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $0) ;; CHECK-NEXT: (call $once) ;; CHECK-NEXT: (call $once) ;; CHECK-NEXT: ) @@ -360,14 +360,14 @@ ;; Corner case: different global names in the get and set (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (global $once1 (mut i32) (i32.const 0)) (global $once1 (mut i32) (i32.const 0)) ;; CHECK: (global $once2 (mut i32) (i32.const 0)) (global $once2 (mut i32) (i32.const 0)) - ;; CHECK: (func $once (type $none_=>_none) + ;; CHECK: (func $once (type $0) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (global.get $once1) ;; CHECK-NEXT: (return) @@ -384,7 +384,7 @@ (global.set $once2 (i32.const 1)) ) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $0) ;; CHECK-NEXT: (call $once) ;; CHECK-NEXT: (call $once) ;; CHECK-NEXT: ) @@ -396,12 +396,12 @@ ;; Corner case: The global is written a zero. (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (global $once (mut i32) (i32.const 0)) (global $once (mut i32) (i32.const 0)) - ;; CHECK: (func $once (type $none_=>_none) + ;; CHECK: (func $once (type $0) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (global.get $once) ;; CHECK-NEXT: (return) @@ -418,7 +418,7 @@ (global.set $once (i32.const 0)) ) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $0) ;; CHECK-NEXT: (call $once) ;; CHECK-NEXT: (call $once) ;; CHECK-NEXT: ) @@ -430,12 +430,12 @@ ;; Corner case: The global is written a zero elsewhere. (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (global $once (mut i32) (i32.const 0)) (global $once (mut i32) (i32.const 0)) - ;; CHECK: (func $once (type $none_=>_none) + ;; CHECK: (func $once (type $0) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (global.get $once) ;; CHECK-NEXT: (return) @@ -452,7 +452,7 @@ (global.set $once (i32.const 1)) ) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $0) ;; CHECK-NEXT: (call $once) ;; CHECK-NEXT: (call $once) ;; CHECK-NEXT: (global.set $once @@ -470,12 +470,12 @@ ;; optimize, and in fact we can write a value different than 1 both there and ;; in the "once" function, and we can still optimize. (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (global $once (mut i32) (i32.const 0)) (global $once (mut i32) (i32.const 0)) - ;; CHECK: (func $once (type $none_=>_none) + ;; CHECK: (func $once (type $0) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (global.get $once) ;; CHECK-NEXT: (return) @@ -492,7 +492,7 @@ (global.set $once (i32.const 42)) ) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $0) ;; CHECK-NEXT: (call $once) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (nop) @@ -503,7 +503,7 @@ (global.set $once (i32.const 1337)) ) - ;; CHECK: (func $caller-2 (type $none_=>_none) + ;; CHECK: (func $caller-2 (type $0) ;; CHECK-NEXT: (global.set $once ;; CHECK-NEXT: (i32.const 1337) ;; CHECK-NEXT: ) @@ -521,12 +521,12 @@ ;; It is ok to call the "once" function inside itself - as that call appears ;; behind a set of the global, the call is redundant and we optimize it away. (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (global $once (mut i32) (i32.const 0)) (global $once (mut i32) (i32.const 0)) - ;; CHECK: (func $once (type $none_=>_none) + ;; CHECK: (func $once (type $0) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (global.get $once) ;; CHECK-NEXT: (return) @@ -548,12 +548,12 @@ ;; Corner case: Non-integer global, which we ignore. (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (global $once (mut f64) (f64.const 0)) (global $once (mut f64) (f64.const 0)) - ;; CHECK: (func $once (type $none_=>_none) + ;; CHECK: (func $once (type $0) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.trunc_f64_s ;; CHECK-NEXT: (global.get $once) @@ -575,7 +575,7 @@ (global.set $once (f64.const 1)) ) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $0) ;; CHECK-NEXT: (call $once) ;; CHECK-NEXT: (call $once) ;; CHECK-NEXT: ) @@ -590,7 +590,7 @@ ;; not then it will never be written to, and the "once" function will never run ;; at all, which is fine too) (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (import "env" "glob" (global $import i32)) (import "env" "glob" (global $import i32)) @@ -598,7 +598,7 @@ ;; CHECK: (global $once (mut i32) (global.get $import)) (global $once (mut i32) (global.get $import)) - ;; CHECK: (func $once (type $none_=>_none) + ;; CHECK: (func $once (type $0) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (global.get $once) ;; CHECK-NEXT: (return) @@ -615,7 +615,7 @@ (global.set $once (i32.const 1)) ) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $0) ;; CHECK-NEXT: (call $once) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) @@ -627,12 +627,12 @@ ;; Corner case: Non-constant later value. (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (global $once (mut i32) (i32.const 0)) (global $once (mut i32) (i32.const 0)) - ;; CHECK: (func $once (type $none_=>_none) + ;; CHECK: (func $once (type $0) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (global.get $once) ;; CHECK-NEXT: (return) @@ -653,7 +653,7 @@ (global.set $once (i32.eqz (i32.eqz (i32.const 1)))) ) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $0) ;; CHECK-NEXT: (call $once) ;; CHECK-NEXT: (call $once) ;; CHECK-NEXT: ) @@ -665,14 +665,14 @@ ;; Corner case: "Once" function has a param. (module - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $0 (func (param i32))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) ;; CHECK: (global $once (mut i32) (i32.const 0)) (global $once (mut i32) (i32.const 0)) - ;; CHECK: (func $once (type $i32_=>_none) (param $x i32) + ;; CHECK: (func $once (type $0) (param $x i32) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (global.get $once) ;; CHECK-NEXT: (return) @@ -689,7 +689,7 @@ (global.set $once (i32.const 1)) ) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $1) ;; CHECK-NEXT: (call $once ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) @@ -705,14 +705,14 @@ ;; Corner case: "Once" function has a result. (module - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $0 (func (result i32))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) ;; CHECK: (global $once (mut i32) (i32.const 0)) (global $once (mut i32) (i32.const 0)) - ;; CHECK: (func $once (type $none_=>_i32) (result i32) + ;; CHECK: (func $once (type $0) (result i32) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (global.get $once) ;; CHECK-NEXT: (return @@ -733,7 +733,7 @@ (i32.const 3) ) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $1) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $once) ;; CHECK-NEXT: ) @@ -749,12 +749,12 @@ ;; Corner case: "Once" function body is not a block. (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (global $once (mut i32) (i32.const 0)) (global $once (mut i32) (i32.const 0)) - ;; CHECK: (func $once (type $none_=>_none) + ;; CHECK: (func $once (type $0) ;; CHECK-NEXT: (loop $loop ;; CHECK-NEXT: (if ;; CHECK-NEXT: (global.get $once) @@ -775,7 +775,7 @@ ) ) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $0) ;; CHECK-NEXT: (call $once) ;; CHECK-NEXT: (call $once) ;; CHECK-NEXT: ) @@ -787,12 +787,12 @@ ;; Corner case: Once body is too short. (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (global $once (mut i32) (i32.const 0)) (global $once (mut i32) (i32.const 0)) - ;; CHECK: (func $once (type $none_=>_none) + ;; CHECK: (func $once (type $0) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (global.get $once) ;; CHECK-NEXT: (return) @@ -805,7 +805,7 @@ ) ) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $0) ;; CHECK-NEXT: (call $once) ;; CHECK-NEXT: (call $once) ;; CHECK-NEXT: ) @@ -817,12 +817,12 @@ ;; Corner case: Additional reads of the global. (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (global $once (mut i32) (i32.const 0)) (global $once (mut i32) (i32.const 0)) - ;; CHECK: (func $once (type $none_=>_none) + ;; CHECK: (func $once (type $0) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (global.get $once) ;; CHECK-NEXT: (return) @@ -839,7 +839,7 @@ (global.set $once (i32.const 1)) ) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $0) ;; CHECK-NEXT: (call $once) ;; CHECK-NEXT: (call $once) ;; CHECK-NEXT: (drop @@ -855,12 +855,12 @@ ;; Corner case: Additional reads of the global in the "once" func. (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (global $once (mut i32) (i32.const 0)) (global $once (mut i32) (i32.const 0)) - ;; CHECK: (func $once (type $none_=>_none) + ;; CHECK: (func $once (type $0) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (global.get $once) ;; CHECK-NEXT: (return) @@ -881,7 +881,7 @@ (drop (global.get $once)) ) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $0) ;; CHECK-NEXT: (call $once) ;; CHECK-NEXT: (call $once) ;; CHECK-NEXT: ) @@ -894,12 +894,12 @@ ;; Corner case: Optimization opportunties in unreachable code (which we can ;; ignore, but should not error on). (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (global $once (mut i32) (i32.const 0)) (global $once (mut i32) (i32.const 0)) - ;; CHECK: (func $once (type $none_=>_none) + ;; CHECK: (func $once (type $0) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (global.get $once) ;; CHECK-NEXT: (return) @@ -916,7 +916,7 @@ (global.set $once (i32.const 1)) ) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $0) ;; CHECK-NEXT: (call $once) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (unreachable) @@ -934,12 +934,12 @@ ;; Add a very long chain of control flow. (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (global $once (mut i32) (i32.const 0)) (global $once (mut i32) (i32.const 0)) - ;; CHECK: (func $once (type $none_=>_none) + ;; CHECK: (func $once (type $0) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (global.get $once) ;; CHECK-NEXT: (return) @@ -956,7 +956,7 @@ (global.set $once (i32.const 1)) ) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $0) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: (call $once) @@ -1069,9 +1069,9 @@ ;; A test with a try-catch. This verifies that we emit their contents properly ;; in reverse postorder and do not hit any assertions. (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $1 (func (param i32))) ;; CHECK: (global $once (mut i32) (i32.const 0)) @@ -1080,7 +1080,7 @@ (global $once (mut i32) (i32.const 0)) - ;; CHECK: (func $once (type $none_=>_none) + ;; CHECK: (func $once (type $0) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (global.get $once) ;; CHECK-NEXT: (return) @@ -1097,7 +1097,7 @@ (global.set $once (i32.const 1)) ) - ;; CHECK: (func $try-catch (type $none_=>_none) + ;; CHECK: (func $try-catch (type $0) ;; CHECK-NEXT: (try $label$5 ;; CHECK-NEXT: (do ;; CHECK-NEXT: (if @@ -1133,7 +1133,7 @@ ;; Test a module with more than one global that we can optimize, and more than ;; one that we cannot. - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (global $once1 (mut i32) (i32.const 0)) (global $once1 (mut i32) (i32.const 0)) @@ -1144,7 +1144,7 @@ ;; CHECK: (global $many2 (mut i32) (i32.const 0)) (global $many2 (mut i32) (i32.const 0)) - ;; CHECK: (func $once1 (type $none_=>_none) + ;; CHECK: (func $once1 (type $0) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (global.get $once1) ;; CHECK-NEXT: (return) @@ -1177,7 +1177,7 @@ (call $many2) ) - ;; CHECK: (func $many1 (type $none_=>_none) + ;; CHECK: (func $many1 (type $0) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (global.get $many1) ;; CHECK-NEXT: (return) @@ -1210,7 +1210,7 @@ (call $once2) ) - ;; CHECK: (func $once2 (type $none_=>_none) + ;; CHECK: (func $once2 (type $0) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (global.get $once2) ;; CHECK-NEXT: (return) @@ -1243,7 +1243,7 @@ (call $many1) ) - ;; CHECK: (func $many2 (type $none_=>_none) + ;; CHECK: (func $many2 (type $0) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (global.get $many2) ;; CHECK-NEXT: (return) @@ -1281,12 +1281,12 @@ ;; and D calls some "once" functions, then A can infer that it's call to B does ;; so. (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (global $once (mut i32) (i32.const 0)) (global $once (mut i32) (i32.const 0)) - ;; CHECK: (func $once (type $none_=>_none) + ;; CHECK: (func $once (type $0) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (global.get $once) ;; CHECK-NEXT: (return) @@ -1303,7 +1303,7 @@ (global.set $once (i32.const 1)) ) - ;; CHECK: (func $A (type $none_=>_none) + ;; CHECK: (func $A (type $0) ;; CHECK-NEXT: (call $B) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) @@ -1314,21 +1314,21 @@ (call $once) ) - ;; CHECK: (func $B (type $none_=>_none) + ;; CHECK: (func $B (type $0) ;; CHECK-NEXT: (call $C) ;; CHECK-NEXT: ) (func $B (call $C) ) - ;; CHECK: (func $C (type $none_=>_none) + ;; CHECK: (func $C (type $0) ;; CHECK-NEXT: (call $D) ;; CHECK-NEXT: ) (func $C (call $D) ) - ;; CHECK: (func $D (type $none_=>_none) + ;; CHECK: (func $D (type $0) ;; CHECK-NEXT: (call $once) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) @@ -1337,7 +1337,7 @@ (call $once) ) - ;; CHECK: (func $bad-A (type $none_=>_none) + ;; CHECK: (func $bad-A (type $0) ;; CHECK-NEXT: (call $bad-B) ;; CHECK-NEXT: (call $once) ;; CHECK-NEXT: ) @@ -1348,7 +1348,7 @@ (call $once) ) - ;; CHECK: (func $bad-B (type $none_=>_none) + ;; CHECK: (func $bad-B (type $0) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $bad-B @@ -1358,12 +1358,12 @@ ;; Corner case: Imported mutable global. We cannot optimize it, since the ;; outside may read and write it. (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (import "env" "glob" (global $once (mut i32))) (import "env" "glob" (global $once (mut i32))) - ;; CHECK: (func $once (type $none_=>_none) + ;; CHECK: (func $once (type $0) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (global.get $once) ;; CHECK-NEXT: (return) @@ -1380,7 +1380,7 @@ (global.set $once (i32.const 1)) ) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $0) ;; CHECK-NEXT: (call $once) ;; CHECK-NEXT: (call $once) ;; CHECK-NEXT: ) @@ -1393,7 +1393,7 @@ ;; Corner case: Exported mutable global. We cannot optimize it, since the ;; outside may read and write it. (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (global $once (mut i32) (i32.const 0)) (global $once (mut i32) (i32.const 0)) @@ -1401,7 +1401,7 @@ ;; CHECK: (export "once-global" (global $once)) (export "once-global" (global $once)) - ;; CHECK: (func $once (type $none_=>_none) + ;; CHECK: (func $once (type $0) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (global.get $once) ;; CHECK-NEXT: (return) @@ -1418,7 +1418,7 @@ (global.set $once (i32.const 1)) ) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $0) ;; CHECK-NEXT: (call $once) ;; CHECK-NEXT: (call $once) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/opt_flatten.wast b/test/lit/passes/opt_flatten.wast index cc8fd6028..d37df0155 100644 --- a/test/lit/passes/opt_flatten.wast +++ b/test/lit/passes/opt_flatten.wast @@ -7,10 +7,10 @@ (module ;; CHECK: (export "foo" (func $foo)) (export "foo" (func $foo)) - ;; CHECK: (func $foo (type $none_=>_funcref) (result funcref) + ;; CHECK: (func $foo (type $0) (result funcref) ;; CHECK-NEXT: (local $0 funcref) - ;; CHECK-NEXT: (local $1 (ref $none_=>_funcref)) - ;; CHECK-NEXT: (local $2 (ref $none_=>_funcref)) + ;; CHECK-NEXT: (local $1 (ref $0)) + ;; CHECK-NEXT: (local $2 (ref $0)) ;; CHECK-NEXT: (local $3 i32) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (local.set $0 diff --git a/test/lit/passes/optimize-added-constants-memory64.wast b/test/lit/passes/optimize-added-constants-memory64.wast index 3fbee69f4..93083f40b 100644 --- a/test/lit/passes/optimize-added-constants-memory64.wast +++ b/test/lit/passes/optimize-added-constants-memory64.wast @@ -7,7 +7,7 @@ (memory $0 i64 1 4294967296) - ;; CHECK: (func $load_i64 (type $none_=>_i64) (result i64) + ;; CHECK: (func $load_i64 (type $0) (result i64) ;; CHECK-NEXT: (i64.load ;; CHECK-NEXT: (i64.const 579) ;; CHECK-NEXT: ) @@ -18,7 +18,7 @@ ) ) - ;; CHECK: (func $load_overflow_i64 (type $none_=>_i64) (result i64) + ;; CHECK: (func $load_overflow_i64 (type $0) (result i64) ;; CHECK-NEXT: (i64.load offset=32 ;; CHECK-NEXT: (i64.const -16) ;; CHECK-NEXT: ) @@ -29,7 +29,7 @@ ) ) - ;; CHECK: (func $store (type $none_=>_none) + ;; CHECK: (func $store (type $1) ;; CHECK-NEXT: (i64.store ;; CHECK-NEXT: (i64.const 579) ;; CHECK-NEXT: (i64.const 123) @@ -42,7 +42,7 @@ ) ) - ;; CHECK: (func $store_overflow (type $none_=>_none) + ;; CHECK: (func $store_overflow (type $1) ;; CHECK-NEXT: (i64.store offset=32 ;; CHECK-NEXT: (i64.const -16) ;; CHECK-NEXT: (i64.const 123) diff --git a/test/lit/passes/optimize-casts-noeh.wast b/test/lit/passes/optimize-casts-noeh.wast index 88c7ae203..351c2fd4b 100644 --- a/test/lit/passes/optimize-casts-noeh.wast +++ b/test/lit/passes/optimize-casts-noeh.wast @@ -5,7 +5,7 @@ ;; CHECK: (type $A (struct )) (type $A (struct)) - ;; CHECK: (func $yes-past-call (type $ref|struct|_=>_none) (param $x (ref struct)) + ;; CHECK: (func $yes-past-call (type $1) (param $x (ref struct)) ;; CHECK-NEXT: (local $1 (ref $A)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.tee $1 @@ -34,7 +34,7 @@ ) ) - ;; CHECK: (func $yes-past-return_call (type $ref|struct|_=>_none) (param $x (ref struct)) + ;; CHECK: (func $yes-past-return_call (type $1) (param $x (ref struct)) ;; CHECK-NEXT: (local $1 (ref $A)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.tee $1 @@ -62,7 +62,7 @@ ) ) - ;; CHECK: (func $none (type $none_=>_none) + ;; CHECK: (func $none (type $2) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $none diff --git a/test/lit/passes/optimize-casts-tnh.wast b/test/lit/passes/optimize-casts-tnh.wast index 498d6849e..02720995e 100644 --- a/test/lit/passes/optimize-casts-tnh.wast +++ b/test/lit/passes/optimize-casts-tnh.wast @@ -8,7 +8,7 @@ ;; CHECK: (global $a (mut i32) (i32.const 0)) (global $a (mut i32) (i32.const 0)) - ;; CHECK: (func $best (type $ref|struct|_=>_none) (param $x (ref struct)) + ;; CHECK: (func $best (type $1) (param $x (ref struct)) ;; CHECK-NEXT: (local $1 (ref $A)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.tee $1 diff --git a/test/lit/passes/optimize-casts.wast b/test/lit/passes/optimize-casts.wast index 422734eb4..4c9e38df6 100644 --- a/test/lit/passes/optimize-casts.wast +++ b/test/lit/passes/optimize-casts.wast @@ -18,7 +18,7 @@ ;; CHECK: (global $a (mut i32) (i32.const 0)) (global $a (mut i32) (i32.const 0)) - ;; CHECK: (func $ref.as (type $ref?|$A|_=>_none) (param $x (ref null $A)) + ;; CHECK: (func $ref.as (type $8) (param $x (ref null $A)) ;; CHECK-NEXT: (local $1 (ref $A)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.tee $1 @@ -66,7 +66,7 @@ ) ) - ;; CHECK: (func $ref.as-no (type $ref|$A|_=>_none) (param $x (ref $A)) + ;; CHECK: (func $ref.as-no (type $6) (param $x (ref $A)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) @@ -108,7 +108,7 @@ ) ) - ;; CHECK: (func $ref.cast (type $ref|struct|_=>_none) (param $x (ref struct)) + ;; CHECK: (func $ref.cast (type $2) (param $x (ref struct)) ;; CHECK-NEXT: (local $1 (ref $A)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.tee $1 @@ -140,7 +140,7 @@ ) ) - ;; CHECK: (func $not-past-set (type $ref|struct|_=>_none) (param $x (ref struct)) + ;; CHECK: (func $not-past-set (type $2) (param $x (ref struct)) ;; CHECK-NEXT: (local $1 (ref $A)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.tee $1 @@ -177,7 +177,7 @@ ) ) - ;; CHECK: (func $yes-past-call (type $ref|struct|_=>_none) (param $x (ref struct)) + ;; CHECK: (func $yes-past-call (type $2) (param $x (ref struct)) ;; CHECK-NEXT: (local $1 (ref $A)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.tee $1 @@ -209,7 +209,7 @@ ) ) - ;; CHECK: (func $not-past-call_ref (type $ref|struct|_=>_none) (param $x (ref struct)) + ;; CHECK: (func $not-past-call_ref (type $2) (param $x (ref struct)) ;; CHECK-NEXT: (local $1 (ref $A)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.tee $1 @@ -240,7 +240,7 @@ ) ) - ;; CHECK: (func $not-backwards-past-call (type $ref|struct|_=>_none) (param $x (ref struct)) + ;; CHECK: (func $not-backwards-past-call (type $2) (param $x (ref struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) @@ -265,7 +265,7 @@ ) ) - ;; CHECK: (func $not-backwards-past-call_ref (type $ref|struct|_=>_none) (param $x (ref struct)) + ;; CHECK: (func $not-backwards-past-call_ref (type $2) (param $x (ref struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) @@ -293,7 +293,7 @@ ) ) - ;; CHECK: (func $best (type $ref|struct|_=>_none) (param $x (ref struct)) + ;; CHECK: (func $best (type $2) (param $x (ref struct)) ;; CHECK-NEXT: (local $1 (ref $A)) ;; CHECK-NEXT: (local $2 (ref $B)) ;; CHECK-NEXT: (drop @@ -358,7 +358,7 @@ ) ) - ;; CHECK: (func $best-2 (type $ref|struct|_=>_none) (param $x (ref struct)) + ;; CHECK: (func $best-2 (type $2) (param $x (ref struct)) ;; CHECK-NEXT: (local $1 (ref $B)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.tee $1 @@ -400,7 +400,7 @@ ) ) - ;; CHECK: (func $fallthrough (type $ref|struct|_=>_none) (param $x (ref struct)) + ;; CHECK: (func $fallthrough (type $2) (param $x (ref struct)) ;; CHECK-NEXT: (local $1 (ref $A)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.tee $1 @@ -429,7 +429,7 @@ ) ) - ;; CHECK: (func $past-basic-block (type $ref|struct|_=>_none) (param $x (ref struct)) + ;; CHECK: (func $past-basic-block (type $2) (param $x (ref struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.cast (ref $A) ;; CHECK-NEXT: (local.get $x) @@ -460,7 +460,7 @@ ) ) - ;; CHECK: (func $multiple (type $ref|struct|_ref|struct|_=>_none) (param $x (ref struct)) (param $y (ref struct)) + ;; CHECK: (func $multiple (type $7) (param $x (ref struct)) (param $y (ref struct)) ;; CHECK-NEXT: (local $a (ref struct)) ;; CHECK-NEXT: (local $b (ref struct)) ;; CHECK-NEXT: (local $4 (ref $A)) @@ -540,7 +540,7 @@ ) ) - ;; CHECK: (func $move-cast-1 (type $ref|struct|_=>_none) (param $x (ref struct)) + ;; CHECK: (func $move-cast-1 (type $2) (param $x (ref struct)) ;; CHECK-NEXT: (local $1 (ref $B)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.cast (ref $B) @@ -581,7 +581,7 @@ ) ) - ;; CHECK: (func $move-cast-2 (type $ref|struct|_=>_none) (param $x (ref struct)) + ;; CHECK: (func $move-cast-2 (type $2) (param $x (ref struct)) ;; CHECK-NEXT: (local $1 (ref $B)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.cast (ref $B) @@ -621,7 +621,7 @@ ) ) - ;; CHECK: (func $move-cast-3 (type $ref|struct|_=>_none) (param $x (ref struct)) + ;; CHECK: (func $move-cast-3 (type $2) (param $x (ref struct)) ;; CHECK-NEXT: (local $1 (ref $B)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.tee $1 @@ -659,7 +659,7 @@ ) ) - ;; CHECK: (func $move-cast-4 (type $ref|struct|_=>_none) (param $x (ref struct)) + ;; CHECK: (func $move-cast-4 (type $2) (param $x (ref struct)) ;; CHECK-NEXT: (local $1 (ref $B)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.tee $1 @@ -697,7 +697,7 @@ ) ) - ;; CHECK: (func $move-cast-5 (type $ref|struct|_=>_none) (param $x (ref struct)) + ;; CHECK: (func $move-cast-5 (type $2) (param $x (ref struct)) ;; CHECK-NEXT: (local $1 (ref $B)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.tee $1 @@ -734,7 +734,7 @@ ) ) - ;; CHECK: (func $move-cast-6 (type $ref|struct|_=>_none) (param $x (ref struct)) + ;; CHECK: (func $move-cast-6 (type $2) (param $x (ref struct)) ;; CHECK-NEXT: (local $1 (ref $B)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.tee $1 @@ -770,7 +770,7 @@ ) ) - ;; CHECK: (func $no-move-already-refined-local (type $ref|$B|_=>_none) (param $x (ref $B)) + ;; CHECK: (func $no-move-already-refined-local (type $9) (param $x (ref $B)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) @@ -793,7 +793,7 @@ ) ) - ;; CHECK: (func $no-move-ref.as-to-non-nullable-local (type $ref|struct|_=>_none) (param $x (ref struct)) + ;; CHECK: (func $no-move-ref.as-to-non-nullable-local (type $2) (param $x (ref struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) @@ -817,7 +817,7 @@ ) ) - ;; CHECK: (func $avoid-erroneous-cast-move (type $ref|$A|_=>_none) (param $x (ref $A)) + ;; CHECK: (func $avoid-erroneous-cast-move (type $6) (param $x (ref $A)) ;; CHECK-NEXT: (local $a (ref $A)) ;; CHECK-NEXT: (local.set $a ;; CHECK-NEXT: (local.get $x) @@ -850,7 +850,7 @@ ) ) - ;; CHECK: (func $move-as-1 (type $structref_=>_none) (param $x structref) + ;; CHECK: (func $move-as-1 (type $3) (param $x structref) ;; CHECK-NEXT: (local $1 (ref struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.tee $1 @@ -878,7 +878,7 @@ ) ) - ;; CHECK: (func $move-as-2 (type $structref_=>_none) (param $x structref) + ;; CHECK: (func $move-as-2 (type $3) (param $x structref) ;; CHECK-NEXT: (local $1 (ref struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.tee $1 @@ -904,7 +904,7 @@ ) ) - ;; CHECK: (func $move-cast-side-effects (type $ref|struct|_ref|struct|_=>_none) (param $x (ref struct)) (param $y (ref struct)) + ;; CHECK: (func $move-cast-side-effects (type $7) (param $x (ref struct)) (param $y (ref struct)) ;; CHECK-NEXT: (local $2 (ref $A)) ;; CHECK-NEXT: (local $3 (ref $B)) ;; CHECK-NEXT: (drop @@ -987,7 +987,7 @@ ) ) - ;; CHECK: (func $move-ref.as-for-separate-index (type $structref_structref_=>_none) (param $x structref) (param $y structref) + ;; CHECK: (func $move-ref.as-for-separate-index (type $5) (param $x structref) (param $y structref) ;; CHECK-NEXT: (local $2 (ref struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.get $x) @@ -1039,7 +1039,7 @@ ) ) - ;; CHECK: (func $move-ref.as-and-ref.cast (type $structref_=>_none) (param $x structref) + ;; CHECK: (func $move-ref.as-and-ref.cast (type $3) (param $x structref) ;; CHECK-NEXT: (local $1 (ref $A)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.tee $1 @@ -1076,7 +1076,7 @@ ) ) - ;; CHECK: (func $move-ref.as-and-ref.cast-2 (type $structref_=>_none) (param $x structref) + ;; CHECK: (func $move-ref.as-and-ref.cast-2 (type $3) (param $x structref) ;; CHECK-NEXT: (local $1 (ref $A)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.tee $1 @@ -1119,7 +1119,7 @@ ) ) - ;; CHECK: (func $move-ref.as-and-ref.cast-3 (type $structref_=>_none) (param $x structref) + ;; CHECK: (func $move-ref.as-and-ref.cast-3 (type $3) (param $x structref) ;; CHECK-NEXT: (local $1 (ref $A)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.tee $1 @@ -1163,7 +1163,7 @@ ) ) - ;; CHECK: (func $unoptimizable-nested-casts (type $structref_=>_none) (param $x structref) + ;; CHECK: (func $unoptimizable-nested-casts (type $3) (param $x structref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.cast (ref $B) ;; CHECK-NEXT: (ref.as_non_null @@ -1184,7 +1184,7 @@ ) ) - ;; CHECK: (func $no-move-over-self-tee (type $structref_structref_=>_none) (param $x structref) (param $y structref) + ;; CHECK: (func $no-move-over-self-tee (type $5) (param $x structref) (param $y structref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) @@ -1212,7 +1212,7 @@ ) ) - ;; CHECK: (func $move-over-tee (type $structref_structref_=>_none) (param $x structref) (param $y structref) + ;; CHECK: (func $move-over-tee (type $5) (param $x structref) (param $y structref) ;; CHECK-NEXT: (local $a structref) ;; CHECK-NEXT: (local $3 (ref $A)) ;; CHECK-NEXT: (drop @@ -1245,7 +1245,7 @@ ) ) - ;; CHECK: (func $move-identical-repeated-casts (type $ref|struct|_=>_none) (param $x (ref struct)) + ;; CHECK: (func $move-identical-repeated-casts (type $2) (param $x (ref struct)) ;; CHECK-NEXT: (local $1 (ref $A)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.tee $1 @@ -1284,7 +1284,7 @@ ) ) - ;; CHECK: (func $no-move-past-non-linear (type $structref_=>_none) (param $x structref) + ;; CHECK: (func $no-move-past-non-linear (type $3) (param $x structref) ;; CHECK-NEXT: (local $1 (ref struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.get $x) @@ -1346,7 +1346,7 @@ ) ) - ;; CHECK: (func $get (type $none_=>_ref|struct|) (result (ref struct)) + ;; CHECK: (func $get (type $11) (result (ref struct)) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) (func $get (result (ref struct)) diff --git a/test/lit/passes/optimize-for-js.wast b/test/lit/passes/optimize-for-js.wast index e35cb6a05..7ba2649f5 100644 --- a/test/lit/passes/optimize-for-js.wast +++ b/test/lit/passes/optimize-for-js.wast @@ -3,7 +3,7 @@ ;; RUN: | filecheck %s (module - ;; CHECK: (func $is-power-of-2_32 (type $i32_=>_i32) (param $x i32) (result i32) + ;; CHECK: (func $is-power-of-2_32 (type $1) (param $x i32) (result i32) ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.eqz @@ -27,7 +27,7 @@ (i32.const 1) ) ) - ;; CHECK: (func $is-power-of-2_expr_32 (type $i64_=>_i32) (param $x i64) (result i32) + ;; CHECK: (func $is-power-of-2_expr_32 (type $0) (param $x i64) (result i32) ;; CHECK-NEXT: (local $1 i32) ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.eqz @@ -56,7 +56,7 @@ (i32.const 1) ) ) - ;; CHECK: (func $is-power-of-2_64 (type $i64_=>_i32) (param $x i64) (result i32) + ;; CHECK: (func $is-power-of-2_64 (type $0) (param $x i64) (result i32) ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i64.eqz diff --git a/test/lit/passes/optimize-instructions-call_ref-roundtrip.wast b/test/lit/passes/optimize-instructions-call_ref-roundtrip.wast index 0e59d6df3..6fdcae0b2 100644 --- a/test/lit/passes/optimize-instructions-call_ref-roundtrip.wast +++ b/test/lit/passes/optimize-instructions-call_ref-roundtrip.wast @@ -22,7 +22,7 @@ (type $v3 (func)) ) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $3 (func (param i32))) ;; CHECK: (table $table-1 10 (ref null $v1)) (table $table-1 10 (ref null $v1)) @@ -58,7 +58,7 @@ ;; CHECK-NEXT: ) (func $helper-3 (type $v3)) - ;; CHECK: (func $call-table-get (type $i32_=>_none) (param $x i32) + ;; CHECK: (func $call-table-get (type $3) (param $x i32) ;; CHECK-NEXT: (call_indirect $table-1 (type $v1) ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/optimize-instructions-call_ref.wast b/test/lit/passes/optimize-instructions-call_ref.wast index 5033eca3c..29c09eb0f 100644 --- a/test/lit/passes/optimize-instructions-call_ref.wast +++ b/test/lit/passes/optimize-instructions-call_ref.wast @@ -14,12 +14,12 @@ ;; CHECK: (type $none_=>_none (func)) (type $none_=>_none (func)) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $3 (func (param i32))) ;; CHECK: (type $struct_=>_none (func (param (ref struct)))) (type $struct_=>_none (func (param (ref struct)))) - ;; CHECK: (type $i32_i32_i32_ref|$i32_i32_=>_none|_=>_none (func (param i32 i32 i32 (ref $i32_i32_=>_none)))) + ;; CHECK: (type $5 (func (param i32 i32 i32 (ref $i32_i32_=>_none)))) ;; CHECK: (table $table-1 10 (ref null $i32_i32_=>_none)) (table $table-1 10 (ref null $i32_i32_=>_none)) @@ -58,7 +58,7 @@ ) ) - ;; CHECK: (func $fallthrough (type $i32_=>_none) (param $x i32) + ;; CHECK: (func $fallthrough (type $3) (param $x i32) ;; CHECK-NEXT: (local $1 i32) ;; CHECK-NEXT: (call $foo ;; CHECK-NEXT: (local.tee $x @@ -227,7 +227,7 @@ ) ) - ;; CHECK: (func $call-table-get (type $i32_=>_none) (param $x i32) + ;; CHECK: (func $call-table-get (type $3) (param $x i32) ;; CHECK-NEXT: (call_indirect $table-1 (type $i32_i32_=>_none) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: (i32.const 2) @@ -244,7 +244,7 @@ ) ) - ;; CHECK: (func $call_ref-to-select (type $i32_i32_i32_ref|$i32_i32_=>_none|_=>_none) (param $x i32) (param $y i32) (param $z i32) (param $f (ref $i32_i32_=>_none)) + ;; CHECK: (func $call_ref-to-select (type $5) (param $x i32) (param $y i32) (param $z i32) (param $f (ref $i32_i32_=>_none)) ;; CHECK-NEXT: (local $4 i32) ;; CHECK-NEXT: (local $5 i32) ;; CHECK-NEXT: (block diff --git a/test/lit/passes/optimize-instructions-eh.wast b/test/lit/passes/optimize-instructions-eh.wast index afed1accc..a6c650183 100644 --- a/test/lit/passes/optimize-instructions-eh.wast +++ b/test/lit/passes/optimize-instructions-eh.wast @@ -5,7 +5,7 @@ (module ;; CHECK: (tag $e (param i32)) - ;; CHECK: (func $dummy (type $none_=>_none) + ;; CHECK: (func $dummy (type $0) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $dummy) @@ -23,7 +23,7 @@ ;; is guaranteed to contain a value equal to or less than 7. - ;; CHECK: (func $getFallthrough-try-no-throw (type $none_=>_none) + ;; CHECK: (func $getFallthrough-try-no-throw (type $0) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (local.set $x ;; CHECK-NEXT: (try (result i32) @@ -57,7 +57,7 @@ (drop (i32.and (local.get $x) (i32.const 7))) ) - ;; CHECK: (func $getFallthrough-try-may-throw (type $none_=>_none) + ;; CHECK: (func $getFallthrough-try-may-throw (type $0) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (local.set $x ;; CHECK-NEXT: (try (result i32) @@ -95,7 +95,7 @@ (drop (i32.and (local.get $x) (i32.const 7))) ) - ;; CHECK: (func $getFallthrough-nested-try-0 (type $none_=>_none) + ;; CHECK: (func $getFallthrough-nested-try-0 (type $0) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (local.set $x ;; CHECK-NEXT: (try (result i32) @@ -154,7 +154,7 @@ (drop (i32.and (local.get $x) (i32.const 7))) ) - ;; CHECK: (func $getFallthrough-nested-try-1 (type $none_=>_none) + ;; CHECK: (func $getFallthrough-nested-try-1 (type $0) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (local.set $x ;; CHECK-NEXT: (try (result i32) @@ -202,7 +202,7 @@ (drop (i32.and (local.get $x) (i32.const 7))) ) - ;; CHECK: (func $getFallthrough-nested-try-2 (type $none_=>_none) + ;; CHECK: (func $getFallthrough-nested-try-2 (type $0) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (local.set $x ;; CHECK-NEXT: (try (result i32) diff --git a/test/lit/passes/optimize-instructions-gc-extern.wast b/test/lit/passes/optimize-instructions-gc-extern.wast index 007be6efa..558665171 100644 --- a/test/lit/passes/optimize-instructions-gc-extern.wast +++ b/test/lit/passes/optimize-instructions-gc-extern.wast @@ -3,7 +3,7 @@ ;; RUN: | filecheck %s (module - ;; CHECK: (func $extern.externalize (type $anyref_externref_=>_none) (param $x anyref) (param $y externref) + ;; CHECK: (func $extern.externalize (type $0) (param $x anyref) (param $y externref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (extern.externalize ;; CHECK-NEXT: (local.get $x) diff --git a/test/lit/passes/optimize-instructions-gc-heap.wast b/test/lit/passes/optimize-instructions-gc-heap.wast index 6149719dd..5af517bfe 100644 --- a/test/lit/passes/optimize-instructions-gc-heap.wast +++ b/test/lit/passes/optimize-instructions-gc-heap.wast @@ -15,7 +15,7 @@ ;; CHECK: (type $struct3 (struct (field (mut i32)) (field (mut i32)) (field (mut i32)))) (type $struct3 (struct (field (mut i32)) (field (mut i32)) (field (mut i32)))) - ;; CHECK: (func $tee (type $none_=>_none) + ;; CHECK: (func $tee (type $1) ;; CHECK-NEXT: (local $ref (ref null $struct)) ;; CHECK-NEXT: (local.set $ref ;; CHECK-NEXT: (struct.new $struct @@ -36,7 +36,7 @@ ) ) - ;; CHECK: (func $side-effects-in-old-value (type $none_=>_none) + ;; CHECK: (func $side-effects-in-old-value (type $1) ;; CHECK-NEXT: (local $ref (ref null $struct)) ;; CHECK-NEXT: (local.set $ref ;; CHECK-NEXT: (struct.new $struct @@ -64,7 +64,7 @@ ) ) - ;; CHECK: (func $side-effects-in-new-value (type $none_=>_none) + ;; CHECK: (func $side-effects-in-new-value (type $1) ;; CHECK-NEXT: (local $ref (ref null $struct)) ;; CHECK-NEXT: (local.set $ref ;; CHECK-NEXT: (struct.new $struct @@ -87,7 +87,7 @@ ) ) - ;; CHECK: (func $many-fields (type $none_=>_none) + ;; CHECK: (func $many-fields (type $1) ;; CHECK-NEXT: (local $ref (ref null $struct2)) ;; CHECK-NEXT: (local.set $ref ;; CHECK-NEXT: (struct.new $struct2 @@ -126,7 +126,7 @@ ) ) - ;; CHECK: (func $side-effect-conflict (type $none_=>_none) + ;; CHECK: (func $side-effect-conflict (type $1) ;; CHECK-NEXT: (local $ref (ref null $struct2)) ;; CHECK-NEXT: (struct.set $struct2 0 ;; CHECK-NEXT: (local.tee $ref @@ -157,7 +157,7 @@ ) ) - ;; CHECK: (func $side-effect-ok (type $none_=>_none) + ;; CHECK: (func $side-effect-ok (type $1) ;; CHECK-NEXT: (local $ref (ref null $struct2)) ;; CHECK-NEXT: (local.set $ref ;; CHECK-NEXT: (struct.new $struct2 @@ -189,7 +189,7 @@ ) ) - ;; CHECK: (func $optimize-subsequent (type $none_=>_none) + ;; CHECK: (func $optimize-subsequent (type $1) ;; CHECK-NEXT: (local $ref (ref null $struct)) ;; CHECK-NEXT: (local.set $ref ;; CHECK-NEXT: (struct.new $struct @@ -212,7 +212,7 @@ ) ) - ;; CHECK: (func $optimize-subsequent-bad-local (type $none_=>_none) + ;; CHECK: (func $optimize-subsequent-bad-local (type $1) ;; CHECK-NEXT: (local $ref (ref null $struct)) ;; CHECK-NEXT: (local $other (ref null $struct)) ;; CHECK-NEXT: (local.set $ref @@ -241,7 +241,7 @@ ) ) - ;; CHECK: (func $optimize-chain (type $none_=>_none) + ;; CHECK: (func $optimize-chain (type $1) ;; CHECK-NEXT: (local $ref (ref null $struct)) ;; CHECK-NEXT: (local.set $ref ;; CHECK-NEXT: (struct.new $struct @@ -269,7 +269,7 @@ ) ) - ;; CHECK: (func $pattern-breaker (type $none_=>_none) + ;; CHECK: (func $pattern-breaker (type $1) ;; CHECK-NEXT: (local $ref (ref null $struct)) ;; CHECK-NEXT: (local.set $ref ;; CHECK-NEXT: (struct.new $struct @@ -297,7 +297,7 @@ ) ) - ;; CHECK: (func $ref-local-write (type $none_=>_none) + ;; CHECK: (func $ref-local-write (type $1) ;; CHECK-NEXT: (local $ref (ref null $struct)) ;; CHECK-NEXT: (local.set $ref ;; CHECK-NEXT: (struct.new $struct @@ -333,7 +333,7 @@ ) ) - ;; CHECK: (func $ref-local-write-tee (type $none_=>_none) + ;; CHECK: (func $ref-local-write-tee (type $1) ;; CHECK-NEXT: (local $ref (ref null $struct)) ;; CHECK-NEXT: (struct.set $struct 0 ;; CHECK-NEXT: (local.tee $ref @@ -367,7 +367,7 @@ ) ) - ;; CHECK: (func $other-local-write (type $none_=>_none) + ;; CHECK: (func $other-local-write (type $1) ;; CHECK-NEXT: (local $ref (ref null $struct)) ;; CHECK-NEXT: (local $other (ref null $struct)) ;; CHECK-NEXT: (local.set $ref @@ -402,7 +402,7 @@ ) ) - ;; CHECK: (func $ref-local-read (type $none_=>_none) + ;; CHECK: (func $ref-local-read (type $1) ;; CHECK-NEXT: (local $ref (ref null $struct)) ;; CHECK-NEXT: (local.set $ref ;; CHECK-NEXT: (struct.new $struct @@ -438,7 +438,7 @@ ) ) - ;; CHECK: (func $ref-local-read-tee (type $none_=>_none) + ;; CHECK: (func $ref-local-read-tee (type $1) ;; CHECK-NEXT: (local $ref (ref null $struct)) ;; CHECK-NEXT: (struct.set $struct 0 ;; CHECK-NEXT: (local.tee $ref @@ -472,7 +472,7 @@ ) ) - ;; CHECK: (func $ref-other-read (type $none_=>_none) + ;; CHECK: (func $ref-other-read (type $1) ;; CHECK-NEXT: (local $ref (ref null $struct)) ;; CHECK-NEXT: (local $other (ref null $struct)) ;; CHECK-NEXT: (local.set $ref @@ -507,7 +507,7 @@ ) ) - ;; CHECK: (func $tee-and-subsequent (type $none_=>_none) + ;; CHECK: (func $tee-and-subsequent (type $1) ;; CHECK-NEXT: (local $ref (ref null $struct3)) ;; CHECK-NEXT: (local.set $ref ;; CHECK-NEXT: (struct.new $struct3 @@ -543,7 +543,7 @@ ) ) - ;; CHECK: (func $side-effect-subsequent-ok (type $none_=>_none) + ;; CHECK: (func $side-effect-subsequent-ok (type $1) ;; CHECK-NEXT: (local $ref (ref null $struct2)) ;; CHECK-NEXT: (local.set $ref ;; CHECK-NEXT: (struct.new $struct2 @@ -573,7 +573,7 @@ ) ) - ;; CHECK: (func $default (type $none_=>_none) + ;; CHECK: (func $default (type $1) ;; CHECK-NEXT: (local $ref (ref null $struct)) ;; CHECK-NEXT: (struct.set $struct 0 ;; CHECK-NEXT: (local.tee $ref @@ -594,7 +594,7 @@ ) ) - ;; CHECK: (func $many-news (type $none_=>_none) + ;; CHECK: (func $many-news (type $1) ;; CHECK-NEXT: (local $ref (ref null $struct3)) ;; CHECK-NEXT: (local $ref2 (ref null $struct3)) ;; CHECK-NEXT: (local.set $ref @@ -710,7 +710,7 @@ ) ) - ;; CHECK: (func $unreachable (type $none_=>_none) + ;; CHECK: (func $unreachable (type $1) ;; CHECK-NEXT: (local $ref (ref null $struct)) ;; CHECK-NEXT: (local.tee $ref ;; CHECK-NEXT: (block ;; (replaces something unreachable we can't emit) @@ -760,7 +760,7 @@ ) ) - ;; CHECK: (func $helper-i32 (type $i32_=>_i32) (param $x i32) (result i32) + ;; CHECK: (func $helper-i32 (type $4) (param $x i32) (result i32) ;; CHECK-NEXT: (i32.const 42) ;; CHECK-NEXT: ) (func $helper-i32 (param $x i32) (result i32) diff --git a/test/lit/passes/optimize-instructions-gc-iit.wast b/test/lit/passes/optimize-instructions-gc-iit.wast index 6a1d7d2a3..02a9c6f29 100644 --- a/test/lit/passes/optimize-instructions-gc-iit.wast +++ b/test/lit/passes/optimize-instructions-gc-iit.wast @@ -18,15 +18,15 @@ ;; TNH: (type $other (struct (field i64) (field f32))) (type $other (struct (field i64) (field f32))) - ;; CHECK: (func $foo (type $none_=>_none) + ;; CHECK: (func $foo (type $2) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) - ;; TNH: (func $foo (type $none_=>_none) + ;; TNH: (func $foo (type $2) ;; TNH-NEXT: (nop) ;; TNH-NEXT: ) (func $foo) - ;; CHECK: (func $ref-cast-iit (type $ref|$parent|_ref|$child|_ref|$other|_=>_none) (param $parent (ref $parent)) (param $child (ref $child)) (param $other (ref $other)) + ;; CHECK: (func $ref-cast-iit (type $4) (param $parent (ref $parent)) (param $child (ref $child)) (param $other (ref $other)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.get $parent) ;; CHECK-NEXT: ) @@ -47,7 +47,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; TNH: (func $ref-cast-iit (type $ref|$parent|_ref|$child|_ref|$other|_=>_none) (param $parent (ref $parent)) (param $child (ref $child)) (param $other (ref $other)) + ;; TNH: (func $ref-cast-iit (type $4) (param $parent (ref $parent)) (param $child (ref $child)) (param $other (ref $other)) ;; TNH-NEXT: (drop ;; TNH-NEXT: (local.get $parent) ;; TNH-NEXT: ) @@ -102,7 +102,7 @@ ) ) - ;; CHECK: (func $ref-cast-iit-bad (type $ref|$parent|_=>_none) (param $parent (ref $parent)) + ;; CHECK: (func $ref-cast-iit-bad (type $5) (param $parent (ref $parent)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result (ref $parent)) ;; CHECK-NEXT: (call $foo) @@ -118,7 +118,7 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; TNH: (func $ref-cast-iit-bad (type $ref|$parent|_=>_none) (param $parent (ref $parent)) + ;; TNH: (func $ref-cast-iit-bad (type $5) (param $parent (ref $parent)) ;; TNH-NEXT: (drop ;; TNH-NEXT: (block (result (ref $parent)) ;; TNH-NEXT: (call $foo) @@ -155,12 +155,12 @@ ) ) - ;; CHECK: (func $ref-eq-ref-cast (type $eqref_=>_none) (param $x eqref) + ;; CHECK: (func $ref-eq-ref-cast (type $6) (param $x eqref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; TNH: (func $ref-eq-ref-cast (type $eqref_=>_none) (param $x eqref) + ;; TNH: (func $ref-eq-ref-cast (type $6) (param $x eqref) ;; TNH-NEXT: (drop ;; TNH-NEXT: (i32.const 1) ;; TNH-NEXT: ) @@ -177,12 +177,12 @@ ) ) - ;; CHECK: (func $set-of-as-non-null (type $anyref_=>_none) (param $x anyref) + ;; CHECK: (func $set-of-as-non-null (type $7) (param $x anyref) ;; CHECK-NEXT: (local.set $x ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; TNH: (func $set-of-as-non-null (type $anyref_=>_none) (param $x anyref) + ;; TNH: (func $set-of-as-non-null (type $7) (param $x anyref) ;; TNH-NEXT: (local.set $x ;; TNH-NEXT: (local.get $x) ;; TNH-NEXT: ) @@ -215,12 +215,12 @@ (type $D (struct_subtype $A)) ) - ;; CHECK: (func $test (type $ref|$C|_=>_anyref) (param $C (ref $C)) (result anyref) + ;; CHECK: (func $test (type $4) (param $C (ref $C)) (result anyref) ;; CHECK-NEXT: (struct.get $C 0 ;; CHECK-NEXT: (local.get $C) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; TNH: (func $test (type $ref|$C|_=>_anyref) (param $C (ref $C)) (result anyref) + ;; TNH: (func $test (type $4) (param $C (ref $C)) (result anyref) ;; TNH-NEXT: (struct.get $C 0 ;; TNH-NEXT: (local.get $C) ;; TNH-NEXT: ) diff --git a/test/lit/passes/optimize-instructions-gc-tnh-nn.wast b/test/lit/passes/optimize-instructions-gc-tnh-nn.wast index aa696f819..c5692a692 100644 --- a/test/lit/passes/optimize-instructions-gc-tnh-nn.wast +++ b/test/lit/passes/optimize-instructions-gc-tnh-nn.wast @@ -3,7 +3,7 @@ ;; RUN: | filecheck %s (module - ;; CHECK: (func $set-of-as-non-null (type $none_=>_none) + ;; CHECK: (func $set-of-as-non-null (type $0) ;; CHECK-NEXT: (local $x anyref) ;; CHECK-NEXT: (local.set $x ;; CHECK-NEXT: (ref.as_non_null diff --git a/test/lit/passes/optimize-instructions-gc-tnh.wast b/test/lit/passes/optimize-instructions-gc-tnh.wast index 4d7ed0c48..d56b296da 100644 --- a/test/lit/passes/optimize-instructions-gc-tnh.wast +++ b/test/lit/passes/optimize-instructions-gc-tnh.wast @@ -11,17 +11,17 @@ ;; NO_TNH: (type $void (func)) (type $void (func)) - ;; TNH: (import "a" "b" (func $import (type $none_=>_i32) (result i32))) - ;; NO_TNH: (import "a" "b" (func $import (type $none_=>_i32) (result i32))) + ;; TNH: (import "a" "b" (func $import (type $2) (result i32))) + ;; NO_TNH: (import "a" "b" (func $import (type $2) (result i32))) (import "a" "b" (func $import (result i32))) - ;; TNH: (func $ref.eq (type $eqref_eqref_=>_i32) (param $a eqref) (param $b eqref) (result i32) + ;; TNH: (func $ref.eq (type $7) (param $a eqref) (param $b eqref) (result i32) ;; TNH-NEXT: (ref.eq ;; TNH-NEXT: (local.get $a) ;; TNH-NEXT: (local.get $b) ;; TNH-NEXT: ) ;; TNH-NEXT: ) - ;; NO_TNH: (func $ref.eq (type $eqref_eqref_=>_i32) (param $a eqref) (param $b eqref) (result i32) + ;; NO_TNH: (func $ref.eq (type $7) (param $a eqref) (param $b eqref) (result i32) ;; NO_TNH-NEXT: (ref.eq ;; NO_TNH-NEXT: (ref.cast (ref $struct) ;; NO_TNH-NEXT: (local.get $a) @@ -56,12 +56,12 @@ ) ) - ;; TNH: (func $ref.eq-no (type $eqref_eqref_anyref_=>_none) (param $a eqref) (param $b eqref) (param $any anyref) + ;; TNH: (func $ref.eq-no (type $8) (param $a eqref) (param $b eqref) (param $any anyref) ;; TNH-NEXT: (drop ;; TNH-NEXT: (i32.const 1) ;; TNH-NEXT: ) ;; TNH-NEXT: ) - ;; NO_TNH: (func $ref.eq-no (type $eqref_eqref_anyref_=>_none) (param $a eqref) (param $b eqref) (param $any anyref) + ;; NO_TNH: (func $ref.eq-no (type $8) (param $a eqref) (param $b eqref) (param $any anyref) ;; NO_TNH-NEXT: (drop ;; NO_TNH-NEXT: (ref.eq ;; NO_TNH-NEXT: (ref.cast (ref null $struct) @@ -91,7 +91,7 @@ ) ) - ;; TNH: (func $ref.is (type $eqref_=>_i32) (param $a eqref) (result i32) + ;; TNH: (func $ref.is (type $3) (param $a eqref) (result i32) ;; TNH-NEXT: (drop ;; TNH-NEXT: (ref.cast (ref $struct) ;; TNH-NEXT: (local.get $a) @@ -99,7 +99,7 @@ ;; TNH-NEXT: ) ;; TNH-NEXT: (i32.const 0) ;; TNH-NEXT: ) - ;; NO_TNH: (func $ref.is (type $eqref_=>_i32) (param $a eqref) (result i32) + ;; NO_TNH: (func $ref.is (type $3) (param $a eqref) (result i32) ;; NO_TNH-NEXT: (drop ;; NO_TNH-NEXT: (ref.cast (ref $struct) ;; NO_TNH-NEXT: (local.get $a) @@ -121,7 +121,7 @@ ) ) - ;; TNH: (func $ref.is_b (type $eqref_funcref_=>_i32) (param $a eqref) (param $f funcref) (result i32) + ;; TNH: (func $ref.is_b (type $9) (param $a eqref) (param $f funcref) (result i32) ;; TNH-NEXT: (drop ;; TNH-NEXT: (ref.is_null ;; TNH-NEXT: (local.get $a) @@ -131,7 +131,7 @@ ;; TNH-NEXT: (local.get $f) ;; TNH-NEXT: ) ;; TNH-NEXT: ) - ;; NO_TNH: (func $ref.is_b (type $eqref_funcref_=>_i32) (param $a eqref) (param $f funcref) (result i32) + ;; NO_TNH: (func $ref.is_b (type $9) (param $a eqref) (param $f funcref) (result i32) ;; NO_TNH-NEXT: (drop ;; NO_TNH-NEXT: (ref.is_null ;; NO_TNH-NEXT: (ref.cast (ref null $struct) @@ -164,7 +164,7 @@ ) ) - ;; TNH: (func $ref.test (type $eqref_=>_i32) (param $a eqref) (result i32) + ;; TNH: (func $ref.test (type $3) (param $a eqref) (result i32) ;; TNH-NEXT: (drop ;; TNH-NEXT: (block (result i32) ;; TNH-NEXT: (drop @@ -184,7 +184,7 @@ ;; TNH-NEXT: (i32.const 1) ;; TNH-NEXT: ) ;; TNH-NEXT: ) - ;; NO_TNH: (func $ref.test (type $eqref_=>_i32) (param $a eqref) (result i32) + ;; NO_TNH: (func $ref.test (type $3) (param $a eqref) (result i32) ;; NO_TNH-NEXT: (drop ;; NO_TNH-NEXT: (block (result i32) ;; NO_TNH-NEXT: (drop @@ -219,7 +219,7 @@ ) ) - ;; TNH: (func $if.arm.null (type $i32_ref|$struct|_=>_none) (param $x i32) (param $ref (ref $struct)) + ;; TNH: (func $if.arm.null (type $4) (param $x i32) (param $ref (ref $struct)) ;; TNH-NEXT: (struct.set $struct 0 ;; TNH-NEXT: (block (result (ref $struct)) ;; TNH-NEXT: (drop @@ -239,7 +239,7 @@ ;; TNH-NEXT: (i32.const 2) ;; TNH-NEXT: ) ;; TNH-NEXT: ) - ;; NO_TNH: (func $if.arm.null (type $i32_ref|$struct|_=>_none) (param $x i32) (param $ref (ref $struct)) + ;; NO_TNH: (func $if.arm.null (type $4) (param $x i32) (param $ref (ref $struct)) ;; NO_TNH-NEXT: (struct.set $struct 0 ;; NO_TNH-NEXT: (if (result (ref null $struct)) ;; NO_TNH-NEXT: (local.get $x) @@ -278,7 +278,7 @@ ) ) - ;; TNH: (func $select.arm.null (type $i32_ref|$struct|_=>_none) (param $x i32) (param $ref (ref $struct)) + ;; TNH: (func $select.arm.null (type $4) (param $x i32) (param $ref (ref $struct)) ;; TNH-NEXT: (struct.set $struct 0 ;; TNH-NEXT: (block (result (ref $struct)) ;; TNH-NEXT: (block @@ -308,7 +308,7 @@ ;; TNH-NEXT: (i32.const 2) ;; TNH-NEXT: ) ;; TNH-NEXT: ) - ;; NO_TNH: (func $select.arm.null (type $i32_ref|$struct|_=>_none) (param $x i32) (param $ref (ref $struct)) + ;; NO_TNH: (func $select.arm.null (type $4) (param $x i32) (param $ref (ref $struct)) ;; NO_TNH-NEXT: (struct.set $struct 0 ;; NO_TNH-NEXT: (select (result (ref null $struct)) ;; NO_TNH-NEXT: (local.get $ref) @@ -556,7 +556,7 @@ ) ) - ;; TNH: (func $set-get-cast (type $structref_=>_none) (param $ref structref) + ;; TNH: (func $set-get-cast (type $10) (param $ref structref) ;; TNH-NEXT: (drop ;; TNH-NEXT: (struct.get $struct 0 ;; TNH-NEXT: (ref.cast (ref $struct) @@ -580,7 +580,7 @@ ;; TNH-NEXT: ) ;; TNH-NEXT: ) ;; TNH-NEXT: ) - ;; NO_TNH: (func $set-get-cast (type $structref_=>_none) (param $ref structref) + ;; NO_TNH: (func $set-get-cast (type $10) (param $ref structref) ;; NO_TNH-NEXT: (drop ;; NO_TNH-NEXT: (struct.get $struct 0 ;; NO_TNH-NEXT: (ref.cast (ref $struct) @@ -640,7 +640,7 @@ ) ) - ;; TNH: (func $cast-if-null (type $ref|none|_=>_ref|$struct|) (param $x (ref none)) (result (ref $struct)) + ;; TNH: (func $cast-if-null (type $5) (param $x (ref none)) (result (ref $struct)) ;; TNH-NEXT: (drop ;; TNH-NEXT: (block ;; TNH-NEXT: (drop @@ -651,7 +651,7 @@ ;; TNH-NEXT: ) ;; TNH-NEXT: (unreachable) ;; TNH-NEXT: ) - ;; NO_TNH: (func $cast-if-null (type $ref|none|_=>_ref|$struct|) (param $x (ref none)) (result (ref $struct)) + ;; NO_TNH: (func $cast-if-null (type $5) (param $x (ref none)) (result (ref $struct)) ;; NO_TNH-NEXT: (drop ;; NO_TNH-NEXT: (if (result (ref none)) ;; NO_TNH-NEXT: (i32.const 1) @@ -674,7 +674,7 @@ ) ) - ;; TNH: (func $cast-if-null-flip (type $ref|none|_=>_ref|$struct|) (param $x (ref none)) (result (ref $struct)) + ;; TNH: (func $cast-if-null-flip (type $5) (param $x (ref none)) (result (ref $struct)) ;; TNH-NEXT: (drop ;; TNH-NEXT: (block ;; TNH-NEXT: (drop @@ -685,7 +685,7 @@ ;; TNH-NEXT: ) ;; TNH-NEXT: (unreachable) ;; TNH-NEXT: ) - ;; NO_TNH: (func $cast-if-null-flip (type $ref|none|_=>_ref|$struct|) (param $x (ref none)) (result (ref $struct)) + ;; NO_TNH: (func $cast-if-null-flip (type $5) (param $x (ref none)) (result (ref $struct)) ;; NO_TNH-NEXT: (drop ;; NO_TNH-NEXT: (if (result (ref none)) ;; NO_TNH-NEXT: (i32.const 1) @@ -706,7 +706,7 @@ ) ) - ;; TNH: (func $cast-to-bottom (type $ref|any|_anyref_=>_none) (param $ref (ref any)) (param $nullable-ref anyref) + ;; TNH: (func $cast-to-bottom (type $11) (param $ref (ref any)) (param $nullable-ref anyref) ;; TNH-NEXT: (drop ;; TNH-NEXT: (block (result (ref none)) ;; TNH-NEXT: (drop @@ -740,7 +740,7 @@ ;; TNH-NEXT: ) ;; TNH-NEXT: ) ;; TNH-NEXT: ) - ;; NO_TNH: (func $cast-to-bottom (type $ref|any|_anyref_=>_none) (param $ref (ref any)) (param $nullable-ref anyref) + ;; NO_TNH: (func $cast-to-bottom (type $11) (param $ref (ref any)) (param $nullable-ref anyref) ;; NO_TNH-NEXT: (drop ;; NO_TNH-NEXT: (block (result (ref none)) ;; NO_TNH-NEXT: (drop @@ -802,7 +802,7 @@ ) ) - ;; TNH: (func $null.cast-other.effects (type $ref?|$struct|_=>_none) (param $x (ref null $struct)) + ;; TNH: (func $null.cast-other.effects (type $12) (param $x (ref null $struct)) ;; TNH-NEXT: (local $i i32) ;; TNH-NEXT: (struct.set $struct 0 ;; TNH-NEXT: (local.get $x) @@ -819,7 +819,7 @@ ;; TNH-NEXT: ) ;; TNH-NEXT: ) ;; TNH-NEXT: ) - ;; NO_TNH: (func $null.cast-other.effects (type $ref?|$struct|_=>_none) (param $x (ref null $struct)) + ;; NO_TNH: (func $null.cast-other.effects (type $12) (param $x (ref null $struct)) ;; NO_TNH-NEXT: (local $i i32) ;; NO_TNH-NEXT: (struct.set $struct 0 ;; NO_TNH-NEXT: (ref.as_non_null @@ -871,7 +871,7 @@ ) ) - ;; TNH: (func $select.unreachable.child (type $ref|$struct|_=>_ref|$struct|) (param $x (ref $struct)) (result (ref $struct)) + ;; TNH: (func $select.unreachable.child (type $6) (param $x (ref $struct)) (result (ref $struct)) ;; TNH-NEXT: (block ;; (replaces something unreachable we can't emit) ;; TNH-NEXT: (drop ;; TNH-NEXT: (unreachable) @@ -879,7 +879,7 @@ ;; TNH-NEXT: (unreachable) ;; TNH-NEXT: ) ;; TNH-NEXT: ) - ;; NO_TNH: (func $select.unreachable.child (type $ref|$struct|_=>_ref|$struct|) (param $x (ref $struct)) (result (ref $struct)) + ;; NO_TNH: (func $select.unreachable.child (type $6) (param $x (ref $struct)) (result (ref $struct)) ;; NO_TNH-NEXT: (block ;; (replaces something unreachable we can't emit) ;; NO_TNH-NEXT: (drop ;; NO_TNH-NEXT: (unreachable) @@ -903,14 +903,14 @@ ) ) - ;; TNH: (func $select.unreachable.child.flip (type $ref|$struct|_=>_ref|$struct|) (param $x (ref $struct)) (result (ref $struct)) + ;; TNH: (func $select.unreachable.child.flip (type $6) (param $x (ref $struct)) (result (ref $struct)) ;; TNH-NEXT: (select ;; TNH-NEXT: (local.get $x) ;; TNH-NEXT: (unreachable) ;; TNH-NEXT: (i32.const 1) ;; TNH-NEXT: ) ;; TNH-NEXT: ) - ;; NO_TNH: (func $select.unreachable.child.flip (type $ref|$struct|_=>_ref|$struct|) (param $x (ref $struct)) (result (ref $struct)) + ;; NO_TNH: (func $select.unreachable.child.flip (type $6) (param $x (ref $struct)) (result (ref $struct)) ;; NO_TNH-NEXT: (select ;; NO_TNH-NEXT: (local.get $x) ;; NO_TNH-NEXT: (unreachable) @@ -979,28 +979,28 @@ ;; Helper functions. - ;; TNH: (func $get-i32 (type $none_=>_i32) (result i32) + ;; TNH: (func $get-i32 (type $2) (result i32) ;; TNH-NEXT: (unreachable) ;; TNH-NEXT: ) - ;; NO_TNH: (func $get-i32 (type $none_=>_i32) (result i32) + ;; NO_TNH: (func $get-i32 (type $2) (result i32) ;; NO_TNH-NEXT: (unreachable) ;; NO_TNH-NEXT: ) (func $get-i32 (result i32) (unreachable) ) - ;; TNH: (func $get-ref (type $none_=>_ref|$struct|) (result (ref $struct)) + ;; TNH: (func $get-ref (type $13) (result (ref $struct)) ;; TNH-NEXT: (unreachable) ;; TNH-NEXT: ) - ;; NO_TNH: (func $get-ref (type $none_=>_ref|$struct|) (result (ref $struct)) + ;; NO_TNH: (func $get-ref (type $13) (result (ref $struct)) ;; NO_TNH-NEXT: (unreachable) ;; NO_TNH-NEXT: ) (func $get-ref (result (ref $struct)) (unreachable) ) - ;; TNH: (func $get-null (type $none_=>_nullref) (result nullref) + ;; TNH: (func $get-null (type $14) (result nullref) ;; TNH-NEXT: (unreachable) ;; TNH-NEXT: ) - ;; NO_TNH: (func $get-null (type $none_=>_nullref) (result nullref) + ;; NO_TNH: (func $get-null (type $14) (result nullref) ;; NO_TNH-NEXT: (unreachable) ;; NO_TNH-NEXT: ) (func $get-null (result (ref null none)) diff --git a/test/lit/passes/optimize-instructions-gc.wast b/test/lit/passes/optimize-instructions-gc.wast index 45a984807..86306a27a 100644 --- a/test/lit/passes/optimize-instructions-gc.wast +++ b/test/lit/passes/optimize-instructions-gc.wast @@ -41,12 +41,12 @@ ;; CHECK: (type $struct_i64 (func (param structref) (result i64))) (type $struct_i64 (func (param (ref null struct)) (result i64))) - ;; CHECK: (import "env" "get-i32" (func $get-i32 (type $none_=>_i32) (result i32))) + ;; CHECK: (import "env" "get-i32" (func $get-i32 (type $8) (result i32))) (import "env" "get-i32" (func $get-i32 (result i32))) ;; These functions test if an `if` with subtyped arms is correctly folded ;; 1. if its `ifTrue` and `ifFalse` arms are identical (can fold) - ;; CHECK: (func $if-arms-subtype-fold (type $none_=>_anyref) (result anyref) + ;; CHECK: (func $if-arms-subtype-fold (type $25) (result anyref) ;; CHECK-NEXT: (ref.null none) ;; CHECK-NEXT: ) (func $if-arms-subtype-fold (result anyref) @@ -57,7 +57,7 @@ ) ) ;; 2. if its `ifTrue` and `ifFalse` arms are not identical (cannot fold) - ;; CHECK: (func $if-arms-subtype-nofold (type $i31ref_=>_anyref) (param $i31ref i31ref) (result anyref) + ;; CHECK: (func $if-arms-subtype-nofold (type $26) (param $i31ref i31ref) (result anyref) ;; CHECK-NEXT: (if (result anyref) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (ref.null none) @@ -73,7 +73,7 @@ ) ;; Stored values automatically truncate unneeded bytes. - ;; CHECK: (func $store-trunc (type $ref?|$struct|_=>_none) (param $x (ref null $struct)) + ;; CHECK: (func $store-trunc (type $10) (param $x (ref null $struct)) ;; CHECK-NEXT: (struct.set $struct $i8 ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: (i32.const 35) @@ -106,7 +106,7 @@ ) ;; Similar, but for arrays. - ;; CHECK: (func $store-trunc2 (type $ref?|$array|_=>_none) (param $x (ref null $array)) + ;; CHECK: (func $store-trunc2 (type $14) (param $x (ref null $array)) ;; CHECK-NEXT: (array.set $array ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: (i32.const 0) @@ -123,7 +123,7 @@ ;; ref.is_null is not needed on a non-nullable value, and if something is ;; cast to its own type, we don't need that either, etc. - ;; CHECK: (func $unneeded_test (type $ref|$struct|_ref|func|_ref|i31|_=>_none) (param $struct (ref $struct)) (param $func (ref func)) (param $i31 (ref i31)) + ;; CHECK: (func $unneeded_test (type $15) (param $struct (ref $struct)) (param $func (ref func)) (param $i31 (ref i31)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (drop @@ -166,7 +166,7 @@ ;; similar to $unneeded_is, but the values are nullable. we can at least ;; leave just the null check. - ;; CHECK: (func $unneeded_test_null (type $ref?|$struct|_funcref_i31ref_=>_none) (param $struct (ref null $struct)) (param $func funcref) (param $i31 i31ref) + ;; CHECK: (func $unneeded_test_null (type $16) (param $struct (ref null $struct)) (param $func funcref) (param $i31 i31ref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.is_null ;; CHECK-NEXT: (local.get $struct) @@ -207,7 +207,7 @@ ;; ref.as_non_null is not needed on a non-nullable value, and if something is ;; a func we don't need that either etc., and can just return the value. - ;; CHECK: (func $unneeded_cast (type $ref|$struct|_ref|func|_ref|i31|_=>_none) (param $struct (ref $struct)) (param $func (ref func)) (param $i31 (ref i31)) + ;; CHECK: (func $unneeded_cast (type $15) (param $struct (ref $struct)) (param $func (ref func)) (param $i31 (ref i31)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.get $struct) ;; CHECK-NEXT: ) @@ -235,7 +235,7 @@ ;; similar to $unneeded_cast, but the values are nullable. we can turn the ;; more specific things into ref.as_non_null. - ;; CHECK: (func $unneeded_cast_null (type $ref?|$struct|_funcref_i31ref_=>_none) (param $struct (ref null $struct)) (param $func funcref) (param $i31 i31ref) + ;; CHECK: (func $unneeded_cast_null (type $16) (param $struct (ref null $struct)) (param $func funcref) (param $i31 i31ref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.as_non_null ;; CHECK-NEXT: (local.get $struct) @@ -292,7 +292,7 @@ ) ) - ;; CHECK: (func $redundant-non-null-casts (type $ref?|$struct|_ref?|$array|_ref?|$void|_=>_none) (param $x (ref null $struct)) (param $y (ref null $array)) (param $f (ref null $void)) + ;; CHECK: (func $redundant-non-null-casts (type $27) (param $x (ref null $struct)) (param $y (ref null $array)) (param $f (ref null $void)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.as_non_null ;; CHECK-NEXT: (local.get $x) @@ -379,14 +379,14 @@ ) ) - ;; CHECK: (func $get-eqref (type $none_=>_eqref) (result eqref) + ;; CHECK: (func $get-eqref (type $28) (result eqref) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) (func $get-eqref (result eqref) (unreachable) ) - ;; CHECK: (func $ref-eq (type $eqref_eqref_=>_none) (param $x eqref) (param $y eqref) + ;; CHECK: (func $ref-eq (type $9) (param $x eqref) (param $y eqref) ;; CHECK-NEXT: (local $lx eqref) ;; CHECK-NEXT: (local $ly eqref) ;; CHECK-NEXT: (drop @@ -460,7 +460,7 @@ ;; CHECK-NEXT: ) (func $nothing) - ;; CHECK: (func $ref-eq-corner-cases (type $eqref_=>_none) (param $x eqref) + ;; CHECK: (func $ref-eq-corner-cases (type $4) (param $x eqref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.eq ;; CHECK-NEXT: (block (result eqref) @@ -547,7 +547,7 @@ ) ) - ;; CHECK: (func $ref-eq-ref-cast (type $eqref_=>_none) (param $x eqref) + ;; CHECK: (func $ref-eq-ref-cast (type $4) (param $x eqref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.eq ;; CHECK-NEXT: (local.get $x) @@ -570,7 +570,7 @@ ) ) - ;; CHECK: (func $flip-cast-of-as-non-null (type $anyref_=>_none) (param $x anyref) + ;; CHECK: (func $flip-cast-of-as-non-null (type $17) (param $x anyref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.cast (ref $struct) ;; CHECK-NEXT: (local.get $x) @@ -623,7 +623,7 @@ ) ) ) - ;; CHECK: (func $flip-tee-of-as-non-null (type $anyref_=>_none) (param $x anyref) + ;; CHECK: (func $flip-tee-of-as-non-null (type $17) (param $x anyref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.as_non_null ;; CHECK-NEXT: (local.tee $x @@ -643,7 +643,7 @@ ) ) - ;; CHECK: (func $flip-tee-of-as-non-null-non-nullable (type $ref|any|_anyref_=>_none) (param $x (ref any)) (param $y anyref) + ;; CHECK: (func $flip-tee-of-as-non-null-non-nullable (type $29) (param $x (ref any)) (param $y anyref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.tee $x ;; CHECK-NEXT: (ref.as_non_null @@ -664,7 +664,7 @@ ) ) ) - ;; CHECK: (func $ternary-identical-arms (type $i32_ref?|$struct|_ref?|$struct|_=>_none) (param $x i32) (param $y (ref null $struct)) (param $z (ref null $struct)) + ;; CHECK: (func $ternary-identical-arms (type $30) (param $x i32) (param $y (ref null $struct)) (param $z (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.is_null ;; CHECK-NEXT: (if (result (ref null $struct)) @@ -684,7 +684,7 @@ ) ) ) - ;; CHECK: (func $select-identical-arms-but-side-effect (type $ref?|$struct|_ref?|$struct|_i32_=>_none) (param $x (ref null $struct)) (param $y (ref null $struct)) (param $z i32) + ;; CHECK: (func $select-identical-arms-but-side-effect (type $18) (param $x (ref null $struct)) (param $y (ref null $struct)) (param $z i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (select ;; CHECK-NEXT: (struct.get_u $struct $i8 @@ -711,7 +711,7 @@ ) ) ) - ;; CHECK: (func $ternary-identical-arms-no-side-effect (type $ref|$struct|_ref|$struct|_i32_=>_none) (param $x (ref $struct)) (param $y (ref $struct)) (param $z i32) + ;; CHECK: (func $ternary-identical-arms-no-side-effect (type $31) (param $x (ref $struct)) (param $y (ref $struct)) (param $z i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.get_u $struct $i8 ;; CHECK-NEXT: (select (result (ref $struct)) @@ -736,7 +736,7 @@ ) ) ) - ;; CHECK: (func $if-identical-arms-with-side-effect (type $ref?|$struct|_ref?|$struct|_i32_=>_none) (param $x (ref null $struct)) (param $y (ref null $struct)) (param $z i32) + ;; CHECK: (func $if-identical-arms-with-side-effect (type $18) (param $x (ref null $struct)) (param $y (ref null $struct)) (param $z i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.get_u $struct $i8 ;; CHECK-NEXT: (if (result (ref null $struct)) @@ -763,7 +763,7 @@ ) ) - ;; CHECK: (func $ref-cast-squared (type $eqref_=>_none) (param $x eqref) + ;; CHECK: (func $ref-cast-squared (type $4) (param $x eqref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.cast (ref null $struct) ;; CHECK-NEXT: (local.get $x) @@ -780,7 +780,7 @@ ) ) ) - ;; CHECK: (func $ref-cast-squared-fallthrough (type $eqref_=>_none) (param $x eqref) + ;; CHECK: (func $ref-cast-squared-fallthrough (type $4) (param $x eqref) ;; CHECK-NEXT: (local $1 (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result (ref null $struct)) @@ -809,7 +809,7 @@ ) ) ) - ;; CHECK: (func $ref-cast-cubed (type $eqref_=>_none) (param $x eqref) + ;; CHECK: (func $ref-cast-cubed (type $4) (param $x eqref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.cast (ref null $struct) ;; CHECK-NEXT: (local.get $x) @@ -828,7 +828,7 @@ ) ) ) - ;; CHECK: (func $ref-cast-squared-different (type $eqref_=>_none) (param $x eqref) + ;; CHECK: (func $ref-cast-squared-different (type $4) (param $x eqref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.cast nullref ;; CHECK-NEXT: (local.get $x) @@ -847,7 +847,7 @@ ) ) - ;; CHECK: (func $ref-eq-null (type $eqref_=>_none) (param $x eqref) + ;; CHECK: (func $ref-eq-null (type $4) (param $x eqref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.is_null ;; CHECK-NEXT: (local.get $x) @@ -888,7 +888,7 @@ ) ) - ;; CHECK: (func $ref-eq-possible (type $eqref_eqref_=>_none) (param $x eqref) (param $y eqref) + ;; CHECK: (func $ref-eq-possible (type $9) (param $x eqref) (param $y eqref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.eq ;; CHECK-NEXT: (ref.cast (ref null $struct) @@ -915,7 +915,7 @@ ) ) - ;; CHECK: (func $ref-eq-impossible (type $eqref_eqref_=>_none) (param $x eqref) (param $y eqref) + ;; CHECK: (func $ref-eq-impossible (type $9) (param $x eqref) (param $y eqref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (drop @@ -1007,7 +1007,7 @@ ) ) - ;; CHECK: (func $ref-eq-possible-b (type $eqref_eqref_=>_none) (param $x eqref) (param $y eqref) + ;; CHECK: (func $ref-eq-possible-b (type $9) (param $x eqref) (param $y eqref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.eq ;; CHECK-NEXT: (ref.cast (ref $A) @@ -1055,7 +1055,7 @@ ) ) - ;; CHECK: (func $hoist-LUB-danger (type $i32_ref|$B|_ref|$C|_=>_i32) (param $x i32) (param $b (ref $B)) (param $c (ref $C)) (result i32) + ;; CHECK: (func $hoist-LUB-danger (type $32) (param $x i32) (param $b (ref $B)) (param $c (ref $C)) (result i32) ;; CHECK-NEXT: (if (result i32) ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: (struct.get $B 1 @@ -1086,7 +1086,7 @@ ) ) - ;; CHECK: (func $incompatible-cast-of-non-null (type $ref|$struct|_=>_none) (param $struct (ref $struct)) + ;; CHECK: (func $incompatible-cast-of-non-null (type $33) (param $struct (ref $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result (ref none)) ;; CHECK-NEXT: (drop @@ -1104,7 +1104,7 @@ ) ) - ;; CHECK: (func $incompatible-cast-of-null (type $ref?|$struct|_=>_none) (param $x (ref null $struct)) + ;; CHECK: (func $incompatible-cast-of-null (type $10) (param $x (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) @@ -1139,7 +1139,7 @@ ) ) - ;; CHECK: (func $incompatible-cast-of-unknown (type $ref?|$struct|_=>_none) (param $struct (ref null $struct)) + ;; CHECK: (func $incompatible-cast-of-unknown (type $10) (param $struct (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.cast nullref ;; CHECK-NEXT: (local.get $struct) @@ -1154,7 +1154,7 @@ ) ) - ;; CHECK: (func $incompatible-test (type $ref?|$struct|_=>_none) (param $struct (ref null $struct)) + ;; CHECK: (func $incompatible-test (type $10) (param $struct (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (drop @@ -1204,7 +1204,7 @@ ) ) - ;; CHECK: (func $subtype-compatible (type $ref?|$A|_ref?|$B|_=>_none) (param $A (ref null $A)) (param $B (ref null $B)) + ;; CHECK: (func $subtype-compatible (type $20) (param $A (ref null $A)) (param $B (ref null $B)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.test (ref $B) ;; CHECK-NEXT: (local.get $A) @@ -1284,7 +1284,7 @@ ) ) - ;; CHECK: (func $compatible-test-separate-fallthrough (type $eqref_=>_i32) (param $eqref eqref) (result i32) + ;; CHECK: (func $compatible-test-separate-fallthrough (type $11) (param $eqref eqref) (result i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.tee $eqref ;; CHECK-NEXT: (block (result eqref) @@ -1318,7 +1318,7 @@ ) ) - ;; CHECK: (func $improvable-test-separate-fallthrough (type $eqref_=>_i32) (param $eqref eqref) (result i32) + ;; CHECK: (func $improvable-test-separate-fallthrough (type $11) (param $eqref eqref) (result i32) ;; CHECK-NEXT: (ref.test (ref i31) ;; CHECK-NEXT: (block (result eqref) ;; CHECK-NEXT: (ref.as_non_null @@ -1339,7 +1339,7 @@ ) ) - ;; CHECK: (func $incompatible-test-separate-fallthrough (type $eqref_=>_i32) (param $eqref eqref) (result i32) + ;; CHECK: (func $incompatible-test-separate-fallthrough (type $11) (param $eqref eqref) (result i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.tee $eqref ;; CHECK-NEXT: (block (result eqref) @@ -1373,7 +1373,7 @@ ) ) - ;; CHECK: (func $incompatible-test-heap-types-nonnullable (type $anyref_=>_anyref) (param $anyref anyref) (result anyref) + ;; CHECK: (func $incompatible-test-heap-types-nonnullable (type $7) (param $anyref anyref) (result anyref) ;; CHECK-NEXT: (block $outer (result anyref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result i32) @@ -1415,7 +1415,7 @@ ) ) - ;; CHECK: (func $incompatible-test-heap-types-nullable (type $anyref_=>_anyref) (param $anyref anyref) (result anyref) + ;; CHECK: (func $incompatible-test-heap-types-nullable (type $7) (param $anyref anyref) (result anyref) ;; CHECK-NEXT: (block $outer (result anyref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result i32) @@ -1456,7 +1456,7 @@ ) ) - ;; CHECK: (func $incompatible-test-heap-types-unreachable (type $anyref_=>_anyref) (param $anyref anyref) (result anyref) + ;; CHECK: (func $incompatible-test-heap-types-unreachable (type $7) (param $anyref anyref) (result anyref) ;; CHECK-NEXT: (block $outer (result anyref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result i32) @@ -1498,7 +1498,7 @@ ) ) - ;; CHECK: (func $ref.test-unreachable (type $ref?|$A|_=>_none) (param $A (ref null $A)) + ;; CHECK: (func $ref.test-unreachable (type $34) (param $A (ref null $A)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.test (ref $A) ;; CHECK-NEXT: (unreachable) @@ -1621,7 +1621,7 @@ ) ) - ;; CHECK: (func $ref-cast-static-general (type $ref?|$A|_ref?|$B|_=>_none) (param $a (ref null $A)) (param $b (ref null $B)) + ;; CHECK: (func $ref-cast-static-general (type $20) (param $a (ref null $A)) (param $b (ref null $B)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.get $a) ;; CHECK-NEXT: ) @@ -1668,7 +1668,7 @@ ) ) - ;; CHECK: (func $ref-cast-static-squared (type $eqref_=>_none) (param $x eqref) + ;; CHECK: (func $ref-cast-static-squared (type $4) (param $x eqref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.cast (ref null $A) ;; CHECK-NEXT: (local.get $x) @@ -1711,7 +1711,7 @@ ) ) - ;; CHECK: (func $ref-cast-static-many (type $eqref_=>_none) (param $x eqref) + ;; CHECK: (func $ref-cast-static-many (type $4) (param $x eqref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.cast (ref null $B-child) ;; CHECK-NEXT: (local.get $x) @@ -1802,7 +1802,7 @@ ) ) - ;; CHECK: (func $ref-cast-static-very-many (type $eqref_=>_none) (param $x eqref) + ;; CHECK: (func $ref-cast-static-very-many (type $4) (param $x eqref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.cast (ref null $B-child) ;; CHECK-NEXT: (local.get $x) @@ -1840,7 +1840,7 @@ ) ) - ;; CHECK: (func $ref-cast-static-fallthrough-remaining (type $eqref_=>_none) (param $x eqref) + ;; CHECK: (func $ref-cast-static-fallthrough-remaining (type $4) (param $x eqref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result (ref null $B)) ;; CHECK-NEXT: (call $ref-cast-static-fallthrough-remaining @@ -1875,7 +1875,7 @@ ) ) - ;; CHECK: (func $ref-cast-static-fallthrough-remaining-child (type $eqref_=>_none) (param $x eqref) + ;; CHECK: (func $ref-cast-static-fallthrough-remaining-child (type $4) (param $x eqref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.cast (ref null $B) ;; CHECK-NEXT: (block (result eqref) @@ -1907,7 +1907,7 @@ ) ) - ;; CHECK: (func $ref-cast-static-fallthrough-remaining-impossible (type $ref|eq|_=>_none) (param $x (ref eq)) + ;; CHECK: (func $ref-cast-static-fallthrough-remaining-impossible (type $21) (param $x (ref eq)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block ;; CHECK-NEXT: (drop @@ -1942,7 +1942,7 @@ ) ) - ;; CHECK: (func $ref-cast-static-fallthrough-remaining-nonnull (type $ref|eq|_=>_none) (param $x (ref eq)) + ;; CHECK: (func $ref-cast-static-fallthrough-remaining-nonnull (type $21) (param $x (ref eq)) ;; CHECK-NEXT: (local $1 (ref $B)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result (ref $B)) @@ -1981,7 +1981,7 @@ ) ) - ;; CHECK: (func $ref-cast-static-squared-impossible (type $eqref_=>_none) (param $x eqref) + ;; CHECK: (func $ref-cast-static-squared-impossible (type $4) (param $x eqref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.cast nullref ;; CHECK-NEXT: (local.get $x) @@ -2051,7 +2051,7 @@ ) ) - ;; CHECK: (func $ref-test-static-same-type (type $ref?|$A|_ref|$A|_=>_none) (param $nullable (ref null $A)) (param $non-nullable (ref $A)) + ;; CHECK: (func $ref-test-static-same-type (type $22) (param $nullable (ref null $A)) (param $non-nullable (ref $A)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (ref.is_null @@ -2084,7 +2084,7 @@ ) ) - ;; CHECK: (func $ref-test-static-subtype (type $ref?|$B|_ref|$B|_=>_none) (param $nullable (ref null $B)) (param $non-nullable (ref $B)) + ;; CHECK: (func $ref-test-static-subtype (type $12) (param $nullable (ref null $B)) (param $non-nullable (ref $B)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (ref.is_null @@ -2115,7 +2115,7 @@ ) ) - ;; CHECK: (func $ref-test-static-supertype (type $ref?|$A|_ref|$A|_=>_none) (param $nullable (ref null $A)) (param $non-nullable (ref $A)) + ;; CHECK: (func $ref-test-static-supertype (type $22) (param $nullable (ref null $A)) (param $non-nullable (ref $A)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.test (ref $B) ;; CHECK-NEXT: (local.get $nullable) @@ -2142,7 +2142,7 @@ ) ) - ;; CHECK: (func $ref-test-static-impossible (type $ref?|$array|_ref|$array|_=>_none) (param $nullable (ref null $array)) (param $non-nullable (ref $array)) + ;; CHECK: (func $ref-test-static-impossible (type $35) (param $nullable (ref null $array)) (param $non-nullable (ref $array)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (drop @@ -2174,7 +2174,7 @@ ) ) - ;; CHECK: (func $ref-boolean (type $eqref_eqref_=>_none) (param $x eqref) (param $y eqref) + ;; CHECK: (func $ref-boolean (type $9) (param $x eqref) (param $y eqref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.eq ;; CHECK-NEXT: (local.get $x) @@ -2222,14 +2222,14 @@ ) ) - ;; CHECK: (func $impossible (type $none_=>_ref|none|) (result (ref none)) + ;; CHECK: (func $impossible (type $36) (result (ref none)) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) (func $impossible (result (ref none)) (unreachable) ) - ;; CHECK: (func $bottom-type-accessors (type $ref|none|_nullref_=>_none) (param $bot (ref none)) (param $null nullref) + ;; CHECK: (func $bottom-type-accessors (type $37) (param $bot (ref none)) (param $null nullref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) @@ -2271,7 +2271,7 @@ ) ) - ;; CHECK: (func $ref-cast-heap-type (type $ref?|$B|_ref|$B|_=>_none) (param $null-b (ref null $B)) (param $b (ref $B)) + ;; CHECK: (func $ref-cast-heap-type (type $12) (param $null-b (ref null $B)) (param $b (ref $B)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.get $b) ;; CHECK-NEXT: ) @@ -2318,7 +2318,7 @@ ) ) - ;; CHECK: (func $ref-cast-heap-type-incompatible (type $ref?|$B|_ref|$B|_=>_none) (param $null-b (ref null $B)) (param $b (ref $B)) + ;; CHECK: (func $ref-cast-heap-type-incompatible (type $12) (param $null-b (ref null $B)) (param $b (ref $B)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block (result (ref none)) ;; CHECK-NEXT: (drop @@ -2377,7 +2377,7 @@ ) ) - ;; CHECK: (func $compatible-cast-separate-fallthrough (type $eqref_=>_ref|i31|) (param $eqref eqref) (result (ref i31)) + ;; CHECK: (func $compatible-cast-separate-fallthrough (type $23) (param $eqref eqref) (result (ref i31)) ;; CHECK-NEXT: (local $1 i31ref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.tee $eqref @@ -2417,7 +2417,7 @@ ) ) - ;; CHECK: (func $compatible-cast-fallthrough-null-check (type $eqref_=>_ref|i31|) (param $eqref eqref) (result (ref i31)) + ;; CHECK: (func $compatible-cast-fallthrough-null-check (type $23) (param $eqref eqref) (result (ref i31)) ;; CHECK-NEXT: (local $1 i31ref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.tee $eqref @@ -2449,7 +2449,7 @@ ) ) - ;; CHECK: (func $compatible-cast-separate-fallthrough-multiple-options-1 (type $eqref_=>_ref|eq|) (param $eqref eqref) (result (ref eq)) + ;; CHECK: (func $compatible-cast-separate-fallthrough-multiple-options-1 (type $24) (param $eqref eqref) (result (ref eq)) ;; CHECK-NEXT: (local $1 i31ref) ;; CHECK-NEXT: (block $outer (result (ref eq)) ;; CHECK-NEXT: (block (result (ref i31)) @@ -2507,7 +2507,7 @@ ) ) - ;; CHECK: (func $compatible-cast-separate-fallthrough-multiple-options-2 (type $eqref_=>_ref|eq|) (param $eqref eqref) (result (ref eq)) + ;; CHECK: (func $compatible-cast-separate-fallthrough-multiple-options-2 (type $24) (param $eqref eqref) (result (ref eq)) ;; CHECK-NEXT: (local $1 (ref i31)) ;; CHECK-NEXT: (block $outer (result (ref eq)) ;; CHECK-NEXT: (block (result (ref i31)) @@ -2562,7 +2562,7 @@ ) ) - ;; CHECK: (func $incompatible-cast-separate-fallthrough (type $eqref_=>_structref) (param $eqref eqref) (result structref) + ;; CHECK: (func $incompatible-cast-separate-fallthrough (type $38) (param $eqref eqref) (result structref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.tee $eqref ;; CHECK-NEXT: (block (result (ref i31)) @@ -2596,7 +2596,7 @@ ) ) - ;; CHECK: (func $incompatible-cast-heap-types-nonnullable (type $anyref_=>_anyref) (param $anyref anyref) (result anyref) + ;; CHECK: (func $incompatible-cast-heap-types-nonnullable (type $7) (param $anyref anyref) (result anyref) ;; CHECK-NEXT: (block $outer (result (ref any)) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (drop @@ -2632,7 +2632,7 @@ ) ) - ;; CHECK: (func $incompatible-cast-heap-types-nullable (type $anyref_=>_anyref) (param $anyref anyref) (result anyref) + ;; CHECK: (func $incompatible-cast-heap-types-nullable (type $7) (param $anyref anyref) (result anyref) ;; CHECK-NEXT: (block $outer (result anyref) ;; CHECK-NEXT: (ref.cast nullref ;; CHECK-NEXT: (block (result nullref) @@ -2664,7 +2664,7 @@ ) ) - ;; CHECK: (func $incompatible-cast-heap-types-unreachable (type $anyref_=>_anyref) (param $anyref anyref) (result anyref) + ;; CHECK: (func $incompatible-cast-heap-types-unreachable (type $7) (param $anyref anyref) (result anyref) ;; CHECK-NEXT: (block $outer (result anyref) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (drop @@ -2699,7 +2699,7 @@ ) ) - ;; CHECK: (func $as_of_unreachable (type $none_=>_ref|$A|) (result (ref $A)) + ;; CHECK: (func $as_of_unreachable (type $39) (result (ref $A)) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) (func $as_of_unreachable (result (ref $A)) @@ -2713,7 +2713,7 @@ ) ) - ;; CHECK: (func $cast-internalized-extern (type $externref_=>_none) (param $externref externref) + ;; CHECK: (func $cast-internalized-extern (type $40) (param $externref externref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.cast (ref $A) ;; CHECK-NEXT: (extern.internalize @@ -2842,7 +2842,7 @@ ) ) - ;; CHECK: (func $refinalize.select.arm.unknown (type $i32_=>_none) (param $x i32) + ;; CHECK: (func $refinalize.select.arm.unknown (type $41) (param $x i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.cast (ref $void2) ;; CHECK-NEXT: (ref.func $refinalize.select.arm) @@ -2862,7 +2862,7 @@ ) ) - ;; CHECK: (func $non-null-bottom-ref (type $none_=>_ref|func|) (result (ref func)) + ;; CHECK: (func $non-null-bottom-ref (type $42) (result (ref func)) ;; CHECK-NEXT: (local $0 funcref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.tee $0 @@ -2890,7 +2890,7 @@ ) ) - ;; CHECK: (func $non-null-bottom-cast (type $none_=>_ref|nofunc|) (result (ref nofunc)) + ;; CHECK: (func $non-null-bottom-cast (type $43) (result (ref nofunc)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.func $non-null-bottom-cast) ;; CHECK-NEXT: ) @@ -2903,7 +2903,7 @@ ) ) - ;; CHECK: (func $non-null-bottom-ref-test (type $none_=>_i32) (result i32) + ;; CHECK: (func $non-null-bottom-ref-test (type $8) (result i32) ;; CHECK-NEXT: (local $0 funcref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.tee $0 @@ -2926,7 +2926,7 @@ ) ) - ;; CHECK: (func $non-null-bottom-ref-test-notee (type $none_=>_i32) (result i32) + ;; CHECK: (func $non-null-bottom-ref-test-notee (type $8) (result i32) ;; CHECK-NEXT: (local $0 funcref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (loop (result (ref nofunc)) @@ -2946,7 +2946,7 @@ ) ) - ;; CHECK: (func $non-null-bottom-test (type $none_=>_i32) (result i32) + ;; CHECK: (func $non-null-bottom-test (type $8) (result i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.func $non-null-bottom-cast) ;; CHECK-NEXT: ) @@ -3015,7 +3015,7 @@ ) ) - ;; CHECK: (func $ref.test-then-optimizeAddedConstants (type $none_=>_i32) (result i32) + ;; CHECK: (func $ref.test-then-optimizeAddedConstants (type $8) (result i32) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (block ;; CHECK-NEXT: (drop @@ -3089,7 +3089,7 @@ (unreachable) ) - ;; CHECK: (func $array-copy-non-null (type $ref?|$array|_=>_none) (param $x (ref null $array)) + ;; CHECK: (func $array-copy-non-null (type $14) (param $x (ref null $array)) ;; CHECK-NEXT: (block $block ;; CHECK-NEXT: (array.copy $array $array ;; CHECK-NEXT: (ref.as_non_null diff --git a/test/lit/passes/optimize-instructions-ignore-traps.wast b/test/lit/passes/optimize-instructions-ignore-traps.wast index 177c10b6a..0d31794e5 100644 --- a/test/lit/passes/optimize-instructions-ignore-traps.wast +++ b/test/lit/passes/optimize-instructions-ignore-traps.wast @@ -5,7 +5,7 @@ (module ;; CHECK: (type $0 (func (param i32 i32) (result i32))) (type $0 (func (param i32 i32) (result i32))) - ;; CHECK: (import "a" "b" (func $get-i32 (type $none_=>_i32) (result i32))) + ;; CHECK: (import "a" "b" (func $get-i32 (type $2) (result i32))) ;; CHECK: (memory $0 0) (memory $0 0) @@ -643,7 +643,7 @@ (return (local.get $1)) ) - ;; CHECK: (func $conditionalize-if-type-change (type $none_=>_f64) (result f64) + ;; CHECK: (func $conditionalize-if-type-change (type $3) (result f64) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (loop $label$1 (result f32) @@ -717,7 +717,7 @@ ) (f64.const -nan:0xfffffffffffff) ) - ;; CHECK: (func $optimize-bulk-memory-copy (type $i32_i32_i32_=>_none) (param $dst i32) (param $src i32) (param $sz i32) + ;; CHECK: (func $optimize-bulk-memory-copy (type $1) (param $dst i32) (param $src i32) (param $sz i32) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.get $dst) @@ -775,7 +775,7 @@ ) ) - ;; CHECK: (func $optimize-bulk-memory-fill (type $i32_i32_i32_=>_none) (param $dst i32) (param $val i32) (param $sz i32) + ;; CHECK: (func $optimize-bulk-memory-fill (type $1) (param $dst i32) (param $val i32) (param $sz i32) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.get $dst) diff --git a/test/lit/passes/optimize-instructions-iit-eh.wast b/test/lit/passes/optimize-instructions-iit-eh.wast index a4768a05f..af45a9427 100644 --- a/test/lit/passes/optimize-instructions-iit-eh.wast +++ b/test/lit/passes/optimize-instructions-iit-eh.wast @@ -8,7 +8,7 @@ ;; CHECK: (tag $e (param (ref null $struct.A))) (tag $e (param (ref null $struct.A))) - ;; CHECK: (func $ref-cast-statically-removed (type $none_=>_none) + ;; CHECK: (func $ref-cast-statically-removed (type $2) ;; CHECK-NEXT: (try $try ;; CHECK-NEXT: (do ;; CHECK-NEXT: (nop) diff --git a/test/lit/passes/optimize-instructions-mvp.wast b/test/lit/passes/optimize-instructions-mvp.wast index d5388ffd1..953ccd37c 100644 --- a/test/lit/passes/optimize-instructions-mvp.wast +++ b/test/lit/passes/optimize-instructions-mvp.wast @@ -3,9 +3,11 @@ (module (memory 0) - ;; CHECK: (type $0 (func (param i32 i64))) + ;; CHECK: (type $0 (func (result i32))) (type $0 (func (param i32 i64))) + ;; CHECK: (type $0 (func (param i32 i64))) + ;; CHECK: (import "a" "b" (func $get-f64 (result f64))) (import "a" "b" (func $get-f64 (result f64))) diff --git a/test/lit/passes/optimize-instructions-strings.wast b/test/lit/passes/optimize-instructions-strings.wast index 9104f970d..3516f0fa6 100644 --- a/test/lit/passes/optimize-instructions-strings.wast +++ b/test/lit/passes/optimize-instructions-strings.wast @@ -2,7 +2,7 @@ ;; RUN: wasm-opt %s -all --optimize-instructions -S -o - | filecheck %s (module - ;; CHECK: (func $string.checks (type $ref|string|_ref|string|_=>_none) (param $a (ref string)) (param $b (ref string)) + ;; CHECK: (func $string.checks (type $0) (param $a (ref string)) (param $b (ref string)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (string.eq ;; CHECK-NEXT: (local.get $a) diff --git a/test/lit/passes/poppify-globals.wast b/test/lit/passes/poppify-globals.wast index af3606387..b27c5e714 100644 --- a/test/lit/passes/poppify-globals.wast +++ b/test/lit/passes/poppify-globals.wast @@ -3,9 +3,9 @@ ;; RUN: wasm-opt %s --poppify --no-validation -all -S -o - | filecheck %s (module - ;; CHECK: (type $none_=>_i32_i64_f32 (func (result i32 i64 f32))) + ;; CHECK: (type $0 (func (result i32 i64 f32))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) ;; CHECK: (global $foo (mut i32) (i32.const 0)) (global $foo (mut i32) (i32.const 0)) @@ -31,7 +31,7 @@ ;; CHECK: (global $other-tuple$0 i32 (global.get $tuple$0)) - ;; CHECK: (func $global-get-tuple (type $none_=>_i32_i64_f32) (result i32 i64 f32) + ;; CHECK: (func $global-get-tuple (type $0) (result i32 i64 f32) ;; CHECK-NEXT: (global.get $tuple$0) ;; CHECK-NEXT: (global.get $tuple$1_4) ;; CHECK-NEXT: (global.get $tuple$2) @@ -40,7 +40,7 @@ (global.get $tuple) ) - ;; CHECK: (func $global-set-tuple (type $none_=>_none) + ;; CHECK: (func $global-set-tuple (type $1) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i64.const 1) ;; CHECK-NEXT: (f32.const 2) diff --git a/test/lit/passes/poppify.wast b/test/lit/passes/poppify.wast index 88f46de8c..9432cbd28 100644 --- a/test/lit/passes/poppify.wast +++ b/test/lit/passes/poppify.wast @@ -6,14 +6,14 @@ ;; CHECK: (tag $e (param i32)) (tag $e (param i32)) - ;; CHECK: (func $id (type $i32_=>_i32) (param $x i32) (result i32) + ;; CHECK: (func $id (type $4) (param $x i32) (result i32) ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: ) (func $id (param $x i32) (result i32) (local.get $x) ) - ;; CHECK: (func $add (type $i32_i32_=>_i32) (param $x i32) (param $y i32) (result i32) + ;; CHECK: (func $add (type $5) (param $x i32) (param $y i32) (result i32) ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: (local.get $y) ;; CHECK-NEXT: (i32.add @@ -28,7 +28,7 @@ ) ) - ;; CHECK: (func $expr-tree (type $none_=>_i32) (result i32) + ;; CHECK: (func $expr-tree (type $0) (result i32) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: (i32.mul @@ -59,7 +59,7 @@ ) ) - ;; CHECK: (func $block (type $none_=>_i32) (result i32) + ;; CHECK: (func $block (type $0) (result i32) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -70,7 +70,7 @@ ) ) - ;; CHECK: (func $nested (type $none_=>_i32) (result i32) + ;; CHECK: (func $nested (type $0) (result i32) ;; CHECK-NEXT: (block $block (result i32) ;; CHECK-NEXT: (block $block0 (result i32) ;; CHECK-NEXT: (block $block1 (result i32) @@ -89,7 +89,7 @@ ) ) - ;; CHECK: (func $nested-nonames (type $none_=>_i32) (result i32) + ;; CHECK: (func $nested-nonames (type $0) (result i32) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) (func $nested-nonames (result i32) @@ -102,7 +102,7 @@ ) ) - ;; CHECK: (func $child-blocks (type $none_=>_i32) (result i32) + ;; CHECK: (func $child-blocks (type $0) (result i32) ;; CHECK-NEXT: (block $block (result i32) ;; CHECK-NEXT: (block $block0 (result i32) ;; CHECK-NEXT: (i32.const 0) @@ -129,7 +129,7 @@ ) ) - ;; CHECK: (func $child-blocks-nonames (type $none_=>_i32) (result i32) + ;; CHECK: (func $child-blocks-nonames (type $0) (result i32) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: (i32.add @@ -150,7 +150,7 @@ ) ) - ;; CHECK: (func $block-br (type $none_=>_i32) (result i32) + ;; CHECK: (func $block-br (type $0) (result i32) ;; CHECK-NEXT: (block $l (result i32) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (i32.const 0) @@ -168,7 +168,7 @@ ) ) - ;; CHECK: (func $loop (type $none_=>_none) + ;; CHECK: (func $loop (type $2) ;; CHECK-NEXT: (loop $l ;; CHECK-NEXT: (br $l) ;; CHECK-NEXT: ) @@ -180,7 +180,7 @@ ) ) - ;; CHECK: (func $if (type $none_=>_none) + ;; CHECK: (func $if (type $2) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (pop i32) @@ -194,7 +194,7 @@ ) ) - ;; CHECK: (func $if-else (type $none_=>_i32) (result i32) + ;; CHECK: (func $if-else (type $0) (result i32) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (if (result i32) ;; CHECK-NEXT: (pop i32) @@ -210,7 +210,7 @@ ) ) - ;; CHECK: (func $try-catch (type $none_=>_i32) (result i32) + ;; CHECK: (func $try-catch (type $0) (result i32) ;; CHECK-NEXT: (try $try (result i32) ;; CHECK-NEXT: (do ;; CHECK-NEXT: (i32.const 0) @@ -241,7 +241,7 @@ ) ) - ;; CHECK: (func $try-delegate (type $none_=>_i32) (result i32) + ;; CHECK: (func $try-delegate (type $0) (result i32) ;; CHECK-NEXT: (try $l0 (result i32) ;; CHECK-NEXT: (do ;; CHECK-NEXT: (try $try @@ -277,7 +277,7 @@ ) ) - ;; CHECK: (func $tuple (type $none_=>_i32_i64) (result i32 i64) + ;; CHECK: (func $tuple (type $1) (result i32 i64) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i64.const 1) ;; CHECK-NEXT: ) @@ -288,7 +288,7 @@ ) ) - ;; CHECK: (func $extract-first (type $none_=>_i32) (result i32) + ;; CHECK: (func $extract-first (type $0) (result i32) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i64.const 1) ;; CHECK-NEXT: (f32.const 2) @@ -309,7 +309,7 @@ ) ) - ;; CHECK: (func $extract-middle (type $none_=>_i64) (result i64) + ;; CHECK: (func $extract-middle (type $6) (result i64) ;; CHECK-NEXT: (local $0 i64) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i64.const 1) @@ -335,7 +335,7 @@ ) ) - ;; CHECK: (func $extract-last (type $none_=>_f32) (result f32) + ;; CHECK: (func $extract-last (type $7) (result f32) ;; CHECK-NEXT: (local $0 f32) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i64.const 1) @@ -361,7 +361,7 @@ ) ) - ;; CHECK: (func $drop (type $none_=>_none) + ;; CHECK: (func $drop (type $2) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (pop i32) @@ -373,7 +373,7 @@ ) ) - ;; CHECK: (func $drop-tuple (type $none_=>_none) + ;; CHECK: (func $drop-tuple (type $2) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i64.const 1) ;; CHECK-NEXT: (drop @@ -392,7 +392,7 @@ ) ) - ;; CHECK: (func $local-get-tuple (type $none_=>_i32_i64) (result i32 i64) + ;; CHECK: (func $local-get-tuple (type $1) (result i32 i64) ;; CHECK-NEXT: (local $x (i32 i64)) ;; CHECK-NEXT: (local $1 i32) ;; CHECK-NEXT: (local $2 i64) @@ -404,7 +404,7 @@ (local.get $x) ) - ;; CHECK: (func $local-set (type $none_=>_none) + ;; CHECK: (func $local-set (type $2) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (local.set $x @@ -418,7 +418,7 @@ ) ) - ;; CHECK: (func $local-set-tuple (type $none_=>_none) + ;; CHECK: (func $local-set-tuple (type $2) ;; CHECK-NEXT: (local $x (i32 i64)) ;; CHECK-NEXT: (local $1 i32) ;; CHECK-NEXT: (local $2 i64) @@ -441,7 +441,7 @@ ) ) - ;; CHECK: (func $local-tee-tuple (type $none_=>_i32_i64) (result i32 i64) + ;; CHECK: (func $local-tee-tuple (type $1) (result i32 i64) ;; CHECK-NEXT: (local $x (i32 i64)) ;; CHECK-NEXT: (local $1 i32) ;; CHECK-NEXT: (local $2 i64) @@ -465,7 +465,7 @@ ) ) - ;; CHECK: (func $break-tuple (type $none_=>_i32_i64) (result i32 i64) + ;; CHECK: (func $break-tuple (type $1) (result i32 i64) ;; CHECK-NEXT: (block $l (result i32 i64) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i64.const 1) @@ -485,7 +485,7 @@ ) ) - ;; CHECK: (func $return-tuple (type $none_=>_i32_i64) (result i32 i64) + ;; CHECK: (func $return-tuple (type $1) (result i32 i64) ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i64.const 1) ;; CHECK-NEXT: (return diff --git a/test/lit/passes/precompute-gc-immutable.wast b/test/lit/passes/precompute-gc-immutable.wast index c5fb5f0dc..0ae99b26a 100644 --- a/test/lit/passes/precompute-gc-immutable.wast +++ b/test/lit/passes/precompute-gc-immutable.wast @@ -9,7 +9,7 @@ ;; CHECK: (type $struct-mut (struct (field (mut i32)))) (type $struct-mut (struct (mut i32))) - ;; CHECK: (func $propagate (type $none_=>_none) + ;; CHECK: (func $propagate (type $2) ;; CHECK-NEXT: (local $ref-imm (ref null $struct-imm)) ;; CHECK-NEXT: (local $ref-mut (ref null $struct-mut)) ;; CHECK-NEXT: (local.set $ref-imm @@ -59,7 +59,7 @@ ) ) - ;; CHECK: (func $non-constant (type $i32_=>_none) (param $param i32) + ;; CHECK: (func $non-constant (type $1) (param $param i32) ;; CHECK-NEXT: (local $ref (ref null $struct-imm)) ;; CHECK-NEXT: (local.set $ref ;; CHECK-NEXT: (struct.new $struct-imm @@ -87,7 +87,7 @@ ) ) - ;; CHECK: (func $unreachable (type $none_=>_none) + ;; CHECK: (func $unreachable (type $2) ;; CHECK-NEXT: (local $ref-imm (ref null $struct-imm)) ;; CHECK-NEXT: (local.tee $ref-imm ;; CHECK-NEXT: (block ;; (replaces something unreachable we can't emit) @@ -118,7 +118,7 @@ ) ) - ;; CHECK: (func $param (type $ref?|$struct-imm|_=>_none) (param $ref-imm (ref null $struct-imm)) + ;; CHECK: (func $param (type $4) (param $ref-imm (ref null $struct-imm)) ;; CHECK-NEXT: (call $helper ;; CHECK-NEXT: (struct.get $struct-imm 0 ;; CHECK-NEXT: (local.get $ref-imm) @@ -134,7 +134,7 @@ ) ) - ;; CHECK: (func $local-null (type $none_=>_none) + ;; CHECK: (func $local-null (type $2) ;; CHECK-NEXT: (local $ref-imm (ref null $struct-imm)) ;; CHECK-NEXT: (call $helper ;; CHECK-NEXT: (block ;; (replaces something unreachable we can't emit) @@ -156,7 +156,7 @@ ) ) - ;; CHECK: (func $local-unknown (type $i32_=>_none) (param $x i32) + ;; CHECK: (func $local-unknown (type $1) (param $x i32) ;; CHECK-NEXT: (local $ref-imm (ref null $struct-imm)) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $x) @@ -201,7 +201,7 @@ ) ) - ;; CHECK: (func $local-unknown-ref-same-value (type $i32_=>_none) (param $x i32) + ;; CHECK: (func $local-unknown-ref-same-value (type $1) (param $x i32) ;; CHECK-NEXT: (local $ref-imm (ref null $struct-imm)) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $x) @@ -248,7 +248,7 @@ ) ) - ;; CHECK: (func $propagate-multi-refs (type $i32_=>_none) (param $x i32) + ;; CHECK: (func $propagate-multi-refs (type $1) (param $x i32) ;; CHECK-NEXT: (local $ref-imm (ref null $struct-imm)) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $x) @@ -307,7 +307,7 @@ ) ) - ;; CHECK: (func $propagate-multi-values (type $i32_=>_none) (param $x i32) + ;; CHECK: (func $propagate-multi-values (type $1) (param $x i32) ;; CHECK-NEXT: (local $ref-imm (ref null $struct-imm)) ;; CHECK-NEXT: (local.set $ref-imm ;; CHECK-NEXT: (struct.new $struct-imm @@ -349,7 +349,7 @@ ) ) - ;; CHECK: (func $helper (type $i32_=>_none) (param $0 i32) + ;; CHECK: (func $helper (type $1) (param $0 i32) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $helper (param i32)) @@ -361,7 +361,7 @@ ;; CHECK: (type $struct (struct (field (mut i32)) (field i32))) (type $struct (struct (mut i32) i32)) - ;; CHECK: (func $propagate (type $none_=>_none) + ;; CHECK: (func $propagate (type $1) ;; CHECK-NEXT: (local $ref (ref null $struct)) ;; CHECK-NEXT: (local.set $ref ;; CHECK-NEXT: (struct.new $struct @@ -400,7 +400,7 @@ ) ) - ;; CHECK: (func $helper (type $i32_=>_none) (param $0 i32) + ;; CHECK: (func $helper (type $2) (param $0 i32) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $helper (param i32)) @@ -415,7 +415,7 @@ ;; CHECK: (type $object (struct (field (ref $vtable)))) (type $object (struct (ref $vtable))) - ;; CHECK: (func $nested-creations (type $none_=>_none) + ;; CHECK: (func $nested-creations (type $2) ;; CHECK-NEXT: (local $ref (ref null $object)) ;; CHECK-NEXT: (local.set $ref ;; CHECK-NEXT: (struct.new $object @@ -448,7 +448,7 @@ ) ) - ;; CHECK: (func $helper (type $funcref_=>_none) (param $0 funcref) + ;; CHECK: (func $helper (type $3) (param $0 funcref) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $helper (param funcref)) @@ -462,7 +462,7 @@ ;; CHECK: (type $object (struct (field (ref $vtable)))) (type $object (struct (ref $vtable))) - ;; CHECK: (func $nested-creations (type $none_=>_none) + ;; CHECK: (func $nested-creations (type $2) ;; CHECK-NEXT: (local $ref (ref null $object)) ;; CHECK-NEXT: (local.set $ref ;; CHECK-NEXT: (struct.new $object @@ -499,7 +499,7 @@ ) ) - ;; CHECK: (func $helper (type $funcref_=>_none) (param $0 funcref) + ;; CHECK: (func $helper (type $3) (param $0 funcref) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $helper (param funcref)) @@ -514,7 +514,7 @@ ;; CHECK: (type $object (struct (field (mut (ref $vtable))))) (type $object (struct (mut (ref $vtable)))) - ;; CHECK: (func $nested-creations (type $none_=>_none) + ;; CHECK: (func $nested-creations (type $2) ;; CHECK-NEXT: (local $ref (ref null $object)) ;; CHECK-NEXT: (local.set $ref ;; CHECK-NEXT: (struct.new $object @@ -549,7 +549,7 @@ ) ) - ;; CHECK: (func $helper (type $funcref_=>_none) (param $0 funcref) + ;; CHECK: (func $helper (type $3) (param $0 funcref) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $helper (param funcref)) @@ -573,7 +573,7 @@ ) ) - ;; CHECK: (func $nested-creations (type $none_=>_none) + ;; CHECK: (func $nested-creations (type $2) ;; CHECK-NEXT: (local $ref (ref null $object)) ;; CHECK-NEXT: (local.set $ref ;; CHECK-NEXT: (struct.new $object @@ -600,7 +600,7 @@ ) ) - ;; CHECK: (func $helper (type $funcref_=>_none) (param $0 funcref) + ;; CHECK: (func $helper (type $3) (param $0 funcref) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $helper (param funcref)) @@ -624,7 +624,7 @@ ) ) - ;; CHECK: (func $nested-creations (type $none_=>_none) + ;; CHECK: (func $nested-creations (type $2) ;; CHECK-NEXT: (local $ref (ref null $object)) ;; CHECK-NEXT: (local.set $ref ;; CHECK-NEXT: (struct.new $object @@ -655,7 +655,7 @@ ) ) - ;; CHECK: (func $helper (type $funcref_=>_none) (param $0 funcref) + ;; CHECK: (func $helper (type $3) (param $0 funcref) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $helper (param funcref)) @@ -679,7 +679,7 @@ ) ) - ;; CHECK: (func $nested-creations (type $i32_=>_none) (param $param i32) + ;; CHECK: (func $nested-creations (type $2) (param $param i32) ;; CHECK-NEXT: (local $ref (ref null $object)) ;; CHECK-NEXT: (local.set $ref ;; CHECK-NEXT: (struct.new $object @@ -725,7 +725,7 @@ ) ) - ;; CHECK: (func $helper (type $funcref_=>_none) (param $0 funcref) + ;; CHECK: (func $helper (type $3) (param $0 funcref) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $helper (param funcref)) @@ -770,7 +770,7 @@ ) ) - ;; CHECK: (func $nested-creations (type $none_=>_none) + ;; CHECK: (func $nested-creations (type $4) ;; CHECK-NEXT: (local $ref (ref null $object)) ;; CHECK-NEXT: (local.set $ref ;; CHECK-NEXT: (struct.new $object @@ -818,7 +818,7 @@ ) ) - ;; CHECK: (func $helper (type $funcref_=>_none) (param $0 funcref) + ;; CHECK: (func $helper (type $5) (param $0 funcref) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $helper (param funcref)) diff --git a/test/lit/passes/precompute-gc.wast b/test/lit/passes/precompute-gc.wast index 322342404..df755dade 100644 --- a/test/lit/passes/precompute-gc.wast +++ b/test/lit/passes/precompute-gc.wast @@ -24,7 +24,7 @@ (type $func-return-i32 (func (result i32))) - ;; CHECK: (import "fuzzing-support" "log-i32" (func $log (type $i32_=>_none) (param i32))) + ;; CHECK: (import "fuzzing-support" "log-i32" (func $log (type $4) (param i32))) (import "fuzzing-support" "log-i32" (func $log (param i32))) ;; CHECK: (func $test-fallthrough (type $func-return-i32) (result i32) @@ -59,7 +59,7 @@ ) ) - ;; CHECK: (func $load-from-struct (type $none_=>_none) + ;; CHECK: (func $load-from-struct (type $3) ;; CHECK-NEXT: (local $x (ref null $struct)) ;; CHECK-NEXT: (local.set $x ;; CHECK-NEXT: (struct.new $struct @@ -121,7 +121,7 @@ (struct.get $struct 0 (local.get $x)) ) ) - ;; CHECK: (func $load-from-struct-bad-merge (type $i32_=>_none) (param $i i32) + ;; CHECK: (func $load-from-struct-bad-merge (type $4) (param $i i32) ;; CHECK-NEXT: (local $x (ref null $struct)) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $i) @@ -162,7 +162,7 @@ (struct.get $struct 0 (local.get $x)) ) ) - ;; CHECK: (func $modify-gc-heap (type $ref?|$struct|_=>_none) (param $x (ref null $struct)) + ;; CHECK: (func $modify-gc-heap (type $5) (param $x (ref null $struct)) ;; CHECK-NEXT: (struct.set $struct 0 ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: (i32.add @@ -186,7 +186,7 @@ ) ;; --fuzz-exec verifies the output of this function, checking that the change ;; makde in modify-gc-heap is not ignored - ;; CHECK: (func $load-from-struct-bad-escape (type $none_=>_none) + ;; CHECK: (func $load-from-struct-bad-escape (type $3) ;; CHECK-NEXT: (local $x (ref null $struct)) ;; CHECK-NEXT: (local.set $x ;; CHECK-NEXT: (struct.new $struct @@ -216,7 +216,7 @@ (struct.get $struct 0 (local.get $x)) ) ) - ;; CHECK: (func $load-from-struct-bad-arrive (type $ref?|$struct|_=>_none) (param $x (ref null $struct)) + ;; CHECK: (func $load-from-struct-bad-arrive (type $5) (param $x (ref null $struct)) ;; CHECK-NEXT: (call $log ;; CHECK-NEXT: (struct.get $struct 0 ;; CHECK-NEXT: (local.get $x) @@ -229,7 +229,7 @@ (struct.get $struct 0 (local.get $x)) ) ) - ;; CHECK: (func $ref-comparisons (type $ref?|$struct|_ref?|$struct|_=>_none) (param $x (ref null $struct)) (param $y (ref null $struct)) + ;; CHECK: (func $ref-comparisons (type $8) (param $x (ref null $struct)) (param $y (ref null $struct)) ;; CHECK-NEXT: (local $z (ref null $struct)) ;; CHECK-NEXT: (local $w (ref null $struct)) ;; CHECK-NEXT: (call $log @@ -382,7 +382,7 @@ (local.get $tempresult) ) - ;; CHECK: (func $propagate-uncertain-param (type $ref|$empty|_=>_i32) (param $input (ref $empty)) (result i32) + ;; CHECK: (func $propagate-uncertain-param (type $6) (param $input (ref $empty)) (result i32) ;; CHECK-NEXT: (local $tempresult i32) ;; CHECK-NEXT: (local $tempref (ref null $empty)) ;; CHECK-NEXT: (local.set $tempresult @@ -407,7 +407,7 @@ (local.get $tempresult) ) - ;; CHECK: (func $propagate-different-params (type $ref|$empty|_ref|$empty|_=>_i32) (param $input1 (ref $empty)) (param $input2 (ref $empty)) (result i32) + ;; CHECK: (func $propagate-different-params (type $9) (param $input1 (ref $empty)) (param $input2 (ref $empty)) (result i32) ;; CHECK-NEXT: (local $tempresult i32) ;; CHECK-NEXT: (local.set $tempresult ;; CHECK-NEXT: (ref.eq @@ -429,7 +429,7 @@ (local.get $tempresult) ) - ;; CHECK: (func $propagate-same-param (type $ref|$empty|_=>_i32) (param $input (ref $empty)) (result i32) + ;; CHECK: (func $propagate-same-param (type $6) (param $input (ref $empty)) (result i32) ;; CHECK-NEXT: (local $tempresult i32) ;; CHECK-NEXT: (local.set $tempresult ;; CHECK-NEXT: (ref.eq @@ -507,7 +507,7 @@ (local.get $tempresult) ) - ;; CHECK: (func $propagate-uncertain-loop (type $none_=>_none) + ;; CHECK: (func $propagate-uncertain-loop (type $3) ;; CHECK-NEXT: (local $tempresult i32) ;; CHECK-NEXT: (local $tempref (ref null $empty)) ;; CHECK-NEXT: (local $stashedref (ref null $empty)) @@ -564,7 +564,7 @@ ) ) - ;; CHECK: (func $propagate-certain-loop (type $none_=>_none) + ;; CHECK: (func $propagate-certain-loop (type $3) ;; CHECK-NEXT: (local $tempresult i32) ;; CHECK-NEXT: (local $tempref (ref null $empty)) ;; CHECK-NEXT: (local $stashedref (ref null $empty)) @@ -612,7 +612,7 @@ ) ) - ;; CHECK: (func $propagate-certain-loop-2 (type $none_=>_none) + ;; CHECK: (func $propagate-certain-loop-2 (type $3) ;; CHECK-NEXT: (local $tempresult i32) ;; CHECK-NEXT: (local $tempref (ref null $empty)) ;; CHECK-NEXT: (local $stashedref (ref null $empty)) @@ -660,7 +660,7 @@ ) ) - ;; CHECK: (func $propagate-possibly-certain-loop (type $none_=>_none) + ;; CHECK: (func $propagate-possibly-certain-loop (type $3) ;; CHECK-NEXT: (local $tempresult i32) ;; CHECK-NEXT: (local $tempref (ref null $empty)) ;; CHECK-NEXT: (local $stashedref (ref null $empty)) @@ -723,14 +723,14 @@ ) ) - ;; CHECK: (func $helper (type $i32_=>_i32) (param $0 i32) (result i32) + ;; CHECK: (func $helper (type $10) (param $0 i32) (result i32) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) (func $helper (param i32) (result i32) (unreachable) ) - ;; CHECK: (func $odd-cast-and-get (type $none_=>_none) + ;; CHECK: (func $odd-cast-and-get (type $3) ;; CHECK-NEXT: (local $temp (ref null $B)) ;; CHECK-NEXT: (local.set $temp ;; CHECK-NEXT: (ref.null none) @@ -764,7 +764,7 @@ ) ) - ;; CHECK: (func $odd-cast-and-get-tuple (type $none_=>_none) + ;; CHECK: (func $odd-cast-and-get-tuple (type $3) ;; CHECK-NEXT: (local $temp ((ref null $B) i32)) ;; CHECK-NEXT: (local.set $temp ;; CHECK-NEXT: (tuple.make @@ -801,14 +801,14 @@ ) ) - ;; CHECK: (func $receive-f64 (type $f64_=>_none) (param $0 f64) + ;; CHECK: (func $receive-f64 (type $11) (param $0 f64) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) (func $receive-f64 (param f64) (unreachable) ) - ;; CHECK: (func $odd-cast-and-get-non-null (type $ref|$func-return-i32|_=>_none) (param $temp (ref $func-return-i32)) + ;; CHECK: (func $odd-cast-and-get-non-null (type $12) (param $temp (ref $func-return-i32)) ;; CHECK-NEXT: (local.set $temp ;; CHECK-NEXT: (ref.cast (ref nofunc) ;; CHECK-NEXT: (ref.func $receive-f64) @@ -836,7 +836,7 @@ ) ) - ;; CHECK: (func $new_block_unreachable (type $none_=>_anyref) (result anyref) + ;; CHECK: (func $new_block_unreachable (type $13) (result anyref) ;; CHECK-NEXT: (block ;; (replaces something unreachable we can't emit) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block @@ -857,7 +857,7 @@ ) ) - ;; CHECK: (func $br_on_cast-on-creation (type $none_=>_ref|$empty|) (result (ref $empty)) + ;; CHECK: (func $br_on_cast-on-creation (type $14) (result (ref $empty)) ;; CHECK-NEXT: (block $label (result (ref $empty)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (br_on_cast $label (ref $empty) (ref $empty) @@ -878,7 +878,7 @@ ) ) - ;; CHECK: (func $ref.is_null (type $i32_=>_none) (param $param i32) + ;; CHECK: (func $ref.is_null (type $4) (param $param i32) ;; CHECK-NEXT: (local $ref (ref null $empty)) ;; CHECK-NEXT: (local.set $ref ;; CHECK-NEXT: (struct.new_default $empty) @@ -952,7 +952,7 @@ ) ) - ;; CHECK: (func $remove-set (type $none_=>_ref|func|) (result (ref func)) + ;; CHECK: (func $remove-set (type $15) (result (ref func)) ;; CHECK-NEXT: (local $nn funcref) ;; CHECK-NEXT: (local $i i32) ;; CHECK-NEXT: (loop $loop @@ -995,7 +995,7 @@ ) ) - ;; CHECK: (func $strings (type $ref|string|_=>_none) (param $param (ref string)) + ;; CHECK: (func $strings (type $16) (param $param (ref string)) ;; CHECK-NEXT: (local $s (ref string)) ;; CHECK-NEXT: (local.set $s ;; CHECK-NEXT: (string.const "hello, world") diff --git a/test/lit/passes/remove-unused-brs-gc.wast b/test/lit/passes/remove-unused-brs-gc.wast index 88e8aa9e1..625b31584 100644 --- a/test/lit/passes/remove-unused-brs-gc.wast +++ b/test/lit/passes/remove-unused-brs-gc.wast @@ -13,7 +13,7 @@ (type $substruct (sub $struct (struct))) ) - ;; CHECK: (func $br_on-if (type $ref|struct|_=>_none) (param $0 (ref struct)) + ;; CHECK: (func $br_on-if (type $7) (param $0 (ref struct)) ;; CHECK-NEXT: (block $label ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (select (result (ref struct)) @@ -44,7 +44,7 @@ ) ) - ;; CHECK: (func $br_on_cast (type $none_=>_ref|$struct|) (result (ref $struct)) + ;; CHECK: (func $br_on_cast (type $4) (result (ref $struct)) ;; CHECK-NEXT: (local $struct (ref null $struct)) ;; CHECK-NEXT: (block $block (result (ref $struct)) ;; CHECK-NEXT: (drop @@ -95,7 +95,7 @@ ) ) - ;; CHECK: (func $br_on_cast-fallthrough (type $none_=>_ref|$struct|) (result (ref $struct)) + ;; CHECK: (func $br_on_cast-fallthrough (type $4) (result (ref $struct)) ;; CHECK-NEXT: (local $struct (ref null $struct)) ;; CHECK-NEXT: (local $any anyref) ;; CHECK-NEXT: (block $block (result (ref $struct)) @@ -158,7 +158,7 @@ ) ) - ;; CHECK: (func $nested_br_on_cast (type $none_=>_i31ref) (result i31ref) + ;; CHECK: (func $nested_br_on_cast (type $8) (result i31ref) ;; CHECK-NEXT: (block $label$1 (result (ref i31)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (br $label$1 @@ -186,7 +186,7 @@ ) ) - ;; CHECK: (func $br_on_cast_unrelated (type $none_=>_ref?|$struct|) (result (ref null $struct)) + ;; CHECK: (func $br_on_cast_unrelated (type $5) (result (ref null $struct)) ;; CHECK-NEXT: (local $nullable-struct2 (ref null $struct2)) ;; CHECK-NEXT: (block $block (result nullref) ;; CHECK-NEXT: (drop @@ -240,7 +240,7 @@ ) ) - ;; CHECK: (func $br_on_cast_unrelated-fallthrough (type $none_=>_ref?|$struct|) (result (ref null $struct)) + ;; CHECK: (func $br_on_cast_unrelated-fallthrough (type $5) (result (ref null $struct)) ;; CHECK-NEXT: (local $any anyref) ;; CHECK-NEXT: (local $nullable-struct2 (ref null $struct2)) ;; CHECK-NEXT: (block $block (result nullref) @@ -303,7 +303,7 @@ ) ) - ;; CHECK: (func $br_on_cast_fail (type $none_=>_anyref) (result anyref) + ;; CHECK: (func $br_on_cast_fail (type $3) (result anyref) ;; CHECK-NEXT: (local $struct (ref null $struct)) ;; CHECK-NEXT: (block $block (result (ref null $struct)) ;; CHECK-NEXT: (drop @@ -350,7 +350,7 @@ ) ) - ;; CHECK: (func $br_on_cast_fail-fallthrough (type $none_=>_anyref) (result anyref) + ;; CHECK: (func $br_on_cast_fail-fallthrough (type $3) (result anyref) ;; CHECK-NEXT: (local $any anyref) ;; CHECK-NEXT: (local $struct (ref null $struct)) ;; CHECK-NEXT: (block $block (result anyref) @@ -406,7 +406,7 @@ ) ) - ;; CHECK: (func $br_on_cast_fail_unrelated (type $none_=>_anyref) (result anyref) + ;; CHECK: (func $br_on_cast_fail_unrelated (type $3) (result anyref) ;; CHECK-NEXT: (local $nullable-struct2 (ref null $struct2)) ;; CHECK-NEXT: (block $block (result (ref null $struct2)) ;; CHECK-NEXT: (drop @@ -468,7 +468,7 @@ ) ) - ;; CHECK: (func $br_on_cast_fail_unrelated-fallthrough (type $none_=>_anyref) (result anyref) + ;; CHECK: (func $br_on_cast_fail_unrelated-fallthrough (type $3) (result anyref) ;; CHECK-NEXT: (local $any anyref) ;; CHECK-NEXT: (local $nullable-struct2 (ref null $struct2)) ;; CHECK-NEXT: (block $block (result anyref) @@ -539,7 +539,7 @@ ) ) - ;; CHECK: (func $br_on_cast-unreachable (type $i31ref_=>_anyref) (param $i31ref i31ref) (result anyref) + ;; CHECK: (func $br_on_cast-unreachable (type $6) (param $i31ref i31ref) (result anyref) ;; CHECK-NEXT: (block $block ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block @@ -595,7 +595,7 @@ ) ) - ;; CHECK: (func $fallthrough-unreachable (type $i31ref_=>_anyref) (param $0 i31ref) (result anyref) + ;; CHECK: (func $fallthrough-unreachable (type $6) (param $0 i31ref) (result anyref) ;; CHECK-NEXT: (block $outer ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block ;; (replaces something unreachable we can't emit) @@ -634,7 +634,7 @@ ) ) - ;; CHECK: (func $casts-are-costly (type $i32_=>_none) (param $x i32) + ;; CHECK: (func $casts-are-costly (type $9) (param $x i32) ;; CHECK-NEXT: (local $struct (ref null $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (if (result i32) diff --git a/test/lit/passes/remove-unused-brs.wast b/test/lit/passes/remove-unused-brs.wast index c3789e3ef..e1db006db 100644 --- a/test/lit/passes/remove-unused-brs.wast +++ b/test/lit/passes/remove-unused-brs.wast @@ -5,7 +5,7 @@ (module ;; Regression test in which we need to calculate a proper LUB. - ;; CHECK: (func $selectify-fresh-lub (type $i32_=>_anyref) (param $x i32) (result anyref) + ;; CHECK: (func $selectify-fresh-lub (type $2) (param $x i32) (result anyref) ;; CHECK-NEXT: (select (result i31ref) ;; CHECK-NEXT: (ref.null none) ;; CHECK-NEXT: (i31.new @@ -26,7 +26,7 @@ ) ) - ;; CHECK: (func $selectify-simple (type $i32_=>_i32) (param $0 i32) (result i32) + ;; CHECK: (func $selectify-simple (type $0) (param $0 i32) (result i32) ;; CHECK-NEXT: (select ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: (i32.lt_u @@ -71,7 +71,7 @@ ) ) - ;; CHECK: (func $restructure-br_if (type $i32_=>_i32) (param $x i32) (result i32) + ;; CHECK: (func $restructure-br_if (type $0) (param $x i32) (result i32) ;; CHECK-NEXT: (if (result i32) ;; CHECK-NEXT: (local.get $x) ;; CHECK-NEXT: (i32.const 100) @@ -98,13 +98,13 @@ ) ) - ;; CHECK: (func $nothing (type $none_=>_none) + ;; CHECK: (func $nothing (type $1) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $nothing) - ;; CHECK: (func $restructure-br_if-condition-reorderable (type $i32_=>_i32) (param $x i32) (result i32) + ;; CHECK: (func $restructure-br_if-condition-reorderable (type $0) (param $x i32) (result i32) ;; CHECK-NEXT: (if (result i32) ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (call $nothing) @@ -137,7 +137,7 @@ ) ) - ;; CHECK: (func $restructure-br_if-value-effectful (type $i32_=>_i32) (param $x i32) (result i32) + ;; CHECK: (func $restructure-br_if-value-effectful (type $0) (param $x i32) (result i32) ;; CHECK-NEXT: (select ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (call $nothing) @@ -179,7 +179,7 @@ ) ) - ;; CHECK: (func $restructure-br_if-value-effectful-corner-case-1 (type $i32_=>_i32) (param $x i32) (result i32) + ;; CHECK: (func $restructure-br_if-value-effectful-corner-case-1 (type $0) (param $x i32) (result i32) ;; CHECK-NEXT: (block $x (result i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (br_if $x @@ -217,14 +217,14 @@ ) ) - ;; CHECK: (func $get-i32 (type $none_=>_i32) (result i32) + ;; CHECK: (func $get-i32 (type $3) (result i32) ;; CHECK-NEXT: (i32.const 400) ;; CHECK-NEXT: ) (func $get-i32 (result i32) (i32.const 400) ) - ;; CHECK: (func $restructure-br_if-value-effectful-corner-case-2 (type $i32_=>_i32) (param $x i32) (result i32) + ;; CHECK: (func $restructure-br_if-value-effectful-corner-case-2 (type $0) (param $x i32) (result i32) ;; CHECK-NEXT: (block $x (result i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (br_if $x @@ -263,7 +263,7 @@ (call $get-i32) ) ) - ;; CHECK: (func $restructure-br_if-value-effectful-corner-case-3 (type $i32_=>_i32) (param $x i32) (result i32) + ;; CHECK: (func $restructure-br_if-value-effectful-corner-case-3 (type $0) (param $x i32) (result i32) ;; CHECK-NEXT: (block $x (result i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (br_if $x @@ -296,7 +296,7 @@ ) ) - ;; CHECK: (func $restructure-br_if-value-effectful-corner-case-4 (type $i32_=>_i32) (param $x i32) (result i32) + ;; CHECK: (func $restructure-br_if-value-effectful-corner-case-4 (type $0) (param $x i32) (result i32) ;; CHECK-NEXT: (block $x (result i32) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (br_if $x @@ -331,7 +331,7 @@ ) ) - ;; CHECK: (func $restructure-select-no-multivalue (type $none_=>_none) + ;; CHECK: (func $restructure-select-no-multivalue (type $1) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block $block (result i32 i32) ;; CHECK-NEXT: (drop @@ -378,7 +378,7 @@ ) ) - ;; CHECK: (func $if-of-if (type $none_=>_none) + ;; CHECK: (func $if-of-if (type $1) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (select @@ -406,7 +406,7 @@ ) ) - ;; CHECK: (func $if-of-if-but-side-effects (type $none_=>_none) + ;; CHECK: (func $if-of-if-but-side-effects (type $1) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $x @@ -437,7 +437,7 @@ ) ) - ;; CHECK: (func $if-of-if-but-too-costly (type $none_=>_none) + ;; CHECK: (func $if-of-if-but-too-costly (type $1) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $x @@ -484,7 +484,7 @@ ) ) - ;; CHECK: (func $if-of-if-but-inner-else (type $none_=>_none) + ;; CHECK: (func $if-of-if-but-inner-else (type $1) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $x @@ -512,7 +512,7 @@ ) ) - ;; CHECK: (func $if-of-if-but-outer-else (type $none_=>_none) + ;; CHECK: (func $if-of-if-but-outer-else (type $1) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $x diff --git a/test/lit/passes/remove-unused-brs_all-features.wast b/test/lit/passes/remove-unused-brs_all-features.wast index 3482afc29..344fbe12f 100644 --- a/test/lit/passes/remove-unused-brs_all-features.wast +++ b/test/lit/passes/remove-unused-brs_all-features.wast @@ -8,29 +8,29 @@ (type $vector (array (mut i32))) ;; CHECK: (type $struct (struct (field (ref null $vector)))) (type $struct (struct (field (ref null $vector)))) - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $2 (func (param i32))) - ;; CHECK: (type $none_=>_ref?|$struct| (func (result (ref null $struct)))) + ;; CHECK: (type $3 (func (result (ref null $struct)))) - ;; CHECK: (type $none_=>_f64 (func (result f64))) + ;; CHECK: (type $4 (func (result f64))) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $5 (func (result i32))) - ;; CHECK: (type $i32_=>_funcref (func (param i32) (result funcref))) + ;; CHECK: (type $6 (func (param i32) (result funcref))) - ;; CHECK: (type $funcref_=>_none (func (param funcref))) + ;; CHECK: (type $7 (func (param funcref))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $8 (func)) - ;; CHECK: (type $funcref_=>_funcref (func (param funcref) (result funcref))) + ;; CHECK: (type $9 (func (param funcref) (result funcref))) - ;; CHECK: (type $none_=>_funcref (func (result funcref))) + ;; CHECK: (type $10 (func (result funcref))) - ;; CHECK: (import "out" "log" (func $log (type $i32_=>_none) (param i32))) + ;; CHECK: (import "out" "log" (func $log (type $2) (param i32))) (import "out" "log" (func $log (param i32))) ;; CHECK: (elem declare func $br_on_non_null $br_on_null $i32_=>_none $none_=>_i32) - ;; CHECK: (func $foo (type $none_=>_ref?|$struct|) (result (ref null $struct)) + ;; CHECK: (func $foo (type $3) (result (ref null $struct)) ;; CHECK-NEXT: (if (result (ref null $struct)) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: (struct.new $struct @@ -55,7 +55,7 @@ ) ) - ;; CHECK: (func $test-prefinalize (type $none_=>_f64) (result f64) + ;; CHECK: (func $test-prefinalize (type $4) (result f64) ;; CHECK-NEXT: (loop $loop (result f64) ;; CHECK-NEXT: (if (result f64) ;; CHECK-NEXT: (i32.const 1) @@ -94,18 +94,18 @@ ) ) - ;; CHECK: (func $none_=>_i32 (type $none_=>_i32) (result i32) + ;; CHECK: (func $none_=>_i32 (type $5) (result i32) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) (func $none_=>_i32 (result i32) (unreachable) ) - ;; CHECK: (func $i32_=>_none (type $i32_=>_none) (param $0 i32) + ;; CHECK: (func $i32_=>_none (type $2) (param $0 i32) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $i32_=>_none (param i32) ) - ;; CHECK: (func $selectify (type $i32_=>_funcref) (param $x i32) (result funcref) + ;; CHECK: (func $selectify (type $6) (param $x i32) (result funcref) ;; CHECK-NEXT: (select (result funcref) ;; CHECK-NEXT: (ref.func $none_=>_i32) ;; CHECK-NEXT: (ref.func $i32_=>_none) @@ -122,7 +122,7 @@ ) ) - ;; CHECK: (func $br_on_null (type $funcref_=>_none) (param $x funcref) + ;; CHECK: (func $br_on_null (type $7) (param $x funcref) ;; CHECK-NEXT: (block $null ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block @@ -160,7 +160,7 @@ ) ) - ;; CHECK: (func $br_on_null-fallthrough (type $none_=>_none) + ;; CHECK: (func $br_on_null-fallthrough (type $8) ;; CHECK-NEXT: (local $x funcref) ;; CHECK-NEXT: (block $null ;; CHECK-NEXT: (drop @@ -198,7 +198,7 @@ ) ) - ;; CHECK: (func $br_on_non_null (type $funcref_=>_funcref) (param $x funcref) (result funcref) + ;; CHECK: (func $br_on_non_null (type $9) (param $x funcref) (result funcref) ;; CHECK-NEXT: (block $non-null (result (ref func)) ;; CHECK-NEXT: (br $non-null ;; CHECK-NEXT: (ref.func $br_on_non_null) @@ -231,7 +231,7 @@ ) ) - ;; CHECK: (func $br_on_non_null-fallthrough (type $none_=>_funcref) (result funcref) + ;; CHECK: (func $br_on_non_null-fallthrough (type $10) (result funcref) ;; CHECK-NEXT: (local $x funcref) ;; CHECK-NEXT: (block $non-null (result (ref func)) ;; CHECK-NEXT: (br $non-null diff --git a/test/lit/passes/remove-unused-module-elements-refs.wast b/test/lit/passes/remove-unused-module-elements-refs.wast index a56350ddc..ecb96c249 100644 --- a/test/lit/passes/remove-unused-module-elements-refs.wast +++ b/test/lit/passes/remove-unused-module-elements-refs.wast @@ -27,13 +27,13 @@ (type $B (func)) ) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $4 (func)) ;; CHECK: (elem declare func $target-A $target-A-sub $target-A-super $target-B) ;; CHECK: (export "foo" (func $foo)) - ;; CHECK: (func $foo (type $none_=>_none) + ;; CHECK: (func $foo (type $4) ;; CHECK-NEXT: (local $A (ref null $A)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.func $target-A) @@ -57,13 +57,13 @@ ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; OPEN_WORLD: (type $none_=>_none (func)) + ;; OPEN_WORLD: (type $4 (func)) ;; OPEN_WORLD: (elem declare func $target-A $target-A-sub $target-A-super $target-B) ;; OPEN_WORLD: (export "foo" (func $foo)) - ;; OPEN_WORLD: (func $foo (type $none_=>_none) + ;; OPEN_WORLD: (func $foo (type $4) ;; OPEN_WORLD-NEXT: (local $A (ref null $A)) ;; OPEN_WORLD-NEXT: (drop ;; OPEN_WORLD-NEXT: (ref.func $target-A) @@ -469,17 +469,17 @@ ;; OPEN_WORLD: (type $A (func)) (type $A (func)) - ;; CHECK: (type $funcref_=>_none (func (param funcref))) + ;; CHECK: (type $1 (func (param funcref))) - ;; CHECK: (import "binaryen-intrinsics" "call.without.effects" (func $call-without-effects (type $funcref_=>_none) (param funcref))) - ;; OPEN_WORLD: (type $funcref_=>_none (func (param funcref))) + ;; CHECK: (import "binaryen-intrinsics" "call.without.effects" (func $call-without-effects (type $1) (param funcref))) + ;; OPEN_WORLD: (type $1 (func (param funcref))) - ;; OPEN_WORLD: (import "binaryen-intrinsics" "call.without.effects" (func $call-without-effects (type $funcref_=>_none) (param funcref))) + ;; OPEN_WORLD: (import "binaryen-intrinsics" "call.without.effects" (func $call-without-effects (type $1) (param funcref))) (import "binaryen-intrinsics" "call.without.effects" (func $call-without-effects (param funcref))) - ;; CHECK: (import "other" "import" (func $other-import (type $funcref_=>_none) (param funcref))) - ;; OPEN_WORLD: (import "other" "import" (func $other-import (type $funcref_=>_none) (param funcref))) + ;; CHECK: (import "other" "import" (func $other-import (type $1) (param funcref))) + ;; OPEN_WORLD: (import "other" "import" (func $other-import (type $1) (param funcref))) (import "other" "import" (func $other-import (param funcref))) @@ -546,17 +546,17 @@ ;; OPEN_WORLD: (type $A (func)) (type $A (func)) - ;; CHECK: (type $funcref_=>_none (func (param funcref))) + ;; CHECK: (type $1 (func (param funcref))) - ;; CHECK: (import "binaryen-intrinsics" "call.without.effects" (func $call-without-effects (type $funcref_=>_none) (param funcref))) - ;; OPEN_WORLD: (type $funcref_=>_none (func (param funcref))) + ;; CHECK: (import "binaryen-intrinsics" "call.without.effects" (func $call-without-effects (type $1) (param funcref))) + ;; OPEN_WORLD: (type $1 (func (param funcref))) - ;; OPEN_WORLD: (import "binaryen-intrinsics" "call.without.effects" (func $call-without-effects (type $funcref_=>_none) (param funcref))) + ;; OPEN_WORLD: (import "binaryen-intrinsics" "call.without.effects" (func $call-without-effects (type $1) (param funcref))) (import "binaryen-intrinsics" "call.without.effects" (func $call-without-effects (param funcref))) - ;; CHECK: (import "other" "import" (func $other-import (type $funcref_=>_none) (param funcref))) - ;; OPEN_WORLD: (import "other" "import" (func $other-import (type $funcref_=>_none) (param funcref))) + ;; CHECK: (import "other" "import" (func $other-import (type $1) (param funcref))) + ;; OPEN_WORLD: (import "other" "import" (func $other-import (type $1) (param funcref))) (import "other" "import" (func $other-import (param funcref))) @@ -1179,13 +1179,13 @@ (type $vtable (struct_subtype (field (ref $vtable-func)) (field (ref $vtable-func)) data)) ) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $2 (func)) ;; CHECK: (elem declare func $a $b $c $d) ;; CHECK: (export "func" (func $func)) - ;; CHECK: (func $func (type $none_=>_none) + ;; CHECK: (func $func (type $2) ;; CHECK-NEXT: (call_ref $vtable-func ;; CHECK-NEXT: (struct.new $vtable ;; CHECK-NEXT: (ref.func $a) @@ -1207,13 +1207,13 @@ ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) - ;; OPEN_WORLD: (type $none_=>_none (func)) + ;; OPEN_WORLD: (type $2 (func)) ;; OPEN_WORLD: (elem declare func $a $b $c $d) ;; OPEN_WORLD: (export "func" (func $func)) - ;; OPEN_WORLD: (func $func (type $none_=>_none) + ;; OPEN_WORLD: (func $func (type $2) ;; OPEN_WORLD-NEXT: (call_ref $vtable-func ;; OPEN_WORLD-NEXT: (struct.new $vtable ;; OPEN_WORLD-NEXT: (ref.func $a) @@ -1856,31 +1856,31 @@ ;; We do still need to consider the target as being called, however, even if it ;; is in a struct field. (module - ;; CHECK: (type $funcref_=>_i32 (func (param funcref) (result i32))) + ;; CHECK: (type $0 (func (param funcref) (result i32))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) ;; CHECK: (type $A (struct (field i32))) - ;; OPEN_WORLD: (type $funcref_=>_i32 (func (param funcref) (result i32))) + ;; OPEN_WORLD: (type $0 (func (param funcref) (result i32))) - ;; OPEN_WORLD: (type $none_=>_none (func)) + ;; OPEN_WORLD: (type $1 (func)) ;; OPEN_WORLD: (type $A (struct (field i32))) (type $A (struct (field i32))) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $3 (func (result i32))) - ;; CHECK: (import "binaryen-intrinsics" "call.without.effects" (func $call.without.effects (type $funcref_=>_i32) (param funcref) (result i32))) - ;; OPEN_WORLD: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (import "binaryen-intrinsics" "call.without.effects" (func $call.without.effects (type $0) (param funcref) (result i32))) + ;; OPEN_WORLD: (type $3 (func (result i32))) - ;; OPEN_WORLD: (import "binaryen-intrinsics" "call.without.effects" (func $call.without.effects (type $funcref_=>_i32) (param funcref) (result i32))) + ;; OPEN_WORLD: (import "binaryen-intrinsics" "call.without.effects" (func $call.without.effects (type $0) (param funcref) (result i32))) (import "binaryen-intrinsics" "call.without.effects" (func $call.without.effects (param funcref) (result i32))) ;; CHECK: (elem declare func $getter) ;; CHECK: (export "main" (func $main)) - ;; CHECK: (func $main (type $none_=>_none) + ;; CHECK: (func $main (type $1) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $A ;; CHECK-NEXT: (call $call.without.effects @@ -1893,7 +1893,7 @@ ;; OPEN_WORLD: (export "main" (func $main)) - ;; OPEN_WORLD: (func $main (type $none_=>_none) + ;; OPEN_WORLD: (func $main (type $1) ;; OPEN_WORLD-NEXT: (drop ;; OPEN_WORLD-NEXT: (struct.new $A ;; OPEN_WORLD-NEXT: (call $call.without.effects @@ -1912,10 +1912,10 @@ ) ) - ;; CHECK: (func $getter (type $none_=>_i32) (result i32) + ;; CHECK: (func $getter (type $3) (result i32) ;; CHECK-NEXT: (i32.const 42) ;; CHECK-NEXT: ) - ;; OPEN_WORLD: (func $getter (type $none_=>_i32) (result i32) + ;; OPEN_WORLD: (func $getter (type $3) (result i32) ;; OPEN_WORLD-NEXT: (i32.const 42) ;; OPEN_WORLD-NEXT: ) (func $getter (result i32) diff --git a/test/lit/passes/remove-unused-module-elements_all-features.wast b/test/lit/passes/remove-unused-module-elements_all-features.wast index 04f0233e6..2979d1cd5 100644 --- a/test/lit/passes/remove-unused-module-elements_all-features.wast +++ b/test/lit/passes/remove-unused-module-elements_all-features.wast @@ -175,7 +175,7 @@ (elem (table $1) (offset (i32.const 1)) func) ) (module ;; remove the first table and memory, but not the second one - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (import "env" "table2" (table $1 1 1 funcref)) (import "env" "memory" (memory $0 256)) @@ -185,7 +185,7 @@ (elem (table $1) (offset (i32.const 0)) func $f) ;; CHECK: (elem $1 (i32.const 0) $f) - ;; CHECK: (func $f (type $none_=>_none) + ;; CHECK: (func $f (type $0) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $f) @@ -211,7 +211,7 @@ (export "tab" (table 0)) ) (module ;; and not when there are segments - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (import "env" "memory" (memory $0 256)) (import "env" "memory" (memory $0 256)) @@ -223,7 +223,7 @@ ;; CHECK: (elem $0 (i32.const 0) $waka) - ;; CHECK: (func $waka (type $none_=>_none) + ;; CHECK: (func $waka (type $0) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $waka) @@ -253,13 +253,13 @@ ) ) (module ;; more use checks - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (memory $0 (shared 23 256)) (memory $0 (shared 23 256)) ;; CHECK: (export "user" (func $user)) (export "user" $user) - ;; CHECK: (func $user (type $none_=>_none) + ;; CHECK: (func $user (type $0) ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) @@ -270,13 +270,13 @@ ) ) (module ;; more use checks - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $0 (func (result i32))) ;; CHECK: (memory $0 (shared 23 256)) (memory $0 (shared 23 256)) ;; CHECK: (export "user" (func $user)) (export "user" $user) - ;; CHECK: (func $user (type $none_=>_i32) (result i32) + ;; CHECK: (func $user (type $0) (result i32) ;; CHECK-NEXT: (i32.atomic.rmw.add ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) @@ -287,13 +287,13 @@ ) ) (module ;; more use checks - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $0 (func (result i32))) ;; CHECK: (memory $0 (shared 23 256)) (memory $0 (shared 23 256)) ;; CHECK: (export "user" (func $user)) (export "user" $user) - ;; CHECK: (func $user (type $none_=>_i32) (result i32) + ;; CHECK: (func $user (type $0) (result i32) ;; CHECK-NEXT: (i32.atomic.rmw8.cmpxchg_u ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) @@ -305,13 +305,13 @@ ) ) (module ;; more use checks - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (memory $0 (shared 23 256)) (memory $0 (shared 23 256)) ;; CHECK: (export "user" (func $user)) (export "user" $user) - ;; CHECK: (func $user (type $none_=>_none) + ;; CHECK: (func $user (type $0) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (local $1 i64) ;; CHECK-NEXT: (drop @@ -335,13 +335,13 @@ ) ) (module ;; more use checks - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $0 (func (result i32))) ;; CHECK: (memory $0 (shared 23 256)) (memory $0 (shared 23 256)) ;; CHECK: (export "user" (func $user)) (export "user" $user) - ;; CHECK: (func $user (type $none_=>_i32) (result i32) + ;; CHECK: (func $user (type $0) (result i32) ;; CHECK-NEXT: (memory.atomic.notify ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) @@ -354,13 +354,13 @@ (module ;; atomic.fence and data.drop do not use a memory, so should not keep the memory alive. (memory $0 (shared 1 1)) (data "") - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (data $0 "") ;; CHECK: (export "fake-user" (func $user)) (export "fake-user" $user) - ;; CHECK: (func $user (type $none_=>_none) + ;; CHECK: (func $user (type $0) ;; CHECK-NEXT: (atomic.fence) ;; CHECK-NEXT: (data.drop $0) ;; CHECK-NEXT: ) @@ -370,7 +370,7 @@ ) ) (module ;; more use checks - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (import "env" "mem" (memory $0 256)) (import "env" "mem" (memory $0 256)) @@ -380,7 +380,7 @@ ;; CHECK: (export "user" (func $user)) (export "user" $user) - ;; CHECK: (func $user (type $none_=>_none) + ;; CHECK: (func $user (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (memory.grow $0 ;; CHECK-NEXT: (i32.const 0) @@ -398,13 +398,13 @@ ) ) (module ;; more use checks - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $0 (func (result i32))) ;; CHECK: (memory $0 23 256) (memory $0 23 256) ;; CHECK: (export "user" (func $user)) (export "user" $user) - ;; CHECK: (func $user (type $none_=>_i32) (result i32) + ;; CHECK: (func $user (type $0) (result i32) ;; CHECK-NEXT: (memory.size) ;; CHECK-NEXT: ) (func $user (result i32) @@ -412,7 +412,7 @@ ) ) (module ;; memory.copy should keep both memories alive - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (memory $0 1 1) (memory $0 1 1) @@ -421,7 +421,7 @@ (memory $unused 1 1) ;; CHECK: (export "user" (func $user)) (export "user" $user) - ;; CHECK: (func $user (type $none_=>_none) + ;; CHECK: (func $user (type $0) ;; CHECK-NEXT: (memory.copy $0 $1 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i32.const 0) @@ -437,7 +437,7 @@ ) ) (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (import "env" "memory" (memory $0 256)) (import "env" "memory" (memory $0 256)) @@ -453,21 +453,21 @@ ;; CHECK: (elem $0 (global.get $tableBase) $waka) - ;; CHECK: (func $waka (type $none_=>_none) + ;; CHECK: (func $waka (type $0) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $waka) ;; used in table ) (module ;; one is exported, and one->two->int global, whose init->imported - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $0 (func (result i32))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) - ;; CHECK: (type $i32_=>_i32 (func (param i32) (result i32))) + ;; CHECK: (type $2 (func (param i32) (result i32))) ;; CHECK: (import "env" "imported" (global $imported i32)) (import "env" "imported" (global $imported i32)) - ;; CHECK: (import "env" "_puts" (func $_puts (type $i32_=>_i32) (param i32) (result i32))) + ;; CHECK: (import "env" "_puts" (func $_puts (type $2) (param i32) (result i32))) (import "env" "forgetme" (global $forgetme i32)) (import "env" "_puts" (func $_puts (param i32) (result i32))) (import "env" "forget_puts" (func $forget_puts (param i32) (result i32))) @@ -485,25 +485,25 @@ ;; CHECK: (export "exp_glob" (global $exp_glob)) (export "exp_glob" (global $exp_glob)) (start $starter) - ;; CHECK: (func $one (type $none_=>_i32) (result i32) + ;; CHECK: (func $one (type $0) (result i32) ;; CHECK-NEXT: (call $two) ;; CHECK-NEXT: ) (func $one (result i32) (call $two) ) - ;; CHECK: (func $two (type $none_=>_i32) (result i32) + ;; CHECK: (func $two (type $0) (result i32) ;; CHECK-NEXT: (global.get $int) ;; CHECK-NEXT: ) (func $two (result i32) (global.get $int) ) - ;; CHECK: (func $three (type $none_=>_none) + ;; CHECK: (func $three (type $1) ;; CHECK-NEXT: (call $four) ;; CHECK-NEXT: ) (func $three (call $four) ) - ;; CHECK: (func $four (type $none_=>_none) + ;; CHECK: (func $four (type $1) ;; CHECK-NEXT: (global.set $set ;; CHECK-NEXT: (i32.const 200) ;; CHECK-NEXT: ) @@ -531,11 +531,11 @@ ) ) (module ;; non-empty start being kept - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (start $starter) (start $starter) - ;; CHECK: (func $starter (type $none_=>_none) + ;; CHECK: (func $starter (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -545,9 +545,9 @@ ) ) (module ;; imported start cannot be removed - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (import "env" "start" (func $start (type $none_=>_none))) + ;; CHECK: (import "env" "start" (func $start (type $0))) (import "env" "start" (func $start)) ;; CHECK: (start $start) (start $start) @@ -641,7 +641,7 @@ ) (module ;; The same thing works for memories with active segments. - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (import "env" "written" (memory $written 1 1)) (import "env" "written" (memory $written 1 1)) @@ -667,7 +667,7 @@ ;; CHECK: (export "user" (func $user)) - ;; CHECK: (func $user (type $none_=>_none) + ;; CHECK: (func $user (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.load $defined-used ;; CHECK-NEXT: (i32.const 0) @@ -684,7 +684,7 @@ ) (module ;; Nothing should break if the unused segments precede the used segments. - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (type $array (array funcref)) (type $array (array funcref)) @@ -702,7 +702,7 @@ ;; CHECK: (export "user" (func $user)) - ;; CHECK: (func $user (type $none_=>_none) + ;; CHECK: (func $user (type $0) ;; CHECK-NEXT: (data.drop $used) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (array.new_elem $array $used @@ -724,7 +724,7 @@ ) ;; SIMD operations can keep memories alive (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (memory $A 1 1) (memory $A 1 1) @@ -748,7 +748,7 @@ ) ;; CHECK: (export "func" (func $0)) -;; CHECK: (func $0 (type $none_=>_none) +;; CHECK: (func $0 (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (v128.load64_splat $A ;; CHECK-NEXT: (i32.const 0) diff --git a/test/lit/passes/remove-unused-names-eh.wast b/test/lit/passes/remove-unused-names-eh.wast index 7f6e09839..729e50add 100644 --- a/test/lit/passes/remove-unused-names-eh.wast +++ b/test/lit/passes/remove-unused-names-eh.wast @@ -5,7 +5,7 @@ ;; CHECK: (tag $tag$0 (param i32)) (tag $tag$0 (param i32)) - ;; CHECK: (func $func0 (type $none_=>_none) + ;; CHECK: (func $func0 (type $0) ;; CHECK-NEXT: (try $label$9 ;; CHECK-NEXT: (do ;; CHECK-NEXT: (nop) @@ -52,7 +52,7 @@ ) ) - ;; CHECK: (func $func1 (type $none_=>_none) + ;; CHECK: (func $func1 (type $0) ;; CHECK-NEXT: (try ;; CHECK-NEXT: (do ;; CHECK-NEXT: (nop) diff --git a/test/lit/passes/reorder-functions-by-name.wast b/test/lit/passes/reorder-functions-by-name.wast index ab5b35bc2..4eccdffbe 100644 --- a/test/lit/passes/reorder-functions-by-name.wast +++ b/test/lit/passes/reorder-functions-by-name.wast @@ -2,17 +2,17 @@ ;; RUN: foreach %s %t wasm-opt -all --reorder-functions-by-name -S -o - | filecheck %s (module - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $0 (func (result i32))) - ;; CHECK: (func $a (type $none_=>_i32) (result i32) + ;; CHECK: (func $a (type $0) (result i32) ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: ) - ;; CHECK: (func $b (type $none_=>_i32) (result i32) + ;; CHECK: (func $b (type $0) (result i32) ;; CHECK-NEXT: (i32.const 20) ;; CHECK-NEXT: ) - ;; CHECK: (func $c (type $none_=>_i32) (result i32) + ;; CHECK: (func $c (type $0) (result i32) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) (func $c (result i32) @@ -29,23 +29,23 @@ ) (module - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $0 (func (result i32))) - ;; CHECK: (func $a (type $none_=>_i32) (result i32) + ;; CHECK: (func $a (type $0) (result i32) ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: ) (func $a (result i32) (i32.const 10) ) - ;; CHECK: (func $b (type $none_=>_i32) (result i32) + ;; CHECK: (func $b (type $0) (result i32) ;; CHECK-NEXT: (i32.const 20) ;; CHECK-NEXT: ) (func $b (result i32) (i32.const 20) ) - ;; CHECK: (func $c (type $none_=>_i32) (result i32) + ;; CHECK: (func $c (type $0) (result i32) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) (func $c (result i32) @@ -54,13 +54,13 @@ ) (module - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $0 (func (result i32))) - ;; CHECK: (func $a (type $none_=>_i32) (result i32) + ;; CHECK: (func $a (type $0) (result i32) ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: ) - ;; CHECK: (func $b (type $none_=>_i32) (result i32) + ;; CHECK: (func $b (type $0) (result i32) ;; CHECK-NEXT: (i32.const 20) ;; CHECK-NEXT: ) (func $b (result i32) @@ -71,7 +71,7 @@ (i32.const 10) ) - ;; CHECK: (func $c (type $none_=>_i32) (result i32) + ;; CHECK: (func $c (type $0) (result i32) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) (func $c (result i32) @@ -80,17 +80,17 @@ ) (module - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $0 (func (result i32))) - ;; CHECK: (func $a (type $none_=>_i32) (result i32) + ;; CHECK: (func $a (type $0) (result i32) ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: ) - ;; CHECK: (func $b (type $none_=>_i32) (result i32) + ;; CHECK: (func $b (type $0) (result i32) ;; CHECK-NEXT: (i32.const 20) ;; CHECK-NEXT: ) - ;; CHECK: (func $c (type $none_=>_i32) (result i32) + ;; CHECK: (func $c (type $0) (result i32) ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) (func $c (result i32) diff --git a/test/lit/passes/reorder-globals.wast b/test/lit/passes/reorder-globals.wast index 37e0b1461..6017f09ad 100644 --- a/test/lit/passes/reorder-globals.wast +++ b/test/lit/passes/reorder-globals.wast @@ -14,7 +14,7 @@ (global $a i32 (i32.const 10)) (global $b i32 (i32.const 20)) - ;; CHECK: (func $uses (type $none_=>_none) + ;; CHECK: (func $uses (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (global.get $b) ;; CHECK-NEXT: ) @@ -35,7 +35,7 @@ (global $a (mut i32) (i32.const 10)) (global $b (mut i32) (i32.const 20)) - ;; CHECK: (func $uses (type $none_=>_none) + ;; CHECK: (func $uses (type $0) ;; CHECK-NEXT: (global.set $b ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) @@ -66,7 +66,7 @@ ;; CHECK: (global $b (mut i32) (i32.const 20)) (global $b (mut i32) (i32.const 20)) - ;; CHECK: (func $uses (type $none_=>_none) + ;; CHECK: (func $uses (type $0) ;; CHECK-NEXT: (global.set $a ;; CHECK-NEXT: (i32.const 30) ;; CHECK-NEXT: ) @@ -97,7 +97,7 @@ ;; CHECK: (global $b i32 (global.get $a)) (global $b i32 (global.get $a)) - ;; CHECK: (func $uses (type $none_=>_none) + ;; CHECK: (func $uses (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (global.get $b) ;; CHECK-NEXT: ) @@ -119,7 +119,7 @@ ;; CHECK: (global $c i32 (global.get $b)) (global $c i32 (global.get $b)) - ;; CHECK: (func $uses (type $none_=>_none) + ;; CHECK: (func $uses (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (global.get $b) ;; CHECK-NEXT: ) @@ -156,7 +156,7 @@ (global $b i32 (i32.const 20)) (global $c i32 (i32.const 30)) - ;; CHECK: (func $uses (type $none_=>_none) + ;; CHECK: (func $uses (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (global.get $b) ;; CHECK-NEXT: ) @@ -192,7 +192,7 @@ (global $b i32 (global.get $a)) (global $c i32 (i32.const 30)) - ;; CHECK: (func $uses (type $none_=>_none) + ;; CHECK: (func $uses (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (global.get $b) ;; CHECK-NEXT: ) @@ -229,7 +229,7 @@ (global $b i32 (i32.const 20)) (global $c i32 (global.get $b)) - ;; CHECK: (func $uses (type $none_=>_none) + ;; CHECK: (func $uses (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (global.get $b) ;; CHECK-NEXT: ) @@ -260,7 +260,7 @@ ;; CHECK: (global $b i32 (i32.const 10)) (global $b i32 (i32.const 10)) - ;; CHECK: (func $uses (type $none_=>_none) + ;; CHECK: (func $uses (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (global.get $b) ;; CHECK-NEXT: ) @@ -281,7 +281,7 @@ ;; CHECK: (global $a i32 (i32.const 10)) (global $a i32 (i32.const 10)) - ;; CHECK: (func $uses (type $none_=>_none) + ;; CHECK: (func $uses (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (global.get $a) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/roundtrip-gc-types.wast b/test/lit/passes/roundtrip-gc-types.wast index 8bb8428ce..e50fe7b44 100644 --- a/test/lit/passes/roundtrip-gc-types.wast +++ b/test/lit/passes/roundtrip-gc-types.wast @@ -22,7 +22,7 @@ (type $D (struct_subtype (field (ref $C)) (field (ref $A)) $A)) ) - ;; CHECK: (func $use-types (type $ref|$A|_ref|$D|_=>_none) (param $0 (ref $A)) (param $1 (ref $D)) + ;; CHECK: (func $use-types (type $4) (param $0 (ref $A)) (param $1 (ref $D)) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $use-types (param (ref $A) (ref $D)) diff --git a/test/lit/passes/roundtrip-gc.wast b/test/lit/passes/roundtrip-gc.wast index 5d751ec1d..382f238d9 100644 --- a/test/lit/passes/roundtrip-gc.wast +++ b/test/lit/passes/roundtrip-gc.wast @@ -5,7 +5,7 @@ (type ${i32} (struct (field i32))) ;; CHECK: (export "export" (func $test)) (export "export" (func $test)) - ;; CHECK: (func $test (type $none_=>_none) + ;; CHECK: (func $test (type $1) ;; CHECK-NEXT: (local $0 (ref $\7bi32\7d)) ;; CHECK-NEXT: (call $help ;; CHECK-NEXT: (block (result (ref $\7bi32\7d)) @@ -31,13 +31,13 @@ ) ) ) - ;; CHECK: (func $help (type $ref|$\7bi32\7d|_i32_=>_none) (param $3 (ref $\7bi32\7d)) (param $4 i32) + ;; CHECK: (func $help (type $2) (param $3 (ref $\7bi32\7d)) (param $4 i32) ;; CHECK-NEXT: ) (func $help (param $3 (ref ${i32})) (param $4 i32) (nop) ) - ;; CHECK: (func $other (type $none_=>_none) + ;; CHECK: (func $other (type $1) ;; CHECK-NEXT: ) (func $other ) diff --git a/test/lit/passes/rse-eh.wast b/test/lit/passes/rse-eh.wast index f12088d35..615ed2a37 100644 --- a/test/lit/passes/rse-eh.wast +++ b/test/lit/passes/rse-eh.wast @@ -7,7 +7,7 @@ ;; CHECK: (tag $e2 (param)) (tag $e2) - ;; CHECK: (func $try1 (type $none_=>_none) + ;; CHECK: (func $try1 (type $0) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (try $try ;; CHECK-NEXT: (do @@ -35,7 +35,7 @@ (local.set $x (i32.const 1)) ) - ;; CHECK: (func $try2 (type $none_=>_none) + ;; CHECK: (func $try2 (type $0) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (try $try ;; CHECK-NEXT: (do @@ -68,7 +68,7 @@ (local.set $x (i32.const 1)) ) - ;; CHECK: (func $try3 (type $none_=>_none) + ;; CHECK: (func $try3 (type $0) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (try $try ;; CHECK-NEXT: (do @@ -101,12 +101,12 @@ (local.set $x (i32.const 1)) ) - ;; CHECK: (func $foo (type $none_=>_none) + ;; CHECK: (func $foo (type $0) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $foo) - ;; CHECK: (func $try4 (type $none_=>_none) + ;; CHECK: (func $try4 (type $0) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (try $try ;; CHECK-NEXT: (do @@ -137,7 +137,7 @@ (local.set $x (i32.const 1)) ) - ;; CHECK: (func $try5 (type $none_=>_none) + ;; CHECK: (func $try5 (type $0) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (try $try ;; CHECK-NEXT: (do @@ -168,7 +168,7 @@ (local.set $x (i32.const 1)) ) - ;; CHECK: (func $nested-try1 (type $none_=>_none) + ;; CHECK: (func $nested-try1 (type $0) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (try $try ;; CHECK-NEXT: (do @@ -216,7 +216,7 @@ (local.set $x (i32.const 1)) ) - ;; CHECK: (func $nested-try2 (type $none_=>_none) + ;; CHECK: (func $nested-try2 (type $0) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (try $try ;; CHECK-NEXT: (do @@ -263,7 +263,7 @@ (local.set $x (i32.const 1)) ) - ;; CHECK: (func $nested-try3 (type $none_=>_none) + ;; CHECK: (func $nested-try3 (type $0) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (try $try ;; CHECK-NEXT: (do @@ -314,7 +314,7 @@ (local.set $x (i32.const 1)) ) - ;; CHECK: (func $nested-catch1 (type $none_=>_none) + ;; CHECK: (func $nested-catch1 (type $0) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (try $try ;; CHECK-NEXT: (do @@ -380,7 +380,7 @@ (local.set $x (i32.const 1)) ) - ;; CHECK: (func $nested-catch2 (type $none_=>_none) + ;; CHECK: (func $nested-catch2 (type $0) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (try $try ;; CHECK-NEXT: (do @@ -453,7 +453,7 @@ (local.set $x (i32.const 1)) ) - ;; CHECK: (func $catchless-try (type $none_=>_none) + ;; CHECK: (func $catchless-try (type $0) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (try $try ;; CHECK-NEXT: (do @@ -482,7 +482,7 @@ (local.set $x (i32.const 1)) ) - ;; CHECK: (func $try-delegate0 (type $none_=>_none) + ;; CHECK: (func $try-delegate0 (type $0) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (try $l0 ;; CHECK-NEXT: (do @@ -537,7 +537,7 @@ (local.set $x (i32.const 1)) ) - ;; CHECK: (func $try-delegate1 (type $none_=>_none) + ;; CHECK: (func $try-delegate1 (type $0) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (try $l0 ;; CHECK-NEXT: (do @@ -593,7 +593,7 @@ (local.set $x (i32.const 1)) ) - ;; CHECK: (func $try-delegate2 (type $none_=>_none) + ;; CHECK: (func $try-delegate2 (type $0) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (try $l0 ;; CHECK-NEXT: (do @@ -653,7 +653,7 @@ (local.set $x (i32.const 1)) ) - ;; CHECK: (func $try-delegate3 (type $none_=>_none) + ;; CHECK: (func $try-delegate3 (type $0) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (try $l0 ;; CHECK-NEXT: (do @@ -734,7 +734,7 @@ (local.set $x (i32.const 1)) ) - ;; CHECK: (func $try-delegate4 (type $none_=>_none) + ;; CHECK: (func $try-delegate4 (type $0) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (try $l0 ;; CHECK-NEXT: (do diff --git a/test/lit/passes/rse-gc.wast b/test/lit/passes/rse-gc.wast index 6b90149a1..f1dfb6f78 100644 --- a/test/lit/passes/rse-gc.wast +++ b/test/lit/passes/rse-gc.wast @@ -10,7 +10,7 @@ ;; CHECK: (type $B (sub $A (struct (field (ref struct))))) (type $B (struct_subtype (field (ref struct)) $A)) - ;; CHECK: (func $test (type $none_=>_none) + ;; CHECK: (func $test (type $3) ;; CHECK-NEXT: (local $single (ref func)) ;; CHECK-NEXT: (local $tuple ((ref any) (ref any))) ;; CHECK-NEXT: (nop) @@ -24,7 +24,7 @@ (local $tuple ((ref any) (ref any))) ) - ;; CHECK: (func $needs-refinalize (type $ref|$B|_=>_anyref) (param $b (ref $B)) (result anyref) + ;; CHECK: (func $needs-refinalize (type $4) (param $b (ref $B)) (result anyref) ;; CHECK-NEXT: (local $a (ref null $A)) ;; CHECK-NEXT: (local.set $a ;; CHECK-NEXT: (local.get $b) @@ -49,7 +49,7 @@ ) ) - ;; CHECK: (func $pick-refined (type $ref?|$A|_i32_=>_none) (param $A (ref null $A)) (param $x i32) + ;; CHECK: (func $pick-refined (type $5) (param $A (ref null $A)) (param $x i32) ;; CHECK-NEXT: (local $B (ref null $B)) ;; CHECK-NEXT: (local.set $B ;; CHECK-NEXT: (ref.cast (ref null $B) @@ -110,7 +110,7 @@ ) ) - ;; CHECK: (func $pick-refined-nn (type $ref|$A|_=>_none) (param $A (ref $A)) + ;; CHECK: (func $pick-refined-nn (type $2) (param $A (ref $A)) ;; CHECK-NEXT: (local $B (ref $B)) ;; CHECK-NEXT: (local.set $B ;; CHECK-NEXT: (ref.cast (ref $B) @@ -141,7 +141,7 @@ ) ) - ;; CHECK: (func $avoid-unrefined (type $ref|$A|_=>_none) (param $A (ref $A)) + ;; CHECK: (func $avoid-unrefined (type $2) (param $A (ref $A)) ;; CHECK-NEXT: (local $B (ref null $B)) ;; CHECK-NEXT: (local.set $B ;; CHECK-NEXT: (ref.cast (ref $B) @@ -173,7 +173,7 @@ ) ) - ;; CHECK: (func $pick-refined-earlier (type $ref|$A|_=>_none) (param $A (ref $A)) + ;; CHECK: (func $pick-refined-earlier (type $2) (param $A (ref $A)) ;; CHECK-NEXT: (local $A2 (ref null $A)) ;; CHECK-NEXT: (local.set $A2 ;; CHECK-NEXT: (local.get $A) @@ -200,7 +200,7 @@ ) ) - ;; CHECK: (func $different-choices (type $ref|$A|_=>_none) (param $non-nullable (ref $A)) + ;; CHECK: (func $different-choices (type $2) (param $non-nullable (ref $A)) ;; CHECK-NEXT: (local $nullable (ref null $A)) ;; CHECK-NEXT: (local.set $nullable ;; CHECK-NEXT: (local.get $non-nullable) @@ -248,7 +248,7 @@ ) ) - ;; CHECK: (func $string (type $none_=>_none) + ;; CHECK: (func $string (type $3) ;; CHECK-NEXT: (local $s stringref) ;; CHECK-NEXT: (local $t stringref) ;; CHECK-NEXT: (drop diff --git a/test/lit/passes/signature-pruning.wast b/test/lit/passes/signature-pruning.wast index 26fc72e96..4f054295e 100644 --- a/test/lit/passes/signature-pruning.wast +++ b/test/lit/passes/signature-pruning.wast @@ -3,7 +3,7 @@ (module ;; CHECK: (rec - ;; CHECK-NEXT: (type $none_=>_none (func)) + ;; CHECK-NEXT: (type $0 (func)) ;; CHECK: (type $sig (func (param i32 f64))) (type $sig (func_subtype (param i32) (param i64) (param f32) (param f64) func)) @@ -39,7 +39,7 @@ ) ) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $0) ;; CHECK-NEXT: (call $foo ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (f64.const 3) @@ -69,7 +69,7 @@ (module ;; CHECK: (rec - ;; CHECK-NEXT: (type $none_=>_none (func)) + ;; CHECK-NEXT: (type $0 (func)) ;; CHECK: (type $sig (func (param i64 f32))) (type $sig (func_subtype (param i32) (param i64) (param f32) (param f64) func)) @@ -104,7 +104,7 @@ ) ) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $0) ;; CHECK-NEXT: (call $foo ;; CHECK-NEXT: (i64.const 1) ;; CHECK-NEXT: (f32.const 2) @@ -134,7 +134,7 @@ (module ;; CHECK: (rec - ;; CHECK-NEXT: (type $none_=>_none (func)) + ;; CHECK-NEXT: (type $0 (func)) ;; CHECK: (type $sig (func (param i32 i64 f32))) (type $sig (func_subtype (param i32) (param i64) (param f32) (param f64) func)) @@ -168,7 +168,7 @@ ) ) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $0) ;; CHECK-NEXT: (call $foo ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (call $caller) @@ -211,7 +211,7 @@ ;; away the very last param. (module ;; CHECK: (rec - ;; CHECK-NEXT: (type $none_=>_none (func)) + ;; CHECK-NEXT: (type $0 (func)) ;; CHECK: (type $sig (func (param i32 i64 f32))) (type $sig (func_subtype (param i32) (param i64) (param f32) (param f64) func)) @@ -244,7 +244,7 @@ ) ) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $0) ;; CHECK-NEXT: (call $foo ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: (i64.const 1) @@ -282,7 +282,7 @@ (module ;; CHECK: (rec - ;; CHECK-NEXT: (type $none_=>_none (func)) + ;; CHECK-NEXT: (type $0 (func)) ;; CHECK: (type $sig (func)) (type $sig (func_subtype (param i32) (param i64) (param f32) (param f64) func)) @@ -304,7 +304,7 @@ ;; Use nothing at all: all params can be removed. ) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $0) ;; CHECK-NEXT: (call $foo) ;; CHECK-NEXT: (call_ref $sig ;; CHECK-NEXT: (ref.func $foo) @@ -329,7 +329,7 @@ (module ;; CHECK: (rec - ;; CHECK-NEXT: (type $none_=>_none (func)) + ;; CHECK-NEXT: (type $0 (func)) ;; CHECK: (type $sig (func)) (type $sig (func_subtype (param i32) func)) @@ -361,7 +361,7 @@ ) ) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $0) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (call $foo) ;; CHECK-NEXT: ) @@ -482,7 +482,7 @@ (module ;; CHECK: (rec - ;; CHECK-NEXT: (type $none_=>_none (func)) + ;; CHECK-NEXT: (type $0 (func)) ;; CHECK: (type $sig (func)) (type $sig (func_subtype (param i32) func)) @@ -509,7 +509,7 @@ ;; has the same type. We can optimize both at once. ) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $0) ;; CHECK-NEXT: (call $foo) ;; CHECK-NEXT: (call $bar) ;; CHECK-NEXT: (call_ref $sig @@ -536,7 +536,7 @@ ) ) - ;; CHECK: (func $caller-2 (type $none_=>_none) + ;; CHECK: (func $caller-2 (type $0) ;; CHECK-NEXT: (call $bar) ;; CHECK-NEXT: (call_ref $sig ;; CHECK-NEXT: (ref.func $foo) @@ -576,7 +576,7 @@ ;; CHECK: (type $sig (func (param i32))) (type $sig (func_subtype (param i32) func)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) ;; CHECK: (export "foo" (func $foo)) @@ -594,7 +594,7 @@ (func $bar (export "bar") (type $sig) (param $i32 i32) ) - ;; CHECK: (func $call-bar (type $none_=>_none) + ;; CHECK: (func $call-bar (type $1) ;; CHECK-NEXT: (call $bar ;; CHECK-NEXT: (i32.const 42) ;; CHECK-NEXT: ) @@ -815,9 +815,9 @@ (module (type $A (struct)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (func $0 (type $none_=>_none) + ;; CHECK: (func $0 (type $0) ;; CHECK-NEXT: (local $0 f32) ;; CHECK-NEXT: (block ;; (replaces something unreachable we can't emit) ;; CHECK-NEXT: (drop @@ -841,18 +841,18 @@ ;; Do not prune signatures used in the call.without.effects intrinsic. (module - ;; CHECK: (type $i32_funcref_=>_i32 (func (param i32 funcref) (result i32))) + ;; CHECK: (type $0 (func (param i32 funcref) (result i32))) - ;; CHECK: (type $i32_=>_i32 (func (param i32) (result i32))) + ;; CHECK: (type $1 (func (param i32) (result i32))) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $2 (func (result i32))) - ;; CHECK: (import "binaryen-intrinsics" "call.without.effects" (func $cwe (type $i32_funcref_=>_i32) (param i32 funcref) (result i32))) + ;; CHECK: (import "binaryen-intrinsics" "call.without.effects" (func $cwe (type $0) (param i32 funcref) (result i32))) (import "binaryen-intrinsics" "call.without.effects" (func $cwe (param i32 funcref) (result i32))) ;; CHECK: (elem declare func $func) - ;; CHECK: (func $func (type $i32_=>_i32) (param $0 i32) (result i32) + ;; CHECK: (func $func (type $1) (param $0 i32) (result i32) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) (func $func (param i32) (result i32) @@ -861,7 +861,7 @@ (i32.const 1) ) - ;; CHECK: (func $caller (type $none_=>_i32) (result i32) + ;; CHECK: (func $caller (type $2) (result i32) ;; CHECK-NEXT: (call $cwe ;; CHECK-NEXT: (i32.const 41) ;; CHECK-NEXT: (ref.func $func) diff --git a/test/lit/passes/signature-refining.wast b/test/lit/passes/signature-refining.wast index c4e13b975..dbd64ab78 100644 --- a/test/lit/passes/signature-refining.wast +++ b/test/lit/passes/signature-refining.wast @@ -11,7 +11,7 @@ ;; CHECK-NEXT: (type $struct (struct )) (type $struct (struct)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) ;; CHECK: (type $sig (func (param (ref $struct)))) (type $sig (func_subtype (param anyref) func)) @@ -22,7 +22,7 @@ (func $func (type $sig) (param $x anyref) ) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $1) ;; CHECK-NEXT: (call $func ;; CHECK-NEXT: (struct.new_default $struct) ;; CHECK-NEXT: ) @@ -41,7 +41,7 @@ ;; CHECK-NEXT: (type $struct (struct )) (type $struct (struct)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) ;; CHECK: (type $sig (func (param (ref $struct)))) (type $sig (func_subtype (param anyref) func)) @@ -54,7 +54,7 @@ (func $func (type $sig) (param $x anyref) ) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $1) ;; CHECK-NEXT: (call_ref $sig ;; CHECK-NEXT: (struct.new_default $struct) ;; CHECK-NEXT: (ref.func $func) @@ -77,7 +77,7 @@ ;; CHECK-NEXT: (type $struct (struct )) (type $struct (struct)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) ;; CHECK: (type $sig (func (param eqref))) (type $sig (func_subtype (param anyref) func)) @@ -90,7 +90,7 @@ (func $func (type $sig) (param $x anyref) ) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $1) ;; CHECK-NEXT: (local $struct (ref null $struct)) ;; CHECK-NEXT: (call $func ;; CHECK-NEXT: (local.get $struct) @@ -127,7 +127,7 @@ ;; CHECK: (type $struct-sub1 (sub $struct (struct ))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $3 (func)) ;; CHECK: (type $sig (func (param (ref $struct)))) (type $sig (func_subtype (param anyref) func)) @@ -151,7 +151,7 @@ (func $func-2 (type $sig) (param $x anyref) ) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $3) ;; CHECK-NEXT: (call $func-1 ;; CHECK-NEXT: (struct.new_default $struct-sub1) ;; CHECK-NEXT: ) @@ -176,7 +176,7 @@ ;; CHECK: (rec ;; CHECK-NEXT: (type $struct (struct )) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) ;; CHECK: (type $sig (func (param (ref $struct)))) (type $sig (func_subtype (param anyref) func)) @@ -195,7 +195,7 @@ (func $func-2 (type $sig) (param $x anyref) ) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $1) ;; CHECK-NEXT: (call $func-1 ;; CHECK-NEXT: (struct.new_default $struct) ;; CHECK-NEXT: ) @@ -214,7 +214,7 @@ ;; CHECK: (rec ;; CHECK-NEXT: (type $struct (struct (field (ref $sig)))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) ;; CHECK: (type $sig (func (param (ref $struct) (ref $sig)))) (type $sig (func_subtype (param anyref funcref) func)) @@ -254,7 +254,7 @@ ) ) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $1) ;; CHECK-NEXT: (call $func ;; CHECK-NEXT: (struct.new $struct ;; CHECK-NEXT: (ref.func $func) @@ -280,7 +280,7 @@ ;; CHECK-NEXT: (type $struct (struct )) (type $struct (struct)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) ;; CHECK: (type $sig (func (param (ref $struct)))) (type $sig (func_subtype (param anyref) func)) @@ -293,7 +293,7 @@ (func $func (type $sig) (param $x anyref) ) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $1) ;; CHECK-NEXT: (call $func ;; CHECK-NEXT: (struct.new_default $struct) ;; CHECK-NEXT: ) @@ -322,7 +322,7 @@ ;; CHECK: (type $sig (func (param anyref))) (type $sig (func_subtype (param anyref) func)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) ;; CHECK: (elem declare func $func) @@ -332,7 +332,7 @@ (func $func (type $sig) (param $x anyref) ) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $1) ;; CHECK-NEXT: (call_ref $sig ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (ref.func $func) @@ -369,7 +369,7 @@ ;; CHECK-NEXT: (type $struct (struct )) (type $struct (struct)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) ;; CHECK: (type $sig-2 (func (param eqref (ref $struct)))) @@ -392,7 +392,7 @@ (func $func-2 (type $sig-2) (param $x anyref) (param $y anyref) ) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $1) ;; CHECK-NEXT: (local $any anyref) ;; CHECK-NEXT: (local $struct structref) ;; CHECK-NEXT: (local $i31 i31ref) @@ -445,7 +445,7 @@ ;; CHECK: (type $sig (func (param anyref))) (type $sig (func_subtype (param anyref) func)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) ;; CHECK: (type $struct (struct )) (type $struct (struct)) @@ -460,7 +460,7 @@ (func $func (type $sig) (param $x anyref) ) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $1) ;; CHECK-NEXT: (call $func ;; CHECK-NEXT: (struct.new_default $struct) ;; CHECK-NEXT: ) @@ -479,7 +479,7 @@ ;; CHECK: (rec ;; CHECK-NEXT: (type $struct (struct )) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) ;; CHECK: (type $sig (func (param (ref null $struct)))) (type $sig (func_subtype (param anyref) func)) @@ -492,7 +492,7 @@ (func $func (type $sig) (param $x anyref) ) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $1) ;; CHECK-NEXT: (call $func ;; CHECK-NEXT: (struct.new_default $struct) ;; CHECK-NEXT: ) @@ -513,7 +513,7 @@ (module (rec ;; CHECK: (rec - ;; CHECK-NEXT: (type $none_=>_none (func)) + ;; CHECK-NEXT: (type $0 (func)) ;; CHECK: (type $sig-unreachable (func (result anyref))) @@ -565,7 +565,7 @@ (unreachable) ) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (if (result (ref $struct)) ;; CHECK-NEXT: (i32.const 1) @@ -662,7 +662,7 @@ (module ;; CHECK: (type $sig (func (param anyref))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) ;; CHECK: (type $struct (struct )) (type $struct (struct)) @@ -677,7 +677,7 @@ (func $func (export "prevent-opts") (type $sig) (param $x anyref) ) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $1) ;; CHECK-NEXT: (call $func ;; CHECK-NEXT: (struct.new_default $struct) ;; CHECK-NEXT: ) @@ -711,9 +711,9 @@ ;; CHECK: (type ${} (struct )) (type ${} (struct)) - ;; CHECK: (type $ref|${}|_i32_=>_none (func (param (ref ${}) i32))) + ;; CHECK: (type $1 (func (param (ref ${}) i32))) - ;; CHECK: (func $foo (type $ref|${}|_i32_=>_none) (param $ref (ref ${})) (param $i32 i32) + ;; CHECK: (func $foo (type $1) (param $ref (ref ${})) (param $i32 i32) ;; CHECK-NEXT: (local $2 eqref) ;; CHECK-NEXT: (local.set $2 ;; CHECK-NEXT: (local.get $ref) @@ -756,17 +756,17 @@ ;; Do not modify the types used on imported functions (until the spec and VM ;; support becomes stable). (module - ;; CHECK: (type $structref_=>_none (func (param structref))) + ;; CHECK: (type $0 (func (param structref))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) ;; CHECK: (type $struct (struct )) (type $struct (struct)) - ;; CHECK: (import "a" "b" (func $import (type $structref_=>_none) (param structref))) + ;; CHECK: (import "a" "b" (func $import (type $0) (param structref))) (import "a" "b" (func $import (param (ref null struct)))) - ;; CHECK: (func $test (type $none_=>_none) + ;; CHECK: (func $test (type $1) ;; CHECK-NEXT: (call $import ;; CHECK-NEXT: (struct.new_default $struct) ;; CHECK-NEXT: ) @@ -810,7 +810,7 @@ ;; CHECK: (type $child (sub $parent (func (param anyref)))) (type $child (func_subtype (param anyref) $parent)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $2 (func)) ;; CHECK: (func $func (type $child) (param $0 anyref) ;; CHECK-NEXT: (unreachable) @@ -819,7 +819,7 @@ (unreachable) ) - ;; CHECK: (func $caller (type $none_=>_none) + ;; CHECK: (func $caller (type $2) ;; CHECK-NEXT: (call $func ;; CHECK-NEXT: (ref.null none) ;; CHECK-NEXT: ) @@ -853,14 +853,14 @@ (module ;; CHECK: (rec - ;; CHECK-NEXT: (type $ref|$[i8]|_=>_none (func (param (ref $[i8])))) + ;; CHECK-NEXT: (type $0 (func (param (ref $[i8])))) ;; CHECK: (type $[i8] (array i8)) (type $[i8] (array i8)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $2 (func)) - ;; CHECK: (func $0 (type $none_=>_none) + ;; CHECK: (func $0 (type $2) ;; CHECK-NEXT: (call $1 ;; CHECK-NEXT: (array.new_fixed $[i8] 0) ;; CHECK-NEXT: ) @@ -871,7 +871,7 @@ ) ) - ;; CHECK: (func $1 (type $ref|$[i8]|_=>_none) (param $2 (ref $[i8])) + ;; CHECK: (func $1 (type $0) (param $2 (ref $[i8])) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.cast (ref none) ;; CHECK-NEXT: (local.get $2) @@ -910,27 +910,27 @@ (type $return_A_2 (func (result (ref null $A)))) ) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $5 (func)) - ;; CHECK: (type $funcref_=>_ref?|$A| (func (param funcref) (result (ref null $A)))) + ;; CHECK: (type $6 (func (param funcref) (result (ref null $A)))) - ;; CHECK: (type $funcref_=>_ref|$B| (func (param funcref) (result (ref $B)))) + ;; CHECK: (type $7 (func (param funcref) (result (ref $B)))) - ;; CHECK: (type $funcref_=>_ref|$C| (func (param funcref) (result (ref $C)))) + ;; CHECK: (type $8 (func (param funcref) (result (ref $C)))) - ;; CHECK: (import "binaryen-intrinsics" "call.without.effects" (func $no.side.effects (type $funcref_=>_ref?|$A|) (param funcref) (result (ref null $A)))) + ;; CHECK: (import "binaryen-intrinsics" "call.without.effects" (func $no.side.effects (type $func.0) (param funcref) (result (ref null $A)))) (import "binaryen-intrinsics" "call.without.effects" (func $no.side.effects (param funcref) (result (ref null $A)) )) - ;; CHECK: (import "binaryen-intrinsics" "call.without.effects" (func $no.side.effects_4 (type $funcref_=>_ref|$B|) (param funcref) (result (ref $B)))) + ;; CHECK: (import "binaryen-intrinsics" "call.without.effects" (func $no.side.effects_4 (type $7) (param funcref) (result (ref $B)))) - ;; CHECK: (import "binaryen-intrinsics" "call.without.effects" (func $no.side.effects_5 (type $funcref_=>_ref|$C|) (param funcref) (result (ref $C)))) + ;; CHECK: (import "binaryen-intrinsics" "call.without.effects" (func $no.side.effects_5 (type $8) (param funcref) (result (ref $C)))) ;; CHECK: (elem declare func $other $other2) - ;; CHECK: (func $func (type $none_=>_none) + ;; CHECK: (func $func (type $5) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $no.side.effects_4 ;; CHECK-NEXT: (ref.func $other) diff --git a/test/lit/passes/signature-refining_gto.wat b/test/lit/passes/signature-refining_gto.wat index 0d0e4c22c..3876afcbd 100644 --- a/test/lit/passes/signature-refining_gto.wat +++ b/test/lit/passes/signature-refining_gto.wat @@ -8,11 +8,11 @@ ;; CHECK-NOT: (type $A (type $A (struct (field (mut (ref null $A))))) - ;; CHECK: (type $funcref_i32_=>_none (func (param funcref i32))) + ;; CHECK: (type $0 (func (param funcref i32))) - ;; CHECK: (type $ref|none|_=>_none (func (param (ref none)))) + ;; CHECK: (type $1 (func (param (ref none)))) - ;; CHECK: (func $struct.get (type $ref|none|_=>_none) (param $0 (ref none)) + ;; CHECK: (func $struct.get (type $1) (param $0 (ref none)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) @@ -31,7 +31,7 @@ ) ) - ;; CHECK: (func $caller (type $funcref_i32_=>_none) (param $0 funcref) (param $1 i32) + ;; CHECK: (func $caller (type $0) (param $0 funcref) (param $1 i32) ;; CHECK-NEXT: (call $struct.get ;; CHECK-NEXT: (ref.as_non_null ;; CHECK-NEXT: (ref.null none) diff --git a/test/lit/passes/simplify-globals-dominance.wast b/test/lit/passes/simplify-globals-dominance.wast index 948e8c5ec..3756a4a7e 100644 --- a/test/lit/passes/simplify-globals-dominance.wast +++ b/test/lit/passes/simplify-globals-dominance.wast @@ -3,12 +3,12 @@ ;; RUN: foreach %s %t wasm-opt --simplify-globals -all -S -o - | filecheck %s (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (global $global (mut i32) (i32.const 0)) (global $global (mut i32) (i32.const 0)) - ;; CHECK: (func $test (type $none_=>_none) + ;; CHECK: (func $test (type $0) ;; CHECK-NEXT: (global.set $global ;; CHECK-NEXT: (i32.const 10) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/simplify-globals-non-init.wast b/test/lit/passes/simplify-globals-non-init.wast index 5f65efda1..60e50e97c 100644 --- a/test/lit/passes/simplify-globals-non-init.wast +++ b/test/lit/passes/simplify-globals-non-init.wast @@ -6,14 +6,14 @@ ;; A global that is written its initial value in all subsequent writes can ;; remove those writes. (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (global $global-0 i32 (i32.const 0)) (global $global-0 (mut i32) (i32.const 0)) ;; CHECK: (global $global-1 i32 (i32.const 1)) (global $global-1 (mut i32) (i32.const 1)) - ;; CHECK: (func $sets (type $none_=>_none) + ;; CHECK: (func $sets (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -37,7 +37,7 @@ (global.set $global-1 (i32.const 1)) ) - ;; CHECK: (func $gets (type $none_=>_none) + ;; CHECK: (func $gets (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -54,16 +54,16 @@ ;; As above, but now we write other values. (module - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $0 (func (param i32))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) ;; CHECK: (global $global-0 (mut i32) (i32.const 0)) (global $global-0 (mut i32) (i32.const 0)) ;; CHECK: (global $global-1 (mut i32) (i32.const 1)) (global $global-1 (mut i32) (i32.const 1)) - ;; CHECK: (func $sets (type $i32_=>_none) (param $unknown i32) + ;; CHECK: (func $sets (type $0) (param $unknown i32) ;; CHECK-NEXT: (global.set $global-0 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) @@ -85,7 +85,7 @@ (global.set $global-1 (local.get $unknown)) ;; a totally unknown value ) - ;; CHECK: (func $gets (type $none_=>_none) + ;; CHECK: (func $gets (type $1) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (global.get $global-0) ;; CHECK-NEXT: ) @@ -102,9 +102,9 @@ ;; Globals without constant initial values. (module ;; An imported global. - ;; CHECK: (type $i32_=>_none (func (param i32))) + ;; CHECK: (type $0 (func (param i32))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) ;; CHECK: (import "env" "import_global" (global $global-0 i32)) (import "env" "import_global" (global $global-0 i32)) @@ -113,7 +113,7 @@ ;; CHECK: (global $global-1 (mut i32) (global.get $global-0)) (global $global-1 (mut i32) (global.get $global-0)) - ;; CHECK: (func $sets (type $i32_=>_none) (param $unknown i32) + ;; CHECK: (func $sets (type $0) (param $unknown i32) ;; CHECK-NEXT: (global.set $global-1 ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) @@ -122,7 +122,7 @@ (global.set $global-1 (i32.const 1)) ) - ;; CHECK: (func $gets (type $none_=>_none) + ;; CHECK: (func $gets (type $1) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (global.get $global-0) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/simplify-globals-read_only_to_write.wast b/test/lit/passes/simplify-globals-read_only_to_write.wast index db4738bf6..cf783ee4b 100644 --- a/test/lit/passes/simplify-globals-read_only_to_write.wast +++ b/test/lit/passes/simplify-globals-read_only_to_write.wast @@ -5,7 +5,7 @@ ;; A global that is only read in order to be written is not needed. (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (global $global i32 (i32.const 0)) (global $global (mut i32) (i32.const 0)) @@ -62,7 +62,7 @@ ) ;; An additional read prevents the read-only-to-write optimization. (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (global $global (mut i32) (i32.const 0)) (global $global (mut i32) (i32.const 0)) @@ -89,7 +89,7 @@ ) ;; We do not optimize if-elses in the read-only-to-write optimization. (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (global $global (mut i32) (i32.const 0)) (global $global (mut i32) (i32.const 0)) @@ -112,7 +112,7 @@ ) ;; Side effects in the body prevent the read-only-to-write optimization. (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (global $global (mut i32) (i32.const 0)) (global $global (mut i32) (i32.const 0)) @@ -147,7 +147,7 @@ ) ;; Nested patterns work as well, in a single run of the pass. (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (global $a i32 (i32.const 0)) (global $a (mut i32) (i32.const 0)) @@ -203,7 +203,7 @@ ) (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (global $once i32 (i32.const 0)) (global $once (mut i32) (i32.const 0)) @@ -232,7 +232,7 @@ ) (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (global $once (mut i32) (i32.const 0)) (global $once (mut i32) (i32.const 0)) @@ -262,7 +262,7 @@ ) (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (global $once (mut i32) (i32.const 0)) (global $once (mut i32) (i32.const 0)) @@ -291,7 +291,7 @@ ) (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (global $once (mut i32) (i32.const 0)) (global $once (mut i32) (i32.const 0)) @@ -319,9 +319,9 @@ ) (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (type $i32_=>_i32 (func (param i32) (result i32))) + ;; CHECK: (type $1 (func (param i32) (result i32))) ;; CHECK: (global $once (mut i32) (i32.const 0)) (global $once (mut i32) (i32.const 0)) @@ -362,9 +362,9 @@ ;; Using the global's value in a way that can cause side effects prevents the ;; read-only-to-write optimization. (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $1 (func (result i32))) ;; CHECK: (global $global (mut i32) (i32.const 0)) (global $global (mut i32) (i32.const 0)) @@ -404,9 +404,9 @@ ;; As above, but now the global's value is not the condition of the if, so there ;; is no problem. (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (type $none_=>_i32 (func (result i32))) + ;; CHECK: (type $1 (func (result i32))) ;; CHECK: (global $global i32 (i32.const 0)) (global $global (mut i32) (i32.const 0)) @@ -447,7 +447,7 @@ ;; As above, but now the global's value flows into a side effect. (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (global $global (mut i32) (i32.const 0)) (global $global (mut i32) (i32.const 0)) @@ -480,7 +480,7 @@ (module (memory 1 1) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (global $once i32 (i32.const 0)) (global $once (mut i32) (i32.const 0)) @@ -538,7 +538,7 @@ (module (memory 1 1) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (global $once i32 (i32.const 0)) (global $once (mut i32) (i32.const 0)) @@ -598,7 +598,7 @@ (module (memory 1 1) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (global $once (mut i32) (i32.const 0)) (global $once (mut i32) (i32.const 0)) @@ -660,7 +660,7 @@ (module (memory 1 1) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (global $once i32 (i32.const 0)) (global $once (mut i32) (i32.const 0)) @@ -735,7 +735,7 @@ (module (memory 1 1) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (global $once (mut i32) (i32.const 0)) (global $once (mut i32) (i32.const 0)) diff --git a/test/lit/passes/simplify-globals_func-effects.wast b/test/lit/passes/simplify-globals_func-effects.wast index 8257c5ce7..4f088dd61 100644 --- a/test/lit/passes/simplify-globals_func-effects.wast +++ b/test/lit/passes/simplify-globals_func-effects.wast @@ -7,7 +7,7 @@ ;; whose effects we've computed to include some sets to globals. (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (global $A (mut i32) (i32.const 10)) (global $A (mut i32) (i32.const 10)) diff --git a/test/lit/passes/simplify-locals-eh.wast b/test/lit/passes/simplify-locals-eh.wast index 3b00857b6..36bd11083 100644 --- a/test/lit/passes/simplify-locals-eh.wast +++ b/test/lit/passes/simplify-locals-eh.wast @@ -4,11 +4,11 @@ (module ;; CHECK: (tag $e-i32 (param i32)) (tag $e-i32 (param i32)) - ;; CHECK: (func $foo (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + ;; CHECK: (func $foo (type $2) (param $0 i32) (param $1 i32) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $foo (param i32 i32)) - ;; CHECK: (func $pop-cannot-be-sinked (type $none_=>_none) + ;; CHECK: (func $pop-cannot-be-sinked (type $0) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (try $try ;; CHECK-NEXT: (do @@ -40,7 +40,7 @@ ) ) - ;; CHECK: (func $pop-within-catch-can-be-sinked (type $none_=>_none) + ;; CHECK: (func $pop-within-catch-can-be-sinked (type $0) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (try $try ;; CHECK-NEXT: (do @@ -83,11 +83,11 @@ ) ) - ;; CHECK: (func $bar (type $none_=>_i32) (result i32) + ;; CHECK: (func $bar (type $3) (result i32) ;; CHECK-NEXT: (i32.const 3) ;; CHECK-NEXT: ) (func $bar (result i32) (i32.const 3)) - ;; CHECK: (func $call-cannot-be-sinked-into-try (type $none_=>_none) + ;; CHECK: (func $call-cannot-be-sinked-into-try (type $0) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (call $bar) @@ -121,7 +121,7 @@ ) ) - ;; CHECK: (func $non-call-can-be-sinked-into-try (type $none_=>_none) + ;; CHECK: (func $non-call-can-be-sinked-into-try (type $0) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (try $try @@ -152,7 +152,7 @@ ) ) - ;; CHECK: (func $equivalent-set-removal-call (type $i32_=>_none) (param $0 i32) + ;; CHECK: (func $equivalent-set-removal-call (type $1) (param $0 i32) ;; CHECK-NEXT: (local $1 i32) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (drop @@ -185,7 +185,7 @@ (drop (local.get $1)) ) - ;; CHECK: (func $equivalent-set-removal-if (type $i32_i32_=>_none) (param $p i32) (param $0 i32) + ;; CHECK: (func $equivalent-set-removal-if (type $2) (param $p i32) (param $0 i32) ;; CHECK-NEXT: (local $1 i32) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (drop diff --git a/test/lit/passes/simplify-locals-gc-nn.wast b/test/lit/passes/simplify-locals-gc-nn.wast index 4d536bd1f..170bc1553 100644 --- a/test/lit/passes/simplify-locals-gc-nn.wast +++ b/test/lit/passes/simplify-locals-gc-nn.wast @@ -2,7 +2,7 @@ ;; RUN: wasm-opt %s --simplify-locals -all -S -o - | filecheck %s (module - ;; CHECK: (func $test-nn (type $none_=>_none) + ;; CHECK: (func $test-nn (type $0) ;; CHECK-NEXT: (local $nn anyref) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (try $try @@ -49,7 +49,7 @@ ) ) - ;; CHECK: (func $test-nullable (type $none_=>_none) + ;; CHECK: (func $test-nullable (type $0) ;; CHECK-NEXT: (local $nullable anyref) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (try $try diff --git a/test/lit/passes/simplify-locals-gc-validation.wast b/test/lit/passes/simplify-locals-gc-validation.wast index f21d30fcb..70d3dec23 100644 --- a/test/lit/passes/simplify-locals-gc-validation.wast +++ b/test/lit/passes/simplify-locals-gc-validation.wast @@ -5,7 +5,7 @@ ;; a local.get until the end of the current block. (module - ;; CHECK: (func $test-nn (type $ref|any|_=>_none) (param $x (ref any)) + ;; CHECK: (func $test-nn (type $0) (param $x (ref any)) ;; CHECK-NEXT: (local $nn anyref) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (block $inner diff --git a/test/lit/passes/simplify-locals-gc.wast b/test/lit/passes/simplify-locals-gc.wast index 2658bae62..223657ae9 100644 --- a/test/lit/passes/simplify-locals-gc.wast +++ b/test/lit/passes/simplify-locals-gc.wast @@ -21,7 +21,7 @@ (type $B (struct_subtype (field (ref struct)) $A)) ;; Writes to heap objects cannot be reordered with reads. - ;; CHECK: (func $no-reorder-past-write (type $ref|$struct|_=>_i32) (param $x (ref $struct)) (result i32) + ;; CHECK: (func $no-reorder-past-write (type $4) (param $x (ref $struct)) (result i32) ;; CHECK-NEXT: (local $temp i32) ;; CHECK-NEXT: (local.set $temp ;; CHECK-NEXT: (struct.get $struct 0 @@ -48,7 +48,7 @@ (local.get $temp) ) - ;; CHECK: (func $reorder-past-write-if-immutable (type $ref|$struct|_ref|$struct-immutable|_=>_i32) (param $x (ref $struct)) (param $y (ref $struct-immutable)) (result i32) + ;; CHECK: (func $reorder-past-write-if-immutable (type $6) (param $x (ref $struct)) (param $y (ref $struct-immutable)) (result i32) ;; CHECK-NEXT: (local $temp i32) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (struct.set $struct 0 @@ -73,7 +73,7 @@ (local.get $temp) ) - ;; CHECK: (func $unreachable-struct.get (type $ref|$struct|_ref|$struct-immutable|_=>_i32) (param $x (ref $struct)) (param $y (ref $struct-immutable)) (result i32) + ;; CHECK: (func $unreachable-struct.get (type $6) (param $x (ref $struct)) (param $y (ref $struct-immutable)) (result i32) ;; CHECK-NEXT: (local $temp i32) ;; CHECK-NEXT: (local.tee $temp ;; CHECK-NEXT: (block ;; (replaces something unreachable we can't emit) @@ -107,7 +107,7 @@ (local.get $temp) ) - ;; CHECK: (func $no-block-values-if-br_on (type $none_=>_none) + ;; CHECK: (func $no-block-values-if-br_on (type $3) ;; CHECK-NEXT: (local $temp anyref) ;; CHECK-NEXT: (block $block ;; CHECK-NEXT: (drop @@ -162,7 +162,7 @@ ) ) - ;; CHECK: (func $if-nnl (type $none_=>_none) + ;; CHECK: (func $if-nnl (type $3) ;; CHECK-NEXT: (local $x (ref func)) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.const 1) @@ -212,7 +212,7 @@ ) ) - ;; CHECK: (func $if-nnl-previous-set (type $none_=>_none) + ;; CHECK: (func $if-nnl-previous-set (type $3) ;; CHECK-NEXT: (local $x (ref func)) ;; CHECK-NEXT: (local.set $x ;; CHECK-NEXT: (ref.func $if-nnl) @@ -255,13 +255,13 @@ ) ) - ;; CHECK: (func $helper (type $ref|func|_=>_none) (param $ref (ref func)) + ;; CHECK: (func $helper (type $8) (param $ref (ref func)) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $helper (param $ref (ref func)) ) - ;; CHECK: (func $needs-refinalize (type $ref|$B|_=>_anyref) (param $b (ref $B)) (result anyref) + ;; CHECK: (func $needs-refinalize (type $9) (param $b (ref $B)) (result anyref) ;; CHECK-NEXT: (local $a (ref null $A)) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (struct.get $B 0 @@ -281,7 +281,7 @@ ) ) - ;; CHECK: (func $call-vs-mutable-read (type $ref|$struct|_=>_i32) (param $0 (ref $struct)) (result i32) + ;; CHECK: (func $call-vs-mutable-read (type $4) (param $0 (ref $struct)) (result i32) ;; CHECK-NEXT: (local $temp i32) ;; CHECK-NEXT: (local.set $temp ;; CHECK-NEXT: (call $side-effect) @@ -310,7 +310,7 @@ (local.get $temp) ) - ;; CHECK: (func $side-effect (type $none_=>_i32) (result i32) + ;; CHECK: (func $side-effect (type $10) (result i32) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) (func $side-effect (result i32) @@ -318,7 +318,7 @@ (unreachable) ) - ;; CHECK: (func $pick-refined (type $ref|any|_=>_anyref) (param $nn-any (ref any)) (result anyref) + ;; CHECK: (func $pick-refined (type $11) (param $nn-any (ref any)) (result anyref) ;; CHECK-NEXT: (local $any anyref) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (call $use-any @@ -352,7 +352,7 @@ (local.get $any) ) - ;; CHECK: (func $pick-casted (type $anyref_=>_anyref) (param $any anyref) (result anyref) + ;; CHECK: (func $pick-casted (type $12) (param $any anyref) (result anyref) ;; CHECK-NEXT: (local $nn-any (ref any)) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (call $use-any @@ -390,7 +390,7 @@ (local.get $any) ) - ;; CHECK: (func $pick-fallthrough (type $i32_=>_none) (param $x i32) + ;; CHECK: (func $pick-fallthrough (type $13) (param $x i32) ;; CHECK-NEXT: (local $t i32) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (drop @@ -422,7 +422,7 @@ ) ) - ;; CHECK: (func $ignore-unrefined (type $ref|$A|_=>_none) (param $A (ref $A)) + ;; CHECK: (func $ignore-unrefined (type $14) (param $A (ref $A)) ;; CHECK-NEXT: (local $B (ref null $B)) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (drop @@ -484,21 +484,21 @@ ) ) - ;; CHECK: (func $use-nn-any (type $ref|any|_=>_none) (param $nn-any (ref any)) + ;; CHECK: (func $use-nn-any (type $15) (param $nn-any (ref any)) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $use-nn-any (param $nn-any (ref any)) ;; Helper function for the above. ) - ;; CHECK: (func $use-any (type $anyref_=>_none) (param $any anyref) + ;; CHECK: (func $use-any (type $7) (param $any anyref) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $use-any (param $any anyref) ;; Helper function for the above. ) - ;; CHECK: (func $remove-tee-refinalize (type $ref?|$A|_ref?|$B|_=>_structref) (param $a (ref null $A)) (param $b (ref null $B)) (result structref) + ;; CHECK: (func $remove-tee-refinalize (type $16) (param $a (ref null $A)) (param $b (ref null $B)) (result structref) ;; CHECK-NEXT: (struct.get $B 0 ;; CHECK-NEXT: (local.get $b) ;; CHECK-NEXT: ) @@ -518,7 +518,7 @@ ) ) - ;; CHECK: (func $redundant-tee-finalize (type $anyref_=>_none) (param $x anyref) + ;; CHECK: (func $redundant-tee-finalize (type $7) (param $x anyref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.cast (ref any) ;; CHECK-NEXT: (ref.cast (ref any) @@ -542,7 +542,7 @@ ) ) - ;; CHECK: (func $equivalent-set-removal-branching (type $i32_anyref_=>_none) (param $0 i32) (param $any anyref) + ;; CHECK: (func $equivalent-set-removal-branching (type $17) (param $0 i32) (param $any anyref) ;; CHECK-NEXT: (local $1 i32) ;; CHECK-NEXT: (block $block ;; CHECK-NEXT: (local.set $1 diff --git a/test/lit/passes/simplify-locals-strings.wast b/test/lit/passes/simplify-locals-strings.wast index ada49f3da..7e8f77c02 100644 --- a/test/lit/passes/simplify-locals-strings.wast +++ b/test/lit/passes/simplify-locals-strings.wast @@ -10,7 +10,7 @@ ;; CHECK: (type $array16 (array (mut i16))) (type $array16 (array_subtype (mut i16) data)) - ;; CHECK: (func $no-new-past-store (type $none_=>_none) + ;; CHECK: (func $no-new-past-store (type $1) ;; CHECK-NEXT: (local $temp stringref) ;; CHECK-NEXT: (local.set $temp ;; CHECK-NEXT: (string.new_utf8 @@ -122,7 +122,7 @@ ) ) - ;; CHECK: (func $yes-new-past-store (type $none_=>_none) + ;; CHECK: (func $yes-new-past-store (type $1) ;; CHECK-NEXT: (local $temp stringref) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (drop @@ -156,7 +156,7 @@ ) ) - ;; CHECK: (func $no-new-past-store-gc (type $ref|$array|_ref|$array16|_=>_none) (param $array (ref $array)) (param $array16 (ref $array16)) + ;; CHECK: (func $no-new-past-store-gc (type $3) (param $array (ref $array)) (param $array16 (ref $array16)) ;; CHECK-NEXT: (local $temp stringref) ;; CHECK-NEXT: (local.set $temp ;; CHECK-NEXT: (string.new_utf8_array @@ -284,7 +284,7 @@ ) ) - ;; CHECK: (func $no-load-past-encode (type $stringref_=>_none) (param $ref stringref) + ;; CHECK: (func $no-load-past-encode (type $4) (param $ref stringref) ;; CHECK-NEXT: (local $temp i32) ;; CHECK-NEXT: (local.set $temp ;; CHECK-NEXT: (i32.load @@ -404,7 +404,7 @@ ) ) - ;; CHECK: (func $no-load-past-encode-gc (type $stringref_ref|$array|_ref|$array16|_=>_none) (param $ref stringref) (param $array (ref $array)) (param $array16 (ref $array16)) + ;; CHECK: (func $no-load-past-encode-gc (type $5) (param $ref stringref) (param $array (ref $array)) (param $array16 (ref $array16)) ;; CHECK-NEXT: (local $temp i32) ;; CHECK-NEXT: (local.set $temp ;; CHECK-NEXT: (array.get_u $array @@ -541,7 +541,7 @@ ) ) - ;; CHECK: (func $no-iteration-past-each-other (type $stringview_iter_=>_none) (param $iter stringview_iter) + ;; CHECK: (func $no-iteration-past-each-other (type $6) (param $iter stringview_iter) ;; CHECK-NEXT: (local $i32 i32) ;; CHECK-NEXT: (local.set $i32 ;; CHECK-NEXT: (stringview_iter.next diff --git a/test/lit/passes/simplify-locals-tnh.wast b/test/lit/passes/simplify-locals-tnh.wast index 51fda82c1..fa10c318d 100644 --- a/test/lit/passes/simplify-locals-tnh.wast +++ b/test/lit/passes/simplify-locals-tnh.wast @@ -10,7 +10,7 @@ ;; NO_TNH: (global $glob (mut i32) (i32.const 0)) (global $glob (mut i32) (i32.const 0)) - ;; TNH: (func $optimize-past-global.set (type $none_=>_i32) (result i32) + ;; TNH: (func $optimize-past-global.set (type $0) (result i32) ;; TNH-NEXT: (local $temp i32) ;; TNH-NEXT: (nop) ;; TNH-NEXT: (global.set $glob @@ -20,7 +20,7 @@ ;; TNH-NEXT: (i32.const 0) ;; TNH-NEXT: ) ;; TNH-NEXT: ) - ;; NO_TNH: (func $optimize-past-global.set (type $none_=>_i32) (result i32) + ;; NO_TNH: (func $optimize-past-global.set (type $0) (result i32) ;; NO_TNH-NEXT: (local $temp i32) ;; NO_TNH-NEXT: (local.set $temp ;; NO_TNH-NEXT: (i32.load @@ -48,7 +48,7 @@ (local.get $temp) ) - ;; TNH: (func $no-optimize-past-return (type $none_=>_i32) (result i32) + ;; TNH: (func $no-optimize-past-return (type $0) (result i32) ;; TNH-NEXT: (local $temp i32) ;; TNH-NEXT: (local.set $temp ;; TNH-NEXT: (i32.load @@ -63,7 +63,7 @@ ;; TNH-NEXT: ) ;; TNH-NEXT: (local.get $temp) ;; TNH-NEXT: ) - ;; NO_TNH: (func $no-optimize-past-return (type $none_=>_i32) (result i32) + ;; NO_TNH: (func $no-optimize-past-return (type $0) (result i32) ;; NO_TNH-NEXT: (local $temp i32) ;; NO_TNH-NEXT: (local.set $temp ;; NO_TNH-NEXT: (i32.load diff --git a/test/lit/passes/ssa-gc-nn-locals.wast b/test/lit/passes/ssa-gc-nn-locals.wast index 38cdbabed..be4a5aee9 100644 --- a/test/lit/passes/ssa-gc-nn-locals.wast +++ b/test/lit/passes/ssa-gc-nn-locals.wast @@ -4,7 +4,7 @@ ;; RUN: wasm-opt %s -all --ssa --enable-gc-nn-locals -g --roundtrip -S -o - | filecheck %s (module - ;; CHECK: (func $nn-locals (type $none_=>_none) + ;; CHECK: (func $nn-locals (type $0) ;; CHECK-NEXT: (local $x (ref func)) ;; CHECK-NEXT: (local.set $x ;; CHECK-NEXT: (ref.func $nn-locals) diff --git a/test/lit/passes/ssa.wast b/test/lit/passes/ssa.wast index 06fe450aa..c5b92db81 100644 --- a/test/lit/passes/ssa.wast +++ b/test/lit/passes/ssa.wast @@ -5,12 +5,12 @@ ;; CHECK: (type $A (struct )) (type $A (struct )) - ;; CHECK: (func $foo (type $none_=>_none) + ;; CHECK: (func $foo (type $1) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $foo) - ;; CHECK: (func $bar (type $ref|func|_=>_none) (param $x (ref func)) + ;; CHECK: (func $bar (type $2) (param $x (ref func)) ;; CHECK-NEXT: (local $1 (ref func)) ;; CHECK-NEXT: (local $2 (ref func)) ;; CHECK-NEXT: (local.set $1 @@ -35,7 +35,7 @@ (drop (local.get $x)) ) - ;; CHECK: (func $refine-to-null (type $none_=>_ref|$A|) (result (ref $A)) + ;; CHECK: (func $refine-to-null (type $3) (result (ref $A)) ;; CHECK-NEXT: (local $0 (ref null $A)) ;; CHECK-NEXT: (block $label (result (ref none)) ;; CHECK-NEXT: (drop diff --git a/test/lit/passes/stack-check-memory64.wast b/test/lit/passes/stack-check-memory64.wast index ad2f75cb8..fc0db8d20 100644 --- a/test/lit/passes/stack-check-memory64.wast +++ b/test/lit/passes/stack-check-memory64.wast @@ -5,9 +5,9 @@ (module (memory i64 (data)) - ;; CHECK: (type $none_=>_i64 (func (result i64))) + ;; CHECK: (type $0 (func (result i64))) - ;; CHECK: (type $i64_i64_=>_none (func (param i64 i64))) + ;; CHECK: (type $1 (func (param i64 i64))) ;; CHECK: (global $sp (mut i64) (i64.const 0)) (global $sp (mut i64) (i64.const 0)) @@ -64,7 +64,7 @@ (module ;; if the global names are taken we should not crash (memory i64 (data)) - ;; CHECK: (type $i64_i64_=>_none (func (param i64 i64))) + ;; CHECK: (type $0 (func (param i64 i64))) ;; CHECK: (global $sp (mut i64) (i64.const 0)) (global $sp (mut i64) (i64.const 0))) diff --git a/test/lit/passes/stack-ir-eh.wast b/test/lit/passes/stack-ir-eh.wast index d7b2ea207..40ad7e587 100644 --- a/test/lit/passes/stack-ir-eh.wast +++ b/test/lit/passes/stack-ir-eh.wast @@ -6,7 +6,7 @@ ;; CHECK: (tag $e0 (param i32)) (tag $e0 (param i32)) - ;; CHECK: (func $eh (type $none_=>_none) + ;; CHECK: (func $eh (type $1) ;; CHECK-NEXT: try $l0 ;; CHECK-NEXT: i32.const 0 ;; CHECK-NEXT: throw $e0 diff --git a/test/lit/passes/stack-ir-roundtrip-eh.wast b/test/lit/passes/stack-ir-roundtrip-eh.wast index 5521e2232..cedcdbf45 100644 --- a/test/lit/passes/stack-ir-roundtrip-eh.wast +++ b/test/lit/passes/stack-ir-roundtrip-eh.wast @@ -4,7 +4,7 @@ (module ;; CHECK: (tag $tag (param i32)) (tag $tag (param i32)) - ;; CHECK: (func $delegate-child (type $none_=>_none) + ;; CHECK: (func $delegate-child (type $1) ;; CHECK-NEXT: (try $label$9 ;; CHECK-NEXT: (do ;; CHECK-NEXT: (try $label$7 diff --git a/test/lit/passes/strip-eh.wast b/test/lit/passes/strip-eh.wast index dc394aebf..781d60f6d 100644 --- a/test/lit/passes/strip-eh.wast +++ b/test/lit/passes/strip-eh.wast @@ -7,20 +7,20 @@ (tag $e-i32 (param i32)) (tag $e-f32 (param f32)) - ;; CHECK: (func $throw-i32 (type $none_=>_none) + ;; CHECK: (func $throw-i32 (type $0) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) (func $throw-i32 (throw $e-i32 (i32.const 0)) ) - ;; CHECK: (func $throw-f32 (type $none_=>_none) + ;; CHECK: (func $throw-f32 (type $0) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) (func $throw-f32 (throw $e-f32 (f32.const 0.0)) ) - ;; CHECK: (func $try-catch (type $none_=>_none) + ;; CHECK: (func $try-catch (type $0) ;; CHECK-NEXT: (call $throw-i32) ;; CHECK-NEXT: ) (func $try-catch @@ -35,7 +35,7 @@ ) ) - ;; CHECK: (func $try-catch2 (type $none_=>_none) + ;; CHECK: (func $try-catch2 (type $0) ;; CHECK-NEXT: (call $throw-i32) ;; CHECK-NEXT: (call $throw-f32) ;; CHECK-NEXT: ) @@ -51,7 +51,7 @@ ) ) - ;; CHECK: (func $try-catch-all (type $none_=>_none) + ;; CHECK: (func $try-catch-all (type $0) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) (func $try-catch-all @@ -65,7 +65,7 @@ ) ) - ;; CHECK: (func $try-catch-nested (type $none_=>_none) + ;; CHECK: (func $try-catch-nested (type $0) ;; CHECK-NEXT: (call $throw-i32) ;; CHECK-NEXT: ) (func $try-catch-nested @@ -93,7 +93,7 @@ ) ) - ;; CHECK: (func $try-unreachable-body (type $none_=>_i32) (result i32) + ;; CHECK: (func $try-unreachable-body (type $1) (result i32) ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: (i32.const 0) diff --git a/test/lit/passes/type-merging-tnh.wast b/test/lit/passes/type-merging-tnh.wast index e10e6434c..c5ad4e760 100644 --- a/test/lit/passes/type-merging-tnh.wast +++ b/test/lit/passes/type-merging-tnh.wast @@ -8,9 +8,9 @@ (type $A (struct)) (type $B (struct_subtype $A)) - ;; CHECK: (type $ref|$A|_=>_ref|$A| (func (param (ref $A)) (result (ref $A)))) + ;; CHECK: (type $1 (func (param (ref $A)) (result (ref $A)))) - ;; CHECK: (func $test (type $ref|$A|_=>_ref|$A|) (param $a (ref $A)) (result (ref $A)) + ;; CHECK: (func $test (type $1) (param $a (ref $A)) (result (ref $A)) ;; CHECK-NEXT: (ref.cast (ref $A) ;; CHECK-NEXT: (local.get $a) ;; CHECK-NEXT: ) @@ -30,9 +30,9 @@ ;; CHECK: (type $B (sub $A (struct ))) (type $B (struct_subtype $A)) - ;; CHECK: (type $ref|$A|_=>_i32 (func (param (ref $A)) (result i32))) + ;; CHECK: (type $2 (func (param (ref $A)) (result i32))) - ;; CHECK: (func $test (type $ref|$A|_=>_i32) (param $a (ref $A)) (result i32) + ;; CHECK: (func $test (type $2) (param $a (ref $A)) (result i32) ;; CHECK-NEXT: (ref.test (ref $B) ;; CHECK-NEXT: (local.get $a) ;; CHECK-NEXT: ) @@ -52,9 +52,9 @@ ;; CHECK: (type $B (sub $A (struct ))) (type $B (struct_subtype $A)) - ;; CHECK: (type $ref|$A|_=>_ref|$B| (func (param (ref $A)) (result (ref $B)))) + ;; CHECK: (type $2 (func (param (ref $A)) (result (ref $B)))) - ;; CHECK: (func $test (type $ref|$A|_=>_ref|$B|) (param $a (ref $A)) (result (ref $B)) + ;; CHECK: (func $test (type $2) (param $a (ref $A)) (result (ref $B)) ;; CHECK-NEXT: (block $__binaryen_fake_return (result (ref $B)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (br_on_cast $__binaryen_fake_return (ref $A) (ref $B) diff --git a/test/lit/passes/type-merging.wast b/test/lit/passes/type-merging.wast index b3cc45bd2..53582a586 100644 --- a/test/lit/passes/type-merging.wast +++ b/test/lit/passes/type-merging.wast @@ -23,9 +23,9 @@ (type $G (sub final $A (struct (field anyref)))) ) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $6 (func)) - ;; CHECK: (func $foo (type $none_=>_none) + ;; CHECK: (func $foo (type $6) ;; CHECK-NEXT: (local $a (ref null $A)) ;; CHECK-NEXT: (local $b (ref null $A)) ;; CHECK-NEXT: (local $c (ref null $C)) @@ -88,9 +88,9 @@ (type $F (struct_subtype (field i32) (field f64) $E)) (type $G (struct_subtype (field i32) (field f64) $F)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $2 (func)) - ;; CHECK: (func $foo (type $none_=>_none) + ;; CHECK: (func $foo (type $2) ;; CHECK-NEXT: (local $a (ref null $A)) ;; CHECK-NEXT: (local $b (ref null $A)) ;; CHECK-NEXT: (local $c (ref null $A)) @@ -132,9 +132,9 @@ (type $F (struct_subtype (field i32) (field f64) $E)) (type $G (struct_subtype (field i32) (field f64) $F)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $2 (func)) - ;; CHECK: (func $foo (type $none_=>_none) + ;; CHECK: (func $foo (type $2) ;; CHECK-NEXT: (local $a (ref null $A)) ;; CHECK-NEXT: (local $b (ref null $A)) ;; CHECK-NEXT: (local $c (ref null $A)) @@ -166,9 +166,9 @@ ;; CHECK: (type $C (sub $A (struct (field (ref $X))))) (type $C (struct_subtype (field (ref $Y)) $A)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $3 (func)) - ;; CHECK: (func $foo (type $none_=>_none) + ;; CHECK: (func $foo (type $3) ;; CHECK-NEXT: (local $a (ref null $A)) ;; CHECK-NEXT: (local $b (ref null $A)) ;; CHECK-NEXT: (local $c (ref null $C)) @@ -190,9 +190,9 @@ (type $A (struct (ref null $A))) (type $B (struct_subtype (ref null $B) $A)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) - ;; CHECK: (func $foo (type $none_=>_none) + ;; CHECK: (func $foo (type $1) ;; CHECK-NEXT: (local $a (ref null $A)) ;; CHECK-NEXT: (local $b (ref null $A)) ;; CHECK-NEXT: (nop) @@ -217,9 +217,9 @@ (type $Y (struct_subtype (ref null $B) f32 $X)) ) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $2 (func)) - ;; CHECK: (func $foo (type $none_=>_none) + ;; CHECK: (func $foo (type $2) ;; CHECK-NEXT: (local $a (ref null $A)) ;; CHECK-NEXT: (local $b (ref null $A)) ;; CHECK-NEXT: (local $x (ref null $X)) @@ -246,9 +246,9 @@ (type $Y (struct_subtype (ref null $B) $X)) ) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) - ;; CHECK: (func $foo (type $none_=>_none) + ;; CHECK: (func $foo (type $1) ;; CHECK-NEXT: (local $a (ref null $A)) ;; CHECK-NEXT: (local $b (ref null $A)) ;; CHECK-NEXT: (local $x (ref null $A)) @@ -276,9 +276,9 @@ (type $X (struct (ref null $A) f32)) (type $Y (struct (ref null $B) f32)) ) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $2 (func)) - ;; CHECK: (func $foo (type $none_=>_none) + ;; CHECK: (func $foo (type $2) ;; CHECK-NEXT: (local $a (ref null $B)) ;; CHECK-NEXT: (local $b (ref null $B)) ;; CHECK-NEXT: (local $x (ref null $Y)) @@ -304,9 +304,9 @@ (type $X (struct (ref null $A))) (type $Y (struct (ref null $B))) ) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) - ;; CHECK: (func $foo (type $none_=>_none) + ;; CHECK: (func $foo (type $1) ;; CHECK-NEXT: (local $a (ref null $B)) ;; CHECK-NEXT: (local $b (ref null $B)) ;; CHECK-NEXT: (local $x (ref null $B)) @@ -334,9 +334,9 @@ (type $Y (struct_subtype (ref null $B) $X)) ) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $2 (func)) - ;; CHECK: (func $foo (type $none_=>_none) + ;; CHECK: (func $foo (type $2) ;; CHECK-NEXT: (local $a (ref null $A)) ;; CHECK-NEXT: (local $b (ref null $A)) ;; CHECK-NEXT: (local $x (ref null $X)) @@ -418,9 +418,9 @@ (type $M (struct i32 i32)) (type $M' (struct i32 i32)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $13 (func)) - ;; CHECK: (func $foo (type $none_=>_none) + ;; CHECK: (func $foo (type $13) ;; CHECK-NEXT: (local $a (ref null $A)) ;; CHECK-NEXT: (local $a' (ref null $A)) ;; CHECK-NEXT: (local $b (ref null $B)) @@ -491,9 +491,9 @@ (type $B (struct_subtype (ref null $Y) $A)) (type $C (struct_subtype (ref null $Y) $A)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $4 (func)) - ;; CHECK: (func $foo (type $none_=>_none) + ;; CHECK: (func $foo (type $4) ;; CHECK-NEXT: (local $a (ref null $A)) ;; CHECK-NEXT: (local $b (ref null $B)) ;; CHECK-NEXT: (local $c (ref null $B)) @@ -518,9 +518,9 @@ (type $C (struct_subtype eqref $A)) ) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $2 (func)) - ;; CHECK: (func $foo (type $none_=>_none) + ;; CHECK: (func $foo (type $2) ;; CHECK-NEXT: (local $a (ref null $A)) ;; CHECK-NEXT: (local $b (ref null $C)) ;; CHECK-NEXT: (local $c (ref null $C)) @@ -547,9 +547,9 @@ (type $E (struct_subtype eqref $C)) ) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $2 (func)) - ;; CHECK: (func $foo (type $none_=>_none) + ;; CHECK: (func $foo (type $2) ;; CHECK-NEXT: (local $a (ref null $A)) ;; CHECK-NEXT: (local $b (ref null $A)) ;; CHECK-NEXT: (local $c (ref null $A)) @@ -597,9 +597,9 @@ (type $D' (struct_subtype (ref $A') i32 i32 $C')) ) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $4 (func)) - ;; CHECK: (func $foo (type $none_=>_none) + ;; CHECK: (func $foo (type $4) ;; CHECK-NEXT: (local $a (ref null $A)) ;; CHECK-NEXT: (local $a' (ref null $A)) ;; CHECK-NEXT: (local $b (ref null $B')) @@ -629,9 +629,9 @@ (type $A (struct)) (type $B (struct_subtype $A)) - ;; CHECK: (type $none_=>_ref?|$A| (func (result (ref null $A)))) + ;; CHECK: (type $1 (func (result (ref null $A)))) - ;; CHECK: (func $returner (type $none_=>_ref?|$A|) (result (ref null $A)) + ;; CHECK: (func $returner (type $1) (result (ref null $A)) ;; CHECK-NEXT: (local $local (ref null $A)) ;; CHECK-NEXT: (local.get $local) ;; CHECK-NEXT: ) @@ -718,9 +718,9 @@ (type $sub-refarray (array_subtype (ref null any) $refarray)) (type $sub-refarray-nn (array_subtype (ref any) $refarray)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $3 (func)) - ;; CHECK: (func $foo (type $none_=>_none) + ;; CHECK: (func $foo (type $3) ;; CHECK-NEXT: (local $a (ref null $intarray)) ;; CHECK-NEXT: (local $b (ref null $intarray)) ;; CHECK-NEXT: (nop) @@ -732,7 +732,7 @@ (local $b (ref null $sub-intarray)) ) - ;; CHECK: (func $bar (type $none_=>_none) + ;; CHECK: (func $bar (type $3) ;; CHECK-NEXT: (local $a (ref null $refarray)) ;; CHECK-NEXT: (local $b (ref null $refarray)) ;; CHECK-NEXT: (local $c (ref null $sub-refarray-nn)) @@ -756,9 +756,9 @@ ;; CHECK: (type $sub-func-refined (sub $func (func (param anyref)))) (type $sub-func-refined (func_subtype (param anyref) $func)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $2 (func)) - ;; CHECK: (func $foo (type $none_=>_none) + ;; CHECK: (func $foo (type $2) ;; CHECK-NEXT: (local $a (ref null $func)) ;; CHECK-NEXT: (local $b (ref null $func)) ;; CHECK-NEXT: (local $c (ref null $sub-func-refined)) @@ -782,7 +782,7 @@ (type $B (func_subtype $A)) ;; public (type $C (func_subtype $B)) ;; private - ;; CHECK: (type $ref|$A|_ref|$B|_ref|$B|_=>_none (func (param (ref $A) (ref $B) (ref $B)))) + ;; CHECK: (type $2 (func (param (ref $A) (ref $B) (ref $B)))) ;; CHECK: (export "foo" (func $foo)) (export "foo" (func $foo)) @@ -813,7 +813,7 @@ (unreachable) ) - ;; CHECK: (func $quux (type $ref|$A|_ref|$B|_ref|$B|_=>_none) (param $0 (ref $A)) (param $1 (ref $B)) (param $2 (ref $B)) + ;; CHECK: (func $quux (type $2) (param $0 (ref $A)) (param $1 (ref $B)) (param $2 (ref $B)) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) (func $quux (param (ref $A) (ref $B) (ref $C)) @@ -852,9 +852,9 @@ (type $X (struct (ref $B))) (type $A' (struct)) ) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $2 (func)) - ;; CHECK: (func $foo (type $none_=>_none) + ;; CHECK: (func $foo (type $2) ;; CHECK-NEXT: (local $b (ref null $A)) ;; CHECK-NEXT: (local $x (ref null $X)) ;; CHECK-NEXT: (nop) @@ -891,9 +891,9 @@ (type $b1 (struct_subtype (ref null $y) $b)) ) - ;; CHECK: (type $none_=>_ref|$b| (func (result (ref $b)))) + ;; CHECK: (type $5 (func (result (ref $b)))) - ;; CHECK: (func $test (type $none_=>_ref|$b|) (result (ref $b)) + ;; CHECK: (func $test (type $5) (result (ref $b)) ;; CHECK-NEXT: (local $0 (ref null $a)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.test (ref $y) @@ -931,15 +931,15 @@ ;; CHECK-NEXT: (type $B (func)) (type $B (func)) (type $C (sub $B (func))) - ;; CHECK: (type $none_=>_ref|any|_ref|$B| (func (result (ref any) (ref $B)))) + ;; CHECK: (type $1 (func (result (ref any) (ref $B)))) - ;; CHECK: (type $none_=>_ref|any|_ref|$B| (func (result (ref any) (ref $B)))) + ;; CHECK: (type $2 (func (result (ref any) (ref $B)))) - ;; CHECK: (type $D (sub final $none_=>_ref|any|_ref|$B| (func (result (ref any) (ref $B))))) + ;; CHECK: (type $D (sub final $2 (func (result (ref any) (ref $B))))) (type $D (sub final $A (func (result (ref any) (ref $C))))) ) - ;; CHECK: (type $none_=>_ref|any|_ref|$B| (func (result (ref any) (ref $B)))) + ;; CHECK: (type $4 (func (result (ref any) (ref $B)))) ;; CHECK: (func $test (type $D) (result (ref any) (ref $B)) ;; CHECK-NEXT: (block $l (result (ref any) (ref $B)) @@ -1035,9 +1035,9 @@ ;; CHECK: (type $B (sub $A (struct ))) (type $B (struct_subtype $A)) - ;; CHECK: (type $ref|$A|_=>_i32 (func (param (ref $A)) (result i32))) + ;; CHECK: (type $2 (func (param (ref $A)) (result i32))) - ;; CHECK: (func $test (type $ref|$A|_=>_i32) (param $a (ref $A)) (result i32) + ;; CHECK: (func $test (type $2) (param $a (ref $A)) (result i32) ;; CHECK-NEXT: (ref.test (ref $B) ;; CHECK-NEXT: (local.get $a) ;; CHECK-NEXT: ) @@ -1057,9 +1057,9 @@ ;; CHECK: (type $B (sub $A (struct ))) (type $B (struct_subtype $A)) - ;; CHECK: (type $ref|$A|_=>_ref|$B| (func (param (ref $A)) (result (ref $B)))) + ;; CHECK: (type $2 (func (param (ref $A)) (result (ref $B)))) - ;; CHECK: (func $test (type $ref|$A|_=>_ref|$B|) (param $a (ref $A)) (result (ref $B)) + ;; CHECK: (func $test (type $2) (param $a (ref $A)) (result (ref $B)) ;; CHECK-NEXT: (block $__binaryen_fake_return (result (ref $B)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (br_on_cast $__binaryen_fake_return (ref $A) (ref $B) diff --git a/test/lit/passes/type-refining-isorecursive.wast b/test/lit/passes/type-refining-isorecursive.wast index a6e5b5976..628282f46 100644 --- a/test/lit/passes/type-refining-isorecursive.wast +++ b/test/lit/passes/type-refining-isorecursive.wast @@ -14,9 +14,9 @@ (type $1 (struct_subtype nullfuncref anyref data)) (type $2 (struct_subtype nullexternref anyref data)) - ;; CHECK: (type $ref|$0|_ref|$1|_ref|$2|_=>_none (func (param (ref $0) (ref $1) (ref $2)))) + ;; CHECK: (type $3 (func (param (ref $0) (ref $1) (ref $2)))) - ;; CHECK: (func $foo (type $ref|$0|_ref|$1|_ref|$2|_=>_none) (param $x (ref $0)) (param $y (ref $1)) (param $z (ref $2)) + ;; CHECK: (func $foo (type $3) (param $x (ref $0)) (param $y (ref $1)) (param $z (ref $2)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $0 ;; CHECK-NEXT: (ref.null none) @@ -77,9 +77,9 @@ (type $1 (struct_subtype anyref anyref $0)) (type $2 (struct_subtype anyref anyref $1)) - ;; CHECK: (type $ref|$0|_ref|$1|_ref|$2|_=>_none (func (param (ref $0) (ref $1) (ref $2)))) + ;; CHECK: (type $4 (func (param (ref $0) (ref $1) (ref $2)))) - ;; CHECK: (func $foo (type $ref|$0|_ref|$1|_ref|$2|_=>_none) (param $x (ref $0)) (param $y (ref $1)) (param $z (ref $2)) + ;; CHECK: (func $foo (type $4) (param $x (ref $0)) (param $y (ref $1)) (param $z (ref $2)) ;; CHECK-NEXT: (local $all (ref null $all)) ;; CHECK-NEXT: (local.set $all ;; CHECK-NEXT: (struct.new $all diff --git a/test/lit/passes/type-refining.wast b/test/lit/passes/type-refining.wast index 34e1206c2..8dab9bc7e 100644 --- a/test/lit/passes/type-refining.wast +++ b/test/lit/passes/type-refining.wast @@ -9,9 +9,9 @@ ;; CHECK-NEXT: (type $struct (struct (field (mut anyref)) (field (mut (ref i31))) (field (mut (ref i31))))) (type $struct (struct_subtype (field (mut anyref)) (field (mut (ref i31))) (field (mut anyref)) data)) - ;; CHECK: (type $ref|$struct|_=>_none (func (param (ref $struct)))) + ;; CHECK: (type $1 (func (param (ref $struct)))) - ;; CHECK: (func $work (type $ref|$struct|_=>_none) (param $struct (ref $struct)) + ;; CHECK: (func $work (type $1) (param $struct (ref $struct)) ;; CHECK-NEXT: (struct.set $struct 1 ;; CHECK-NEXT: (local.get $struct) ;; CHECK-NEXT: (i31.new @@ -58,9 +58,9 @@ ;; CHECK-NEXT: (type $struct (struct (field (mut i31ref)))) (type $struct (struct_subtype (field (mut anyref)) data)) - ;; CHECK: (type $ref|$struct|_=>_none (func (param (ref $struct)))) + ;; CHECK: (type $1 (func (param (ref $struct)))) - ;; CHECK: (func $work (type $ref|$struct|_=>_none) (param $struct (ref $struct)) + ;; CHECK: (func $work (type $1) (param $struct (ref $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new_default $struct) ;; CHECK-NEXT: ) @@ -101,9 +101,9 @@ (type $child-B (struct_subtype (field (mut structref)) $struct)) ) - ;; CHECK: (type $ref|$struct|_ref|$child-A|_ref|$child-B|_=>_none (func (param (ref $struct) (ref $child-A) (ref $child-B)))) + ;; CHECK: (type $3 (func (param (ref $struct) (ref $child-A) (ref $child-B)))) - ;; CHECK: (func $work (type $ref|$struct|_ref|$child-A|_ref|$child-B|_=>_none) (param $struct (ref $struct)) (param $child-A (ref $child-A)) (param $child-B (ref $child-B)) + ;; CHECK: (func $work (type $3) (param $struct (ref $struct)) (param $child-A (ref $child-A)) (param $child-B (ref $child-B)) ;; CHECK-NEXT: (struct.set $struct 0 ;; CHECK-NEXT: (local.get $struct) ;; CHECK-NEXT: (local.get $child-A) @@ -141,11 +141,11 @@ (type $child-B (struct_subtype (field (mut structref)) $struct)) ) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $3 (func)) - ;; CHECK: (type $ref|$struct|_ref|$child-A|_=>_none (func (param (ref $struct) (ref $child-A)))) + ;; CHECK: (type $4 (func (param (ref $struct) (ref $child-A)))) - ;; CHECK: (func $work (type $ref|$struct|_ref|$child-A|_=>_none) (param $struct (ref $struct)) (param $child-A (ref $child-A)) + ;; CHECK: (func $work (type $4) (param $struct (ref $struct)) (param $child-A (ref $child-A)) ;; CHECK-NEXT: (struct.set $struct 0 ;; CHECK-NEXT: (local.get $struct) ;; CHECK-NEXT: (local.get $child-A) @@ -166,7 +166,7 @@ ) ) - ;; CHECK: (func $keepalive (type $none_=>_none) + ;; CHECK: (func $keepalive (type $3) ;; CHECK-NEXT: (local $temp (ref null $child-B)) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) @@ -190,9 +190,9 @@ ;; CHECK: (type $child (sub $struct (struct (field (mut (ref $struct)))))) (type $child (struct_subtype (field (mut structref)) $struct)) - ;; CHECK: (type $ref|$struct|_ref|$child|_=>_none (func (param (ref $struct) (ref $child)))) + ;; CHECK: (type $2 (func (param (ref $struct) (ref $child)))) - ;; CHECK: (func $work (type $ref|$struct|_ref|$child|_=>_none) (param $struct (ref $struct)) (param $child (ref $child)) + ;; CHECK: (func $work (type $2) (param $struct (ref $struct)) (param $child (ref $child)) ;; CHECK-NEXT: (struct.set $struct 0 ;; CHECK-NEXT: (local.get $struct) ;; CHECK-NEXT: (local.get $child) @@ -224,9 +224,9 @@ ;; CHECK: (type $child (sub $struct (struct (field (mut (ref $child)))))) (type $child (struct_subtype (field (mut structref)) $struct)) - ;; CHECK: (type $ref|$struct|_ref|$child|_=>_none (func (param (ref $struct) (ref $child)))) + ;; CHECK: (type $2 (func (param (ref $struct) (ref $child)))) - ;; CHECK: (func $work (type $ref|$struct|_ref|$child|_=>_none) (param $struct (ref $struct)) (param $child (ref $child)) + ;; CHECK: (func $work (type $2) (param $struct (ref $struct)) (param $child (ref $child)) ;; CHECK-NEXT: (struct.set $struct 0 ;; CHECK-NEXT: (local.get $struct) ;; CHECK-NEXT: (local.get $child) @@ -261,9 +261,9 @@ ;; CHECK: (type $child (sub $struct (struct (field (mut (ref $struct)))))) (type $child (struct_subtype (field (mut structref)) $struct)) - ;; CHECK: (type $ref|$struct|_ref|$child|_=>_none (func (param (ref $struct) (ref $child)))) + ;; CHECK: (type $2 (func (param (ref $struct) (ref $child)))) - ;; CHECK: (func $work (type $ref|$struct|_ref|$child|_=>_none) (param $struct (ref $struct)) (param $child (ref $child)) + ;; CHECK: (func $work (type $2) (param $struct (ref $struct)) (param $child (ref $child)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $struct ;; CHECK-NEXT: (local.get $child) @@ -306,9 +306,9 @@ ;; CHECK: (type $child (sub $struct (struct (field (ref $child))))) (type $child (struct_subtype (field structref) $struct)) - ;; CHECK: (type $ref|$struct|_ref|$child|_=>_none (func (param (ref $struct) (ref $child)))) + ;; CHECK: (type $2 (func (param (ref $struct) (ref $child)))) - ;; CHECK: (func $work (type $ref|$struct|_ref|$child|_=>_none) (param $struct (ref $struct)) (param $child (ref $child)) + ;; CHECK: (func $work (type $2) (param $struct (ref $struct)) (param $child (ref $child)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $struct ;; CHECK-NEXT: (local.get $struct) @@ -346,9 +346,9 @@ ;; CHECK: (type $child (sub $struct (struct (field (mut (ref $struct)))))) (type $child (struct_subtype (field (mut structref)) $struct)) - ;; CHECK: (type $ref|$struct|_ref|$child|_=>_none (func (param (ref $struct) (ref $child)))) + ;; CHECK: (type $2 (func (param (ref $struct) (ref $child)))) - ;; CHECK: (func $work (type $ref|$struct|_ref|$child|_=>_none) (param $struct (ref $struct)) (param $child (ref $child)) + ;; CHECK: (func $work (type $2) (param $struct (ref $struct)) (param $child (ref $child)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $struct ;; CHECK-NEXT: (local.get $struct) @@ -386,9 +386,9 @@ ;; CHECK: (type $child (sub $struct (struct (field (mut (ref $struct))) (field (mut (ref $child)))))) (type $child (struct_subtype (field (mut structref)) (field (mut structref)) $struct)) - ;; CHECK: (type $ref|$struct|_ref|$child|_=>_none (func (param (ref $struct) (ref $child)))) + ;; CHECK: (type $2 (func (param (ref $struct) (ref $child)))) - ;; CHECK: (func $work (type $ref|$struct|_ref|$child|_=>_none) (param $struct (ref $struct)) (param $child (ref $child)) + ;; CHECK: (func $work (type $2) (param $struct (ref $struct)) (param $child (ref $child)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $struct ;; CHECK-NEXT: (local.get $struct) @@ -424,9 +424,9 @@ ;; CHECK-NEXT: (type $struct (struct (field (mut (ref $struct))))) (type $struct (struct_subtype (field (mut structref)) data)) - ;; CHECK: (type $ref|$struct|_=>_none (func (param (ref $struct)))) + ;; CHECK: (type $1 (func (param (ref $struct)))) - ;; CHECK: (func $work (type $ref|$struct|_=>_none) (param $struct (ref $struct)) + ;; CHECK: (func $work (type $1) (param $struct (ref $struct)) ;; CHECK-NEXT: (struct.set $struct 0 ;; CHECK-NEXT: (local.get $struct) ;; CHECK-NEXT: (local.get $struct) @@ -473,9 +473,9 @@ (type $B (struct_subtype (field (ref $X)) $A)) ) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $5 (func)) - ;; CHECK: (func $foo (type $none_=>_none) + ;; CHECK: (func $foo (type $5) ;; CHECK-NEXT: (local $unused (ref null $C)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $B @@ -525,9 +525,9 @@ (type $C (struct_subtype (field (ref $X)) $A)) ) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $5 (func)) - ;; CHECK: (func $foo (type $none_=>_none) + ;; CHECK: (func $foo (type $5) ;; CHECK-NEXT: (local $unused1 (ref null $C)) ;; CHECK-NEXT: (local $unused2 (ref null $B)) ;; CHECK-NEXT: (drop @@ -545,7 +545,7 @@ ;; CHECK: (type $X (struct )) (type $X (struct)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) ;; CHECK: (type $A (struct (field (ref $X)))) @@ -557,7 +557,7 @@ ;; CHECK: (type $B (sub $A (struct (field (ref $Y))))) (type $B (struct_subtype (field (ref $Y)) $A)) - ;; CHECK: (func $foo (type $none_=>_none) + ;; CHECK: (func $foo (type $1) ;; CHECK-NEXT: (local $unused2 (ref null $B)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $A @@ -585,9 +585,9 @@ ;; CHECK-NEXT: (type $struct (struct (field (mut (ref null $struct))))) (type $struct (struct_subtype (field (mut (ref null struct))) data)) - ;; CHECK: (type $ref|$struct|_=>_none (func (param (ref $struct)))) + ;; CHECK: (type $1 (func (param (ref $struct)))) - ;; CHECK: (func $update-null (type $ref|$struct|_=>_none) (param $struct (ref $struct)) + ;; CHECK: (func $update-null (type $1) (param $struct (ref $struct)) ;; CHECK-NEXT: (struct.set $struct 0 ;; CHECK-NEXT: (local.get $struct) ;; CHECK-NEXT: (local.get $struct) @@ -621,9 +621,9 @@ ;; CHECK: (type $child (sub $struct (struct (field (mut (ref null $struct)))))) (type $child (struct_subtype (field (mut (ref null struct))) $struct)) - ;; CHECK: (type $ref|$struct|_ref|$child|_=>_none (func (param (ref $struct) (ref $child)))) + ;; CHECK: (type $2 (func (param (ref $struct) (ref $child)))) - ;; CHECK: (func $update-null (type $ref|$struct|_ref|$child|_=>_none) (param $struct (ref $struct)) (param $child (ref $child)) + ;; CHECK: (func $update-null (type $2) (param $struct (ref $struct)) (param $child (ref $child)) ;; CHECK-NEXT: (struct.set $struct 0 ;; CHECK-NEXT: (local.get $struct) ;; CHECK-NEXT: (local.get $struct) @@ -654,9 +654,9 @@ ;; CHECK: (type $child (sub $struct (struct (field (mut (ref null $struct)))))) (type $child (struct_subtype (field (mut (ref null struct))) $struct)) - ;; CHECK: (type $ref|$struct|_ref|$child|_=>_none (func (param (ref $struct) (ref $child)))) + ;; CHECK: (type $2 (func (param (ref $struct) (ref $child)))) - ;; CHECK: (func $update-null (type $ref|$struct|_ref|$child|_=>_none) (param $struct (ref $struct)) (param $child (ref $child)) + ;; CHECK: (func $update-null (type $2) (param $struct (ref $struct)) (param $child (ref $child)) ;; CHECK-NEXT: (struct.set $struct 0 ;; CHECK-NEXT: (local.get $struct) ;; CHECK-NEXT: (ref.null none) @@ -683,9 +683,9 @@ ;; CHECK-NEXT: (type $struct (struct (field (mut nullref)))) (type $struct (struct_subtype (field (mut (ref null struct))) data)) - ;; CHECK: (type $ref|$struct|_=>_none (func (param (ref $struct)))) + ;; CHECK: (type $1 (func (param (ref $struct)))) - ;; CHECK: (func $work (type $ref|$struct|_=>_none) (param $struct (ref $struct)) + ;; CHECK: (func $work (type $1) (param $struct (ref $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new_default $struct) ;; CHECK-NEXT: ) @@ -704,9 +704,9 @@ ;; CHECK-NEXT: (type $struct (struct (field (mut (ref null $struct))))) (type $struct (struct_subtype (field (mut (ref null struct))) data)) - ;; CHECK: (type $ref|$struct|_=>_none (func (param (ref $struct)))) + ;; CHECK: (type $1 (func (param (ref $struct)))) - ;; CHECK: (func $work (type $ref|$struct|_=>_none) (param $struct (ref $struct)) + ;; CHECK: (func $work (type $1) (param $struct (ref $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new_default $struct) ;; CHECK-NEXT: ) @@ -733,9 +733,9 @@ ;; CHECK-NEXT: (type $struct (struct (field (mut (ref null $struct))))) (type $struct (struct_subtype (field (mut (ref null struct))) data)) - ;; CHECK: (type $ref|$struct|_=>_none (func (param (ref $struct)))) + ;; CHECK: (type $1 (func (param (ref $struct)))) - ;; CHECK: (func $work (type $ref|$struct|_=>_none) (param $struct (ref $struct)) + ;; CHECK: (func $work (type $1) (param $struct (ref $struct)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $struct ;; CHECK-NEXT: (ref.null none) @@ -769,9 +769,9 @@ ;; CHECK: (type $child (sub $struct (struct (field (mut (ref null $child))) (field (mut (ref null $struct)))))) (type $child (struct_subtype (field (mut (ref null struct))) (field (mut (ref null struct))) $struct)) - ;; CHECK: (type $ref|$struct|_ref|$child|_=>_none (func (param (ref $struct) (ref $child)))) + ;; CHECK: (type $2 (func (param (ref $struct) (ref $child)))) - ;; CHECK: (func $update-null (type $ref|$struct|_ref|$child|_=>_none) (param $struct (ref $struct)) (param $child (ref $child)) + ;; CHECK: (func $update-null (type $2) (param $struct (ref $struct)) (param $child (ref $child)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $struct ;; CHECK-NEXT: (local.get $child) @@ -840,9 +840,9 @@ (type $Leaf2-Outer (struct_subtype (field (ref $Leaf2-Inner)) $Root-Outer)) - ;; CHECK: (type $ref?|$Leaf1-Outer|_=>_none (func (param (ref null $Leaf1-Outer)))) + ;; CHECK: (type $6 (func (param (ref null $Leaf1-Outer)))) - ;; CHECK: (func $func (type $ref?|$Leaf1-Outer|_=>_none) (param $Leaf1-Outer (ref null $Leaf1-Outer)) + ;; CHECK: (func $func (type $6) (param $Leaf1-Outer (ref null $Leaf1-Outer)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block ;; (replaces something unreachable we can't emit) ;; CHECK-NEXT: (drop @@ -900,9 +900,9 @@ ;; CHECK: (type $A (struct (field (mut (ref null $A))))) (type $A (struct_subtype (field (mut (ref null $A))) data)) - ;; CHECK: (type $ref|$A|_ref?|$A|_=>_none (func (param (ref $A) (ref null $A)))) + ;; CHECK: (type $1 (func (param (ref $A) (ref null $A)))) - ;; CHECK: (func $non-nullability (type $ref|$A|_ref?|$A|_=>_none) (param $nn (ref $A)) (param $A (ref null $A)) + ;; CHECK: (func $non-nullability (type $1) (param $nn (ref $A)) (param $A (ref null $A)) ;; CHECK-NEXT: (local $temp (ref null $A)) ;; CHECK-NEXT: (struct.set $A 0 ;; CHECK-NEXT: (local.get $A) @@ -966,9 +966,9 @@ ;; CHECK: (type $B (sub $A (struct (field (ref null $B))))) (type $B (struct_subtype (field (ref null $A)) $A)) - ;; CHECK: (type $ref?|$B|_ref?|$A|_=>_none (func (param (ref null $B) (ref null $A)))) + ;; CHECK: (type $2 (func (param (ref null $B) (ref null $A)))) - ;; CHECK: (func $heap-type (type $ref?|$B|_ref?|$A|_=>_none) (param $b (ref null $B)) (param $A (ref null $A)) + ;; CHECK: (func $heap-type (type $2) (param $b (ref null $B)) (param $A (ref null $A)) ;; CHECK-NEXT: (local $a (ref null $A)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $B @@ -1015,9 +1015,9 @@ ;; CHECK-NEXT: (type $A (struct (field (mut (ref $A))))) (type $A (struct_subtype (field (mut (ref null $A))) data)) - ;; CHECK: (type $ref|$A|_ref?|$A|_=>_none (func (param (ref $A) (ref null $A)))) + ;; CHECK: (type $1 (func (param (ref $A) (ref null $A)))) - ;; CHECK: (func $non-nullability-block (type $ref|$A|_ref?|$A|_=>_none) (param $nn (ref $A)) (param $A (ref null $A)) + ;; CHECK: (func $non-nullability-block (type $1) (param $nn (ref $A)) (param $A (ref null $A)) ;; CHECK-NEXT: (struct.set $A 0 ;; CHECK-NEXT: (local.get $A) ;; CHECK-NEXT: (local.get $nn) @@ -1081,9 +1081,9 @@ ;; CHECK-NEXT: (type $struct (struct (field (mut (ref $struct))))) (type $struct (struct (field (mut (ref null struct))))) - ;; CHECK: (type $ref|$struct|_=>_none (func (param (ref $struct)))) + ;; CHECK: (type $1 (func (param (ref $struct)))) - ;; CHECK: (func $work (type $ref|$struct|_=>_none) (param $struct (ref $struct)) + ;; CHECK: (func $work (type $1) (param $struct (ref $struct)) ;; CHECK-NEXT: (struct.set $struct 0 ;; CHECK-NEXT: (local.get $struct) ;; CHECK-NEXT: (local.get $struct) @@ -1135,9 +1135,9 @@ (type $B (struct)) ) - ;; CHECK: (type $none_=>_ref|$A| (func (result (ref $A)))) + ;; CHECK: (type $2 (func (result (ref $A)))) - ;; CHECK: (func $0 (type $none_=>_ref|$A|) (result (ref $A)) + ;; CHECK: (func $0 (type $2) (result (ref $A)) ;; CHECK-NEXT: (struct.new $A ;; CHECK-NEXT: (ref.cast (ref $B) ;; CHECK-NEXT: (struct.get $A 0 @@ -1177,9 +1177,9 @@ (type $B (struct (field (mut (ref null $A))))) ) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $2 (func)) - ;; CHECK: (func $0 (type $none_=>_none) + ;; CHECK: (func $0 (type $2) ;; CHECK-NEXT: (block ;; (replaces something unreachable we can't emit) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (block ;; (replaces something unreachable we can't emit) @@ -1225,25 +1225,25 @@ (module ;; CHECK: (rec - ;; CHECK-NEXT: (type $ref|noextern|_=>_none (func (param (ref noextern)))) + ;; CHECK-NEXT: (type $0 (func (param (ref noextern)))) - ;; CHECK: (type $ref|none|_ref|noextern|_=>_none (func (param (ref none) (ref noextern)))) + ;; CHECK: (type $1 (func (param (ref none) (ref noextern)))) - ;; CHECK: (type $ref|$A|_externref_=>_none (func (param (ref $A) externref))) + ;; CHECK: (type $2 (func (param (ref $A) externref))) ;; CHECK: (type $A (struct (field (mut (ref noextern))))) (type $A (struct (field (mut externref)))) - ;; CHECK: (type $externref_=>_anyref (func (param externref) (result anyref))) + ;; CHECK: (type $4 (func (param externref) (result anyref))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $5 (func)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $6 (func)) ;; CHECK: (tag $tag (param)) (tag $tag) - ;; CHECK: (func $struct.new (type $externref_=>_anyref) (param $extern externref) (result anyref) + ;; CHECK: (func $struct.new (type $4) (param $extern externref) (result anyref) ;; CHECK-NEXT: (struct.new $A ;; CHECK-NEXT: (ref.cast (ref noextern) ;; CHECK-NEXT: (try $try (result externref) @@ -1294,7 +1294,7 @@ ) ) - ;; CHECK: (func $struct.set (type $ref|$A|_externref_=>_none) (param $ref (ref $A)) (param $extern externref) + ;; CHECK: (func $struct.set (type $2) (param $ref (ref $A)) (param $extern externref) ;; CHECK-NEXT: (struct.set $A 0 ;; CHECK-NEXT: (local.get $ref) ;; CHECK-NEXT: (ref.cast (ref noextern) @@ -1335,7 +1335,7 @@ ) ) - ;; CHECK: (func $bottom.type (type $ref|none|_ref|noextern|_=>_none) (param $ref (ref none)) (param $value (ref noextern)) + ;; CHECK: (func $bottom.type (type $1) (param $ref (ref none)) (param $value (ref noextern)) ;; CHECK-NEXT: (block ;; (replaces something unreachable we can't emit) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (local.get $ref) @@ -1354,7 +1354,7 @@ ) ) - ;; CHECK: (func $unreachable (type $ref|noextern|_=>_none) (param $value (ref noextern)) + ;; CHECK: (func $unreachable (type $0) (param $value (ref noextern)) ;; CHECK-NEXT: (block ;; (replaces something unreachable we can't emit) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (unreachable) diff --git a/test/lit/passes/type-ssa.wast b/test/lit/passes/type-ssa.wast index f5572ab4a..f9fb5eb26 100644 --- a/test/lit/passes/type-ssa.wast +++ b/test/lit/passes/type-ssa.wast @@ -10,7 +10,7 @@ ;; CHECK: (type $struct (struct (field i32))) (type $struct (struct_subtype (field i32) data)) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) ;; CHECK: (rec ;; CHECK-NEXT: (type $struct$1 (sub $struct (struct (field i32)))) @@ -37,7 +37,7 @@ (i32.const 42) )) - ;; CHECK: (func $foo (type $none_=>_none) + ;; CHECK: (func $foo (type $1) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new_default $struct$1) ;; CHECK-NEXT: ) @@ -58,7 +58,7 @@ ) ) - ;; CHECK: (func $another-func (type $none_=>_none) + ;; CHECK: (func $another-func (type $1) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $struct$3 ;; CHECK-NEXT: (i32.const 100) @@ -80,7 +80,7 @@ ;; CHECK: (type $struct (sub final (struct (field i32)))) (type $struct (sub final (struct (field i32)))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $1 (func)) ;; CHECK: (global $g (ref $struct) (struct.new $struct ;; CHECK-NEXT: (i32.const 42) @@ -96,7 +96,7 @@ (i32.const 42) )) - ;; CHECK: (func $foo (type $none_=>_none) + ;; CHECK: (func $foo (type $1) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new_default $struct) ;; CHECK-NEXT: ) @@ -117,7 +117,7 @@ ) ) - ;; CHECK: (func $another-func (type $none_=>_none) + ;; CHECK: (func $another-func (type $1) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $struct ;; CHECK-NEXT: (i32.const 100) @@ -136,7 +136,7 @@ ;; Some of these are uninteresting and should not get a new type. (module - ;; CHECK: (type $anyref_arrayref_=>_none (func (param anyref arrayref))) + ;; CHECK: (type $0 (func (param anyref arrayref))) ;; CHECK: (type $struct (struct (field anyref))) (type $struct (struct_subtype (field (ref null any)) data)) @@ -148,7 +148,7 @@ ;; CHECK: (type $struct$3 (sub $struct (struct (field anyref)))) - ;; CHECK: (func $foo (type $anyref_arrayref_=>_none) (param $any anyref) (param $array arrayref) + ;; CHECK: (func $foo (type $0) (param $any anyref) (param $array arrayref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new_default $struct$1) ;; CHECK-NEXT: ) @@ -211,7 +211,7 @@ ;; CHECK: (type $array (array (mut anyref))) (type $array (array (mut (ref null any)))) - ;; CHECK: (type $ref|i31|_anyref_=>_none (func (param (ref i31) anyref))) + ;; CHECK: (type $1 (func (param (ref i31) anyref))) ;; CHECK: (type $array-func (array (mut funcref))) (type $array-func (array (mut funcref))) @@ -231,11 +231,11 @@ ;; CHECK: (type $array$6 (sub $array (array (mut anyref)))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $9 (func)) ;; CHECK: (elem $0 func $array.new) - ;; CHECK: (func $array.new (type $ref|i31|_anyref_=>_none) (param $refined (ref i31)) (param $null-any anyref) + ;; CHECK: (func $array.new (type $1) (param $refined (ref i31)) (param $null-any anyref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (array.new_default $array$1 ;; CHECK-NEXT: (i32.const 5) @@ -290,7 +290,7 @@ ) ) - ;; CHECK: (func $array.new_seg (type $none_=>_none) + ;; CHECK: (func $array.new_seg (type $9) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (array.new_elem $array-func$4 $0 ;; CHECK-NEXT: (i32.const 0) @@ -309,7 +309,7 @@ ) ) - ;; CHECK: (func $array.new_fixed (type $ref|i31|_anyref_=>_none) (param $refined (ref i31)) (param $null-any anyref) + ;; CHECK: (func $array.new_fixed (type $1) (param $refined (ref i31)) (param $null-any anyref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (array.new_fixed $array$5 1 ;; CHECK-NEXT: (ref.null none) @@ -374,7 +374,7 @@ ;; CHECK: (type $empty$1 (sub $empty (struct ))) - ;; CHECK: (type $anyref_=>_none (func (param anyref))) + ;; CHECK: (type $2 (func (param anyref))) ;; CHECK: (type $struct (struct (field externref) (field anyref) (field externref))) (type $struct (struct externref anyref externref)) @@ -382,7 +382,7 @@ ;; CHECK: (global $g (mut anyref) (struct.new_default $empty$1)) (global $g (mut anyref) (struct.new $empty)) - ;; CHECK: (func $0 (type $anyref_=>_none) (param $param anyref) + ;; CHECK: (func $0 (type $2) (param $param anyref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (struct.new $struct ;; CHECK-NEXT: (extern.externalize @@ -428,14 +428,14 @@ ;; CHECK: (type $subarray (sub $array (array (mut f32)))) (type $subarray (array_subtype (mut f32) $array)) - ;; CHECK: (type $ref|$subarray|_=>_none (func (param (ref $subarray)))) + ;; CHECK: (type $2 (func (param (ref $subarray)))) ;; CHECK: (rec ;; CHECK-NEXT: (type $array$1 (sub $array (array (mut f32)))) - ;; CHECK: (type ${mut:i32_mut:i32_mut:f64_mut:f64_mut:i32_mut:f64_mut:f64_mut:i32_mut:i32_mut:i32_mut:i32} (struct (field (mut i32)) (field (mut i32)) (field (mut f64)) (field (mut f64)) (field (mut i32)) (field (mut f64)) (field (mut f64)) (field (mut i32)) (field (mut i32)) (field (mut i32)) (field (mut i32)))) + ;; CHECK: (type $4 (struct (field (mut i32)) (field (mut i32)) (field (mut f64)) (field (mut f64)) (field (mut i32)) (field (mut f64)) (field (mut f64)) (field (mut i32)) (field (mut i32)) (field (mut i32)) (field (mut i32)))) - ;; CHECK: (func $1 (type $ref|$subarray|_=>_none) (param $ref (ref $subarray)) + ;; CHECK: (func $1 (type $2) (param $ref (ref $subarray)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (array.new_default $array$1 ;; CHECK-NEXT: (i32.const 64) @@ -460,9 +460,9 @@ ;; CHECK: (type $A$1 (sub $A (struct ))) - ;; CHECK: (type $none_=>_ref|$A| (func (result (ref $A)))) + ;; CHECK: (type $2 (func (result (ref $A)))) - ;; CHECK: (func $0 (type $none_=>_ref|$A|) (result (ref $A)) + ;; CHECK: (func $0 (type $2) (result (ref $A)) ;; CHECK-NEXT: (block $label (result (ref $A$1)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (br_on_cast $label (ref $A$1) (ref $A$1) diff --git a/test/lit/passes/type-ssa_and_merging.wast b/test/lit/passes/type-ssa_and_merging.wast index 9bab2bc27..63c0b86f2 100644 --- a/test/lit/passes/type-ssa_and_merging.wast +++ b/test/lit/passes/type-ssa_and_merging.wast @@ -8,32 +8,32 @@ (module ;; NOP: (rec - ;; NOP-NEXT: (type $ref|$A|_=>_i32 (func (param (ref $A)) (result i32))) + ;; NOP-NEXT: (type $0 (func (param (ref $A)) (result i32))) ;; NOP: (type $A (struct (field i32))) - ;; YES: (type $none_=>_i32 (func (result i32))) + ;; YES: (type $0 (func (result i32))) ;; YES: (rec - ;; YES-NEXT: (type $ref|$A|_=>_none (func (param (ref $A)))) + ;; YES-NEXT: (type $1 (func (param (ref $A)))) ;; YES: (type $A (struct )) (type $A (struct_subtype (field (mut i32)) data)) - ;; NOP: (type $none_=>_i32 (func (result i32))) + ;; NOP: (type $2 (func (result i32))) - ;; NOP: (import "a" "b" (func $import (type $none_=>_i32) (result i32))) + ;; NOP: (import "a" "b" (func $import (type $2) (result i32))) ;; YES: (type $A$2 (sub $A (struct ))) ;; YES: (type $A$1 (sub $A (struct ))) - ;; YES: (import "a" "b" (func $import (type $none_=>_i32) (result i32))) + ;; YES: (import "a" "b" (func $import (type $0) (result i32))) (import "a" "b" (func $import (result i32))) ;; NOP: (export "main1" (func $main1)) ;; NOP: (export "main2" (func $main2)) - ;; NOP: (func $main1 (type $none_=>_i32) (; has Stack IR ;) (result i32) + ;; NOP: (func $main1 (type $2) (; has Stack IR ;) (result i32) ;; NOP-NEXT: (call $get-a-1 ;; NOP-NEXT: (struct.new $A ;; NOP-NEXT: (i32.const 42) @@ -44,7 +44,7 @@ ;; YES: (export "main2" (func $main2)) - ;; YES: (func $main1 (type $none_=>_i32) (result i32) + ;; YES: (func $main1 (type $0) (result i32) ;; YES-NEXT: (call $get-a-1 ;; YES-NEXT: (struct.new_default $A) ;; YES-NEXT: ) @@ -57,14 +57,14 @@ ) ) - ;; NOP: (func $main2 (type $none_=>_i32) (; has Stack IR ;) (result i32) + ;; NOP: (func $main2 (type $2) (; has Stack IR ;) (result i32) ;; NOP-NEXT: (call $get-a-2 ;; NOP-NEXT: (struct.new $A ;; NOP-NEXT: (i32.const 1337) ;; NOP-NEXT: ) ;; NOP-NEXT: ) ;; NOP-NEXT: ) - ;; YES: (func $main2 (type $none_=>_i32) (result i32) + ;; YES: (func $main2 (type $0) (result i32) ;; YES-NEXT: (call $get-a-2 ;; YES-NEXT: (struct.new_default $A) ;; YES-NEXT: ) @@ -77,7 +77,7 @@ ) ) - ;; NOP: (func $get-a-1 (type $ref|$A|_=>_i32) (; has Stack IR ;) (param $0 (ref $A)) (result i32) + ;; NOP: (func $get-a-1 (type $0) (; has Stack IR ;) (param $0 (ref $A)) (result i32) ;; NOP-NEXT: (if ;; NOP-NEXT: (call $import) ;; NOP-NEXT: (return @@ -90,7 +90,7 @@ ;; NOP-NEXT: (local.get $0) ;; NOP-NEXT: ) ;; NOP-NEXT: ) - ;; YES: (func $get-a-1 (type $ref|$A|_=>_none) (param $0 (ref $A)) + ;; YES: (func $get-a-1 (type $1) (param $0 (ref $A)) ;; YES-NEXT: (if ;; YES-NEXT: (call $import) ;; YES-NEXT: (call $get-a-1 @@ -113,7 +113,7 @@ (struct.get $A 0 (local.get 0)) ) - ;; NOP: (func $get-a-2 (type $ref|$A|_=>_i32) (; has Stack IR ;) (param $0 (ref $A)) (result i32) + ;; NOP: (func $get-a-2 (type $0) (; has Stack IR ;) (param $0 (ref $A)) (result i32) ;; NOP-NEXT: (if ;; NOP-NEXT: (call $import) ;; NOP-NEXT: (return @@ -126,7 +126,7 @@ ;; NOP-NEXT: (local.get $0) ;; NOP-NEXT: ) ;; NOP-NEXT: ) - ;; YES: (func $get-a-2 (type $ref|$A|_=>_none) (param $0 (ref $A)) + ;; YES: (func $get-a-2 (type $1) (param $0 (ref $A)) ;; YES-NEXT: (if ;; YES-NEXT: (call $import) ;; YES-NEXT: (call $get-a-2 diff --git a/test/lit/passes/untee.wast b/test/lit/passes/untee.wast index 40e6235e6..2b628d328 100644 --- a/test/lit/passes/untee.wast +++ b/test/lit/passes/untee.wast @@ -4,7 +4,7 @@ ;; RUN: foreach %s %t wasm-opt --untee -S -o - | filecheck %s (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (func $tee ;; CHECK-NEXT: (local $x i32) diff --git a/test/lit/passes/vacuum-eh.wast b/test/lit/passes/vacuum-eh.wast index 0030d928c..b6b4629cd 100644 --- a/test/lit/passes/vacuum-eh.wast +++ b/test/lit/passes/vacuum-eh.wast @@ -7,7 +7,7 @@ ;; CHECK: (tag $e2 (param i32)) (tag $e2 (param i32)) - ;; CHECK: (func $try-test (type $none_=>_none) + ;; CHECK: (func $try-test (type $0) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $try-test @@ -22,7 +22,7 @@ ) ) - ;; CHECK: (func $inner-try-catch_all-test (type $none_=>_i32) (result i32) + ;; CHECK: (func $inner-try-catch_all-test (type $2) (result i32) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (try $try0 ;; CHECK-NEXT: (do @@ -60,7 +60,7 @@ (i32.const 2) ) - ;; CHECK: (func $inner-try-catch-test (type $none_=>_none) + ;; CHECK: (func $inner-try-catch-test (type $0) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (try $try ;; CHECK-NEXT: (do @@ -108,7 +108,7 @@ ) ) - ;; CHECK: (func $br-in-catch (type $none_=>_none) + ;; CHECK: (func $br-in-catch (type $0) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) (func $br-in-catch @@ -128,7 +128,7 @@ ) ) - ;; CHECK: (func $try-delegate-outer-target (type $none_=>_none) + ;; CHECK: (func $try-delegate-outer-target (type $0) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (try $label$0 ;; CHECK-NEXT: (do @@ -179,7 +179,7 @@ ) ) - ;; CHECK: (func $trivial-catch-all-of-throw (type $none_=>_none) + ;; CHECK: (func $trivial-catch-all-of-throw (type $0) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (try $try3 ;; CHECK-NEXT: (do diff --git a/test/lit/passes/vacuum-func.wast b/test/lit/passes/vacuum-func.wast index ba16a1a83..6f93e4002 100644 --- a/test/lit/passes/vacuum-func.wast +++ b/test/lit/passes/vacuum-func.wast @@ -5,7 +5,7 @@ ;; effects like a return or changes to locals. (module - ;; CHECK: (func $optimizable (type $i32_=>_none) (param $x i32) + ;; CHECK: (func $optimizable (type $0) (param $x i32) ;; CHECK-NEXT: (local $y i32) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) @@ -26,7 +26,7 @@ (return) ) - ;; CHECK: (func $result (type $i32_=>_i32) (param $x i32) (result i32) + ;; CHECK: (func $result (type $1) (param $x i32) (result i32) ;; CHECK-NEXT: (local $y i32) ;; CHECK-NEXT: (local.set $x ;; CHECK-NEXT: (i32.const 1) @@ -55,7 +55,7 @@ ) ) - ;; CHECK: (func $partial (type $i32_=>_none) (param $x i32) + ;; CHECK: (func $partial (type $0) (param $x i32) ;; CHECK-NEXT: (local $y i32) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $x) diff --git a/test/lit/passes/vacuum-gc.wast b/test/lit/passes/vacuum-gc.wast index f2e2972f5..be49bf1cf 100644 --- a/test/lit/passes/vacuum-gc.wast +++ b/test/lit/passes/vacuum-gc.wast @@ -4,14 +4,14 @@ (module ;; CHECK: (type ${} (struct )) - ;; CHECK: (import "binaryen-intrinsics" "call.without.effects" (func $call.without.effects (type $i32_i32_funcref_=>_anyref) (param i32 i32 funcref) (result anyref))) + ;; CHECK: (import "binaryen-intrinsics" "call.without.effects" (func $call.without.effects (type $2) (param i32 i32 funcref) (result anyref))) (import "binaryen-intrinsics" "call.without.effects" (func $call.without.effects (param i32 i32 funcref) (result (ref null any)))) - ;; CHECK: (import "binaryen-intrinsics" "call.without.effects" (func $call.without.effects.non.null (type $i32_i32_funcref_=>_ref|any|) (param i32 i32 funcref) (result (ref any)))) + ;; CHECK: (import "binaryen-intrinsics" "call.without.effects" (func $call.without.effects.non.null (type $3) (param i32 i32 funcref) (result (ref any)))) (import "binaryen-intrinsics" "call.without.effects" (func $call.without.effects.non.null (param i32 i32 funcref) (result (ref any)))) (type ${} (struct)) - ;; CHECK: (func $drop-ref-as (type $anyref_=>_none) (param $x anyref) + ;; CHECK: (func $drop-ref-as (type $4) (param $x anyref) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (ref.as_non_null ;; CHECK-NEXT: (local.get $x) @@ -38,7 +38,7 @@ ) ) - ;; CHECK: (func $vacuum-nonnull (type $none_=>_none) + ;; CHECK: (func $vacuum-nonnull (type $0) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $vacuum-nonnull @@ -59,7 +59,7 @@ ) ) - ;; CHECK: (func $drop-i31.get (type $i31ref_ref|i31|_=>_none) (param $ref i31ref) (param $ref-nn (ref i31)) + ;; CHECK: (func $drop-i31.get (type $5) (param $ref i31ref) (param $ref-nn (ref i31)) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i31.get_s ;; CHECK-NEXT: (local.get $ref) @@ -80,7 +80,7 @@ ) ) - ;; CHECK: (func $ref.cast.null.block (type $ref|${}|_=>_structref) (param $ref (ref ${})) (result structref) + ;; CHECK: (func $ref.cast.null.block (type $6) (param $ref (ref ${})) (result structref) ;; CHECK-NEXT: (ref.cast (ref ${}) ;; CHECK-NEXT: (local.get $ref) ;; CHECK-NEXT: ) @@ -97,7 +97,7 @@ ) ) - ;; CHECK: (func $dropped-calls (type $none_=>_none) + ;; CHECK: (func $dropped-calls (type $0) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $helper-i32) @@ -166,28 +166,28 @@ ) ) - ;; CHECK: (func $helper-i32 (type $none_=>_i32) (result i32) + ;; CHECK: (func $helper-i32 (type $7) (result i32) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) (func $helper-i32 (result i32) (i32.const 1) ) - ;; CHECK: (func $helper-ref (type $none_=>_eqref) (result eqref) + ;; CHECK: (func $helper-ref (type $8) (result eqref) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) (func $helper-ref (result eqref) (unreachable) ) - ;; CHECK: (func $helper-two-refs (type $i32_i32_=>_anyref) (param $0 i32) (param $1 i32) (result anyref) + ;; CHECK: (func $helper-two-refs (type $9) (param $0 i32) (param $1 i32) (result anyref) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) (func $helper-two-refs (param i32) (param i32) (result (ref null any)) (unreachable) ) - ;; CHECK: (func $helper-two-refs-non-null (type $i32_i32_=>_ref|any|) (param $0 i32) (param $1 i32) (result (ref any)) + ;; CHECK: (func $helper-two-refs-non-null (type $10) (param $0 i32) (param $1 i32) (result (ref any)) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) (func $helper-two-refs-non-null (param i32) (param i32) (result (ref any)) diff --git a/test/lit/passes/vacuum-global-effects.wast b/test/lit/passes/vacuum-global-effects.wast index 1bd44ce17..46468b268 100644 --- a/test/lit/passes/vacuum-global-effects.wast +++ b/test/lit/passes/vacuum-global-effects.wast @@ -2,14 +2,14 @@ ;; RUN: wasm-opt %s --generate-global-effects --vacuum -all -S -o - | filecheck %s (module - ;; CHECK: (func $nop (type $i32_=>_none) (param $0 i32) + ;; CHECK: (func $nop (type $0) (param $0 i32) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $nop (param $0 i32) (nop) ) - ;; CHECK: (func $test (type $none_=>_none) + ;; CHECK: (func $test (type $1) ;; CHECK-NEXT: (local $x i32) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) diff --git a/test/lit/passes/vacuum-intrinsics.wast b/test/lit/passes/vacuum-intrinsics.wast index 91c24f553..6b0654fb7 100644 --- a/test/lit/passes/vacuum-intrinsics.wast +++ b/test/lit/passes/vacuum-intrinsics.wast @@ -2,16 +2,16 @@ ;; RUN: wasm-opt %s --vacuum -all -S -o - | filecheck %s (module - ;; CHECK: (import "binaryen-intrinsics" "call.without.effects" (func $call.without.effects (type $funcref_=>_i32) (param funcref) (result i32))) + ;; CHECK: (import "binaryen-intrinsics" "call.without.effects" (func $call.without.effects (type $2) (param funcref) (result i32))) (import "binaryen-intrinsics" "call.without.effects" (func $call.without.effects (param funcref) (result i32))) - ;; CHECK: (import "binaryen-intrinsics" "call.without.effects" (func $call.without.effects-fj (type $f32_funcref_=>_i64) (param f32 funcref) (result i64))) + ;; CHECK: (import "binaryen-intrinsics" "call.without.effects" (func $call.without.effects-fj (type $3) (param f32 funcref) (result i64))) (import "binaryen-intrinsics" "call.without.effects" (func $call.without.effects-fj (param f32) (param funcref) (result i64))) - ;; CHECK: (import "binaryen-intrinsics" "call.without.effects" (func $call.without.effects-ref (type $funcref_=>_ref|any|) (param funcref) (result (ref any)))) + ;; CHECK: (import "binaryen-intrinsics" "call.without.effects" (func $call.without.effects-ref (type $4) (param funcref) (result (ref any)))) (import "binaryen-intrinsics" "call.without.effects" (func $call.without.effects-ref (param funcref) (result (ref any)))) - ;; CHECK: (func $used (type $none_=>_i32) (result i32) + ;; CHECK: (func $used (type $1) (result i32) ;; CHECK-NEXT: (local $i32 i32) ;; CHECK-NEXT: (local.set $i32 ;; CHECK-NEXT: (call $call.without.effects @@ -29,7 +29,7 @@ (local.get $i32) ) - ;; CHECK: (func $unused (type $none_=>_none) + ;; CHECK: (func $unused (type $0) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $unused @@ -39,7 +39,7 @@ ) ) - ;; CHECK: (func $unused-fj (type $none_=>_none) + ;; CHECK: (func $unused-fj (type $0) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $unused-fj @@ -49,7 +49,7 @@ ) ) - ;; CHECK: (func $unused-fj-side-effects (type $none_=>_f32) (result f32) + ;; CHECK: (func $unused-fj-side-effects (type $5) (result f32) ;; CHECK-NEXT: (local $f32 f32) ;; CHECK-NEXT: (local.set $f32 ;; CHECK-NEXT: (f32.const 2.718280076980591) @@ -71,7 +71,7 @@ (local.get $f32) ) - ;; CHECK: (func $unused-unreachable (type $none_=>_none) + ;; CHECK: (func $unused-unreachable (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $call.without.effects-fj ;; CHECK-NEXT: (unreachable) @@ -87,7 +87,7 @@ ) ) - ;; CHECK: (func $used-fallthrough (type $none_=>_none) + ;; CHECK: (func $used-fallthrough (type $0) ;; CHECK-NEXT: (local $i32 i32) ;; CHECK-NEXT: (local.set $i32 ;; CHECK-NEXT: (if (result i32) @@ -136,7 +136,7 @@ ) ) - ;; CHECK: (func $unused-fallthrough (type $none_=>_none) + ;; CHECK: (func $unused-fallthrough (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (if (result i32) ;; CHECK-NEXT: (block $condition (result i32) @@ -177,7 +177,7 @@ ) ) - ;; CHECK: (func $unused-fallthrough-bad-type (type $none_=>_none) + ;; CHECK: (func $unused-fallthrough-bad-type (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (if (result (ref any)) ;; CHECK-NEXT: (call $i) @@ -202,7 +202,7 @@ ) ) - ;; CHECK: (func $i (type $none_=>_i32) (result i32) + ;; CHECK: (func $i (type $1) (result i32) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) (func $i (result i32) @@ -210,7 +210,7 @@ (unreachable) ) - ;; CHECK: (func $fj (type $f32_=>_i64) (param $0 f32) (result i64) + ;; CHECK: (func $fj (type $6) (param $0 f32) (result i64) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) (func $fj (param f32) (result i64) @@ -218,7 +218,7 @@ (unreachable) ) - ;; CHECK: (func $ref (type $none_=>_ref|any|) (result (ref any)) + ;; CHECK: (func $ref (type $7) (result (ref any)) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) (func $ref (result (ref any)) @@ -227,7 +227,7 @@ ) - ;; CHECK: (func $nop (type $none_=>_none) + ;; CHECK: (func $nop (type $0) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $nop diff --git a/test/lit/passes/vacuum-tnh.wast b/test/lit/passes/vacuum-tnh.wast index bccfa02f4..f6d30a2c5 100644 --- a/test/lit/passes/vacuum-tnh.wast +++ b/test/lit/passes/vacuum-tnh.wast @@ -18,10 +18,10 @@ (type $struct (struct (field (mut i32)))) - ;; YESTNH: (func $drop (type $i32_anyref_=>_none) (param $x i32) (param $y anyref) + ;; YESTNH: (func $drop (type $4) (param $x i32) (param $y anyref) ;; YESTNH-NEXT: (nop) ;; YESTNH-NEXT: ) - ;; NO_TNH: (func $drop (type $i32_anyref_=>_none) (param $x i32) (param $y anyref) + ;; NO_TNH: (func $drop (type $4) (param $x i32) (param $y anyref) ;; NO_TNH-NEXT: (drop ;; NO_TNH-NEXT: (i32.load ;; NO_TNH-NEXT: (local.get $x) @@ -69,7 +69,7 @@ ) ;; Other side effects prevent us making any changes. - ;; YESTNH: (func $other-side-effects (type $i32_=>_i32) (param $x i32) (result i32) + ;; YESTNH: (func $other-side-effects (type $3) (param $x i32) (result i32) ;; YESTNH-NEXT: (drop ;; YESTNH-NEXT: (call $other-side-effects ;; YESTNH-NEXT: (i32.const 1) @@ -80,7 +80,7 @@ ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: (i32.const 1) ;; YESTNH-NEXT: ) - ;; NO_TNH: (func $other-side-effects (type $i32_=>_i32) (param $x i32) (result i32) + ;; NO_TNH: (func $other-side-effects (type $3) (param $x i32) (result i32) ;; NO_TNH-NEXT: (drop ;; NO_TNH-NEXT: (call $other-side-effects ;; NO_TNH-NEXT: (i32.const 1) @@ -117,15 +117,15 @@ ) ;; A helper function for the above, that returns nothing. - ;; YESTNH: (func $return-nothing (type $none_=>_none) + ;; YESTNH: (func $return-nothing (type $1) ;; YESTNH-NEXT: (nop) ;; YESTNH-NEXT: ) - ;; NO_TNH: (func $return-nothing (type $none_=>_none) + ;; NO_TNH: (func $return-nothing (type $1) ;; NO_TNH-NEXT: (nop) ;; NO_TNH-NEXT: ) (func $return-nothing) - ;; YESTNH: (func $partial (type $ref|$struct|_=>_ref?|$struct|) (param $x (ref $struct)) (result (ref null $struct)) + ;; YESTNH: (func $partial (type $5) (param $x (ref $struct)) (result (ref null $struct)) ;; YESTNH-NEXT: (local $y (ref null $struct)) ;; YESTNH-NEXT: (local.set $y ;; YESTNH-NEXT: (local.get $x) @@ -135,7 +135,7 @@ ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: (local.get $y) ;; YESTNH-NEXT: ) - ;; NO_TNH: (func $partial (type $ref|$struct|_=>_ref?|$struct|) (param $x (ref $struct)) (result (ref null $struct)) + ;; NO_TNH: (func $partial (type $5) (param $x (ref $struct)) (result (ref null $struct)) ;; NO_TNH-NEXT: (local $y (ref null $struct)) ;; NO_TNH-NEXT: (drop ;; NO_TNH-NEXT: (struct.get $struct 0 @@ -179,10 +179,10 @@ (local.get $y) ) - ;; YESTNH: (func $toplevel (type $none_=>_none) + ;; YESTNH: (func $toplevel (type $1) ;; YESTNH-NEXT: (nop) ;; YESTNH-NEXT: ) - ;; NO_TNH: (func $toplevel (type $none_=>_none) + ;; NO_TNH: (func $toplevel (type $1) ;; NO_TNH-NEXT: (unreachable) ;; NO_TNH-NEXT: ) (func $toplevel @@ -191,7 +191,7 @@ (unreachable) ) - ;; YESTNH: (func $drop-loop (type $none_=>_none) + ;; YESTNH: (func $drop-loop (type $1) ;; YESTNH-NEXT: (drop ;; YESTNH-NEXT: (loop $loop (result i32) ;; YESTNH-NEXT: (br_if $loop @@ -201,7 +201,7 @@ ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: ) - ;; NO_TNH: (func $drop-loop (type $none_=>_none) + ;; NO_TNH: (func $drop-loop (type $1) ;; NO_TNH-NEXT: (drop ;; NO_TNH-NEXT: (loop $loop (result i32) ;; NO_TNH-NEXT: (br_if $loop @@ -224,7 +224,7 @@ ) ) - ;; YESTNH: (func $loop-effects (type $none_=>_none) + ;; YESTNH: (func $loop-effects (type $1) ;; YESTNH-NEXT: (drop ;; YESTNH-NEXT: (loop $loop (result i32) ;; YESTNH-NEXT: (drop @@ -239,7 +239,7 @@ ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: ) - ;; NO_TNH: (func $loop-effects (type $none_=>_none) + ;; NO_TNH: (func $loop-effects (type $1) ;; NO_TNH-NEXT: (drop ;; NO_TNH-NEXT: (loop $loop (result i32) ;; NO_TNH-NEXT: (drop @@ -272,7 +272,7 @@ ) ) - ;; YESTNH: (func $if-unreachable (type $i32_=>_none) (param $p i32) + ;; YESTNH: (func $if-unreachable (type $0) (param $p i32) ;; YESTNH-NEXT: (drop ;; YESTNH-NEXT: (local.get $p) ;; YESTNH-NEXT: ) @@ -290,7 +290,7 @@ ;; YESTNH-NEXT: (unreachable) ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: ) - ;; NO_TNH: (func $if-unreachable (type $i32_=>_none) (param $p i32) + ;; NO_TNH: (func $if-unreachable (type $0) (param $p i32) ;; NO_TNH-NEXT: (if ;; NO_TNH-NEXT: (local.get $p) ;; NO_TNH-NEXT: (unreachable) @@ -330,13 +330,13 @@ ) ) - ;; YESTNH: (func $if-unreachable-value (type $i32_=>_i32) (param $p i32) (result i32) + ;; YESTNH: (func $if-unreachable-value (type $3) (param $p i32) (result i32) ;; YESTNH-NEXT: (drop ;; YESTNH-NEXT: (local.get $p) ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: (i32.const 1) ;; YESTNH-NEXT: ) - ;; NO_TNH: (func $if-unreachable-value (type $i32_=>_i32) (param $p i32) (result i32) + ;; NO_TNH: (func $if-unreachable-value (type $3) (param $p i32) (result i32) ;; NO_TNH-NEXT: (if (result i32) ;; NO_TNH-NEXT: (local.get $p) ;; NO_TNH-NEXT: (unreachable) @@ -353,13 +353,13 @@ ) ) - ;; YESTNH: (func $if-unreachable-value-2 (type $i32_=>_i32) (param $p i32) (result i32) + ;; YESTNH: (func $if-unreachable-value-2 (type $3) (param $p i32) (result i32) ;; YESTNH-NEXT: (drop ;; YESTNH-NEXT: (local.get $p) ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: (i32.const 1) ;; YESTNH-NEXT: ) - ;; NO_TNH: (func $if-unreachable-value-2 (type $i32_=>_i32) (param $p i32) (result i32) + ;; NO_TNH: (func $if-unreachable-value-2 (type $3) (param $p i32) (result i32) ;; NO_TNH-NEXT: (if (result i32) ;; NO_TNH-NEXT: (local.get $p) ;; NO_TNH-NEXT: (i32.const 1) @@ -375,7 +375,7 @@ ) ) - ;; YESTNH: (func $block-unreachable (type $i32_=>_none) (param $p i32) + ;; YESTNH: (func $block-unreachable (type $0) (param $p i32) ;; YESTNH-NEXT: (if ;; YESTNH-NEXT: (local.get $p) ;; YESTNH-NEXT: (block @@ -391,7 +391,7 @@ ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: ) - ;; NO_TNH: (func $block-unreachable (type $i32_=>_none) (param $p i32) + ;; NO_TNH: (func $block-unreachable (type $0) (param $p i32) ;; NO_TNH-NEXT: (if ;; NO_TNH-NEXT: (local.get $p) ;; NO_TNH-NEXT: (block @@ -434,7 +434,7 @@ ) ) - ;; YESTNH: (func $block-unreachable-named (type $i32_=>_none) (param $p i32) + ;; YESTNH: (func $block-unreachable-named (type $0) (param $p i32) ;; YESTNH-NEXT: (if ;; YESTNH-NEXT: (local.get $p) ;; YESTNH-NEXT: (block $named @@ -449,7 +449,7 @@ ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: ) - ;; NO_TNH: (func $block-unreachable-named (type $i32_=>_none) (param $p i32) + ;; NO_TNH: (func $block-unreachable-named (type $0) (param $p i32) ;; NO_TNH-NEXT: (if ;; NO_TNH-NEXT: (local.get $p) ;; NO_TNH-NEXT: (block $named @@ -490,10 +490,10 @@ ) ) - ;; YESTNH: (func $block-unreachable-all (type $i32_=>_none) (param $p i32) + ;; YESTNH: (func $block-unreachable-all (type $0) (param $p i32) ;; YESTNH-NEXT: (nop) ;; YESTNH-NEXT: ) - ;; NO_TNH: (func $block-unreachable-all (type $i32_=>_none) (param $p i32) + ;; NO_TNH: (func $block-unreachable-all (type $0) (param $p i32) ;; NO_TNH-NEXT: (if ;; NO_TNH-NEXT: (local.get $p) ;; NO_TNH-NEXT: (block @@ -528,7 +528,7 @@ ) ) - ;; YESTNH: (func $block-unreachable-but-call (type $none_=>_none) + ;; YESTNH: (func $block-unreachable-but-call (type $1) ;; YESTNH-NEXT: (i32.store ;; YESTNH-NEXT: (i32.const 0) ;; YESTNH-NEXT: (i32.const 1) @@ -536,7 +536,7 @@ ;; YESTNH-NEXT: (call $block-unreachable-but-call) ;; YESTNH-NEXT: (unreachable) ;; YESTNH-NEXT: ) - ;; NO_TNH: (func $block-unreachable-but-call (type $none_=>_none) + ;; NO_TNH: (func $block-unreachable-but-call (type $1) ;; NO_TNH-NEXT: (i32.store ;; NO_TNH-NEXT: (i32.const 0) ;; NO_TNH-NEXT: (i32.const 1) @@ -564,7 +564,7 @@ (unreachable) ) - ;; YESTNH: (func $catch-pop (type $none_=>_none) + ;; YESTNH: (func $catch-pop (type $1) ;; YESTNH-NEXT: (try $try ;; YESTNH-NEXT: (do ;; YESTNH-NEXT: (call $catch-pop) @@ -577,7 +577,7 @@ ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: ) - ;; NO_TNH: (func $catch-pop (type $none_=>_none) + ;; NO_TNH: (func $catch-pop (type $1) ;; NO_TNH-NEXT: (try $try ;; NO_TNH-NEXT: (do ;; NO_TNH-NEXT: (call $catch-pop) @@ -617,7 +617,7 @@ ) ) - ;; YESTNH: (func $loop-unreachable (type $i32_=>_none) (param $p i32) + ;; YESTNH: (func $loop-unreachable (type $0) (param $p i32) ;; YESTNH-NEXT: (loop $loop ;; YESTNH-NEXT: (i32.store ;; YESTNH-NEXT: (i32.const 0) @@ -630,7 +630,7 @@ ;; YESTNH-NEXT: (unreachable) ;; YESTNH-NEXT: ) ;; YESTNH-NEXT: ) - ;; NO_TNH: (func $loop-unreachable (type $i32_=>_none) (param $p i32) + ;; NO_TNH: (func $loop-unreachable (type $0) (param $p i32) ;; NO_TNH-NEXT: (loop $loop ;; NO_TNH-NEXT: (i32.store ;; NO_TNH-NEXT: (i32.const 0) diff --git a/test/lit/passes/vacuum_all-features.wast b/test/lit/passes/vacuum_all-features.wast index c312cb448..2465c315c 100644 --- a/test/lit/passes/vacuum_all-features.wast +++ b/test/lit/passes/vacuum_all-features.wast @@ -17,9 +17,9 @@ ;; CHECK: (type $4 (func (param i32 f64 i32 i32))) (type $4 (func (param i32 f64 i32 i32))) (import $int "env" "int" (result i32)) - ;; CHECK: (type $i32_=>_i32 (func (param i32) (result i32))) + ;; CHECK: (type $5 (func (param i32) (result i32))) - ;; CHECK: (type $none_=>_f64 (func (result f64))) + ;; CHECK: (type $6 (func (result f64))) ;; CHECK: (import "env" "int" (func $int (type $3) (result i32))) @@ -660,7 +660,7 @@ ) ) ) - ;; CHECK: (func $if-1-block (type $i32_=>_i32) (param $x i32) (result i32) + ;; CHECK: (func $if-1-block (type $5) (param $x i32) (result i32) ;; CHECK-NEXT: (block $out ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $x) @@ -765,7 +765,7 @@ ) ) ) - ;; CHECK: (func $leave-block-even-if-br-not-taken (type $none_=>_f64) (result f64) + ;; CHECK: (func $leave-block-even-if-br-not-taken (type $6) (result f64) ;; CHECK-NEXT: (block $label$0 ;; CHECK-NEXT: (f64.store align=1 ;; CHECK-NEXT: (i32.const 879179022) @@ -1032,9 +1032,9 @@ ) (module ;; vacuum away a drop on an if where both arms can be vacuumed (memory 1 1) - ;; CHECK: (type $i32_=>_i32 (func (param i32) (result i32))) + ;; CHECK: (type $0 (func (param i32) (result i32))) - ;; CHECK: (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) + ;; CHECK: (type $1 (func (param i32 i32 i32))) ;; CHECK: (global $global$1 (mut i32) (i32.const 0)) (global $global$1 (mut i32) (i32.const 0)) @@ -1042,7 +1042,7 @@ ;; CHECK: (export "compress" (func $3)) - ;; CHECK: (func $_deflate (type $i32_=>_i32) (param $0 i32) (result i32) + ;; CHECK: (func $_deflate (type $0) (param $0 i32) (result i32) ;; CHECK-NEXT: (call $_deflate ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) @@ -1050,7 +1050,7 @@ (func $_deflate (param i32) (result i32) (call $_deflate (local.get $0)) ) - ;; CHECK: (func $_deflateInit2_ (type $i32_=>_i32) (param $0 i32) (result i32) + ;; CHECK: (func $_deflateInit2_ (type $0) (param $0 i32) (result i32) ;; CHECK-NEXT: (call $_deflateInit2_ ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) @@ -1058,7 +1058,7 @@ (func $_deflateInit2_ (param i32) (result i32) (call $_deflateInit2_ (local.get $0)) ) - ;; CHECK: (func $_deflateEnd (type $i32_=>_i32) (param $0 i32) (result i32) + ;; CHECK: (func $_deflateEnd (type $0) (param $0 i32) (result i32) ;; CHECK-NEXT: (call $_deflateEnd ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) @@ -1165,7 +1165,7 @@ ) ) -;; CHECK: (func $3 (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) +;; CHECK: (func $3 (type $1) (param $0 i32) (param $1 i32) (param $2 i32) ;; CHECK-NEXT: (local $3 i32) ;; CHECK-NEXT: (local.set $3 ;; CHECK-NEXT: (global.get $global$1) @@ -1260,9 +1260,9 @@ ;; CHECK-NEXT: ) (module (type $A (struct (field (mut i32)))) - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) - ;; CHECK: (func $foo (type $none_=>_none) + ;; CHECK: (func $foo (type $0) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $foo @@ -1278,11 +1278,11 @@ ) ) (module - ;; CHECK: (type $none_=>_none (func)) + ;; CHECK: (type $0 (func)) ;; CHECK: (global $global$0 (mut i32) (i32.const 10)) (global $global$0 (mut i32) (i32.const 10)) - ;; CHECK: (func $1 (type $none_=>_none) + ;; CHECK: (func $1 (type $0) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) (func $1 |