summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/lit/binary/prototype-nominal-format.test27
-rw-r--r--test/lit/binary/prototype-nominal-format.test.wasmbin211 -> 0 bytes
-rw-r--r--test/lit/exec/no-compare-refs.wast2
-rw-r--r--test/lit/fuzz-types.test (renamed from test/lit/fuzz-types/isorecursive.test)2
-rw-r--r--test/lit/fuzz-types/nominal.test46
-rw-r--r--test/lit/help/wasm-as.test7
-rw-r--r--test/lit/help/wasm-ctor-eval.test7
-rw-r--r--test/lit/help/wasm-dis.test7
-rw-r--r--test/lit/help/wasm-emscripten-finalize.test7
-rw-r--r--test/lit/help/wasm-fuzz-types.test4
-rw-r--r--test/lit/help/wasm-metadce.test7
-rw-r--r--test/lit/help/wasm-opt.test7
-rw-r--r--test/lit/help/wasm-reduce.test7
-rw-r--r--test/lit/help/wasm-split.test7
-rw-r--r--test/lit/help/wasm2js.test7
-rw-r--r--test/lit/isorecursive-good.wast4
-rw-r--r--test/lit/isorecursive-output-ordering.wast4
-rw-r--r--test/lit/isorecursive-singleton-group.wast4
-rw-r--r--test/lit/isorecursive-whole-group.wast6
-rw-r--r--test/lit/nominal-func.wast26
-rw-r--r--test/lit/nominal-named-field.wast30
-rw-r--r--test/lit/nominal-no-gc.wast5
-rw-r--r--test/lit/nominal-to-isorecursive.wast35
-rw-r--r--test/lit/parse-nominal-types-no-sig-sharing.wast41
-rw-r--r--test/lit/passes/signature-refining-isorecursive.wast2
-rw-r--r--test/lit/passes/type-merging.wast2
-rw-r--r--test/lit/passes/type-refining-isorecursive.wast2
-rw-r--r--test/lit/subtypes.wast4
-rw-r--r--test/lit/validation/rec-groups-no-gc.wast2
-rw-r--r--test/lit/validation/supertypes-no-gc.wast2
-rw-r--r--test/lit/wat-kitchen-sink.wast2
-rw-r--r--test/unit/test_passes.py45
32 files changed, 39 insertions, 321 deletions
diff --git a/test/lit/binary/prototype-nominal-format.test b/test/lit/binary/prototype-nominal-format.test
deleted file mode 100644
index 1f9d27951..000000000
--- a/test/lit/binary/prototype-nominal-format.test
+++ /dev/null
@@ -1,27 +0,0 @@
-;; Test the we can properly parse the prototype nominal binary format that we no
-;; longer emit.
-
-;; RUN: wasm-dis %s.wasm -all --nominal | filecheck %s
-
-;; CHECK: (module
-;; CHECK-NEXT: (type $super-struct (struct (field i32)))
-;; CHECK-NEXT: (type $sub-struct (struct (field i32) (field i64)))
-;; CHECK-NEXT: (type $none_=>_ref|$super-struct| (func (result (ref $super-struct))))
-;; CHECK-NEXT: (type $none_=>_ref|$sub-struct| (func (result (ref $sub-struct))))
-;; CHECK-NEXT: (type $none_=>_ref|$super-array| (func (result (ref $super-array))))
-;; CHECK-NEXT: (type $none_=>_ref|$sub-array| (func (result (ref $sub-array))))
-;; CHECK-NEXT: (type $super-array (array (ref $super-struct)))
-;; CHECK-NEXT: (type $sub-array (array (ref $sub-struct)))
-;; CHECK-NEXT: (func $make-super-struct (type $none_=>_ref|$super-struct|) (result (ref $super-struct))
-;; CHECK-NEXT: (call $make-sub-struct)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (func $make-sub-struct (type $none_=>_ref|$sub-struct|) (result (ref $sub-struct))
-;; CHECK-NEXT: (unreachable)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (func $make-super-array (type $none_=>_ref|$super-array|) (result (ref $super-array))
-;; CHECK-NEXT: (call $make-sub-array)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (func $make-sub-array (type $none_=>_ref|$sub-array|) (result (ref $sub-array))
-;; CHECK-NEXT: (unreachable)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
diff --git a/test/lit/binary/prototype-nominal-format.test.wasm b/test/lit/binary/prototype-nominal-format.test.wasm
deleted file mode 100644
index 97485ae4f..000000000
--- a/test/lit/binary/prototype-nominal-format.test.wasm
+++ /dev/null
Binary files differ
diff --git a/test/lit/exec/no-compare-refs.wast b/test/lit/exec/no-compare-refs.wast
index d456ab118..95afa51dc 100644
--- a/test/lit/exec/no-compare-refs.wast
+++ b/test/lit/exec/no-compare-refs.wast
@@ -1,6 +1,6 @@
;; NOTE: Assertions have been generated by update_lit_checks.py --output=fuzz-exec and should not be edited.
-;; RUN: wasm-opt %s --hybrid -all --signature-pruning --closed-world --fuzz-exec -q -o /dev/null 2>&1 | filecheck %s
+;; RUN: wasm-opt %s -all --signature-pruning --closed-world --fuzz-exec -q -o /dev/null 2>&1 | filecheck %s
(module
(type $f (func (param i32)))
diff --git a/test/lit/fuzz-types/isorecursive.test b/test/lit/fuzz-types.test
index 78adf1bbc..b10df152b 100644
--- a/test/lit/fuzz-types/isorecursive.test
+++ b/test/lit/fuzz-types.test
@@ -1,4 +1,4 @@
-;; RUN: wasm-fuzz-types --hybrid -v --seed=1 | filecheck %s
+;; RUN: wasm-fuzz-types -v --seed=1 | filecheck %s
;; CHECK: (type $0 (struct))
;; CHECK-NEXT: (rec
diff --git a/test/lit/fuzz-types/nominal.test b/test/lit/fuzz-types/nominal.test
deleted file mode 100644
index 062900b62..000000000
--- a/test/lit/fuzz-types/nominal.test
+++ /dev/null
@@ -1,46 +0,0 @@
-;; RUN: wasm-fuzz-types --nominal -v --seed=0 | filecheck %s
-
-;; CHECK: (type $0 (struct (field (mut i16) i31ref f32 f32 f64)))
-;; CHECK-NEXT: (type $1 (func (param f64 v128)))
-;; CHECK-NEXT: (type $2 (struct (field (mut (ref null $19)) f64 arrayref)))
-;; CHECK-NEXT: (type $3 (struct_subtype (field (mut i16) (ref i31) f32 f32 f64) $0))
-;; CHECK-NEXT: (type $4 (struct))
-;; CHECK-NEXT: (type $5 none)
-;; CHECK-NEXT: (type $6 (array (mut eqref)))
-;; CHECK-NEXT: (type $7 (func_subtype (param f64 v128) $1))
-;; CHECK-NEXT: (type $8 (array anyref))
-;; CHECK-NEXT: (type $9 (array f32))
-;; CHECK-NEXT: (type $10 (struct_subtype (field (mut i16) (ref i31) f32 f32 f64) $0))
-;; CHECK-NEXT: (type $11 (func (result f64)))
-;; CHECK-NEXT: (type $12 (func_subtype (param f64 v128) $1))
-;; CHECK-NEXT: (type $13 (func_subtype (param f64 v128) $12))
-;; CHECK-NEXT: (type $14 (func_subtype (result f64) $11))
-;; CHECK-NEXT: (type $15 (func_subtype (result f64) $14))
-;; CHECK-NEXT: (type $16 (func (param (ref struct)) (result structref)))
-;; CHECK-NEXT: (type $17 (array (mut (ref $2))))
-;; CHECK-NEXT: (type $18 (array (ref $10)))
-;; CHECK-NEXT: (type $19 (struct_subtype (field (mut i16) (ref i31) f32 f32 f64 (mut f32)) $0))
-;; CHECK-NEXT:
-;; CHECK-NEXT: Inhabitable types:
-;; CHECK-NEXT:
-;; CHECK-NEXT: Built 20 types:
-;; CHECK-NEXT: (type $0 (struct (field (mut i16) i31ref f32 f32 f64)))
-;; CHECK-NEXT: (type $1 (func (param f64 v128)))
-;; CHECK-NEXT: (type $2 (struct (field (mut (ref null $19)) f64 arrayref)))
-;; CHECK-NEXT: (type $3 (struct_subtype (field (mut i16) (ref i31) f32 f32 f64) $0))
-;; CHECK-NEXT: (type $4 (struct))
-;; CHECK-NEXT: (type $5 none)
-;; CHECK-NEXT: (type $6 (array (mut eqref)))
-;; CHECK-NEXT: (type $7 (func_subtype (param f64 v128) $1))
-;; CHECK-NEXT: (type $8 (array anyref))
-;; CHECK-NEXT: (type $9 (array f32))
-;; CHECK-NEXT: (type $10 (struct_subtype (field (mut i16) (ref i31) f32 f32 f64) $0))
-;; CHECK-NEXT: (type $11 (func (result f64)))
-;; CHECK-NEXT: (type $12 (func_subtype (param f64 v128) $1))
-;; CHECK-NEXT: (type $13 (func_subtype (param f64 v128) $12))
-;; CHECK-NEXT: (type $14 (func_subtype (result f64) $11))
-;; CHECK-NEXT: (type $15 (func_subtype (result f64) $14))
-;; CHECK-NEXT: (type $16 (func (param (ref struct)) (result structref)))
-;; CHECK-NEXT: (type $17 (array (mut (ref $2))))
-;; CHECK-NEXT: (type $18 (array (ref $10)))
-;; CHECK-NEXT: (type $19 (struct_subtype (field (mut i16) (ref i31) f32 f32 f64 (mut f32)) $0))
diff --git a/test/lit/help/wasm-as.test b/test/lit/help/wasm-as.test
index 976c66225..97f11a7d6 100644
--- a/test/lit/help/wasm-as.test
+++ b/test/lit/help/wasm-as.test
@@ -119,13 +119,6 @@
;; CHECK-NEXT: passes being run. Must be in the form
;; CHECK-NEXT: KEY@VALUE
;; CHECK-NEXT:
-;; CHECK-NEXT: --nominal Force all GC type definitions to be
-;; CHECK-NEXT: parsed as nominal.
-;; CHECK-NEXT:
-;; CHECK-NEXT: --hybrid Force all GC type definitions to be
-;; CHECK-NEXT: parsed using the isorecursive hybrid type
-;; CHECK-NEXT: system.
-;; CHECK-NEXT:
;; CHECK-NEXT: --closed-world,-cw Assume code outside of the module does
;; CHECK-NEXT: not inspect or interact with GC and
;; CHECK-NEXT: function references, even if they are
diff --git a/test/lit/help/wasm-ctor-eval.test b/test/lit/help/wasm-ctor-eval.test
index 34281ea42..2d27f619a 100644
--- a/test/lit/help/wasm-ctor-eval.test
+++ b/test/lit/help/wasm-ctor-eval.test
@@ -126,13 +126,6 @@
;; CHECK-NEXT: passes being run. Must be in the form
;; CHECK-NEXT: KEY@VALUE
;; CHECK-NEXT:
-;; CHECK-NEXT: --nominal Force all GC type definitions to be
-;; CHECK-NEXT: parsed as nominal.
-;; CHECK-NEXT:
-;; CHECK-NEXT: --hybrid Force all GC type definitions to be
-;; CHECK-NEXT: parsed using the isorecursive hybrid type
-;; CHECK-NEXT: system.
-;; CHECK-NEXT:
;; CHECK-NEXT: --closed-world,-cw Assume code outside of the module does
;; CHECK-NEXT: not inspect or interact with GC and
;; CHECK-NEXT: function references, even if they are
diff --git a/test/lit/help/wasm-dis.test b/test/lit/help/wasm-dis.test
index ce2328452..0d5cd8dc2 100644
--- a/test/lit/help/wasm-dis.test
+++ b/test/lit/help/wasm-dis.test
@@ -112,13 +112,6 @@
;; CHECK-NEXT: passes being run. Must be in the form
;; CHECK-NEXT: KEY@VALUE
;; CHECK-NEXT:
-;; CHECK-NEXT: --nominal Force all GC type definitions to be
-;; CHECK-NEXT: parsed as nominal.
-;; CHECK-NEXT:
-;; CHECK-NEXT: --hybrid Force all GC type definitions to be
-;; CHECK-NEXT: parsed using the isorecursive hybrid type
-;; CHECK-NEXT: system.
-;; CHECK-NEXT:
;; CHECK-NEXT: --closed-world,-cw Assume code outside of the module does
;; CHECK-NEXT: not inspect or interact with GC and
;; CHECK-NEXT: function references, even if they are
diff --git a/test/lit/help/wasm-emscripten-finalize.test b/test/lit/help/wasm-emscripten-finalize.test
index 5bcf2c469..8ce4d94f0 100644
--- a/test/lit/help/wasm-emscripten-finalize.test
+++ b/test/lit/help/wasm-emscripten-finalize.test
@@ -159,13 +159,6 @@
;; CHECK-NEXT: passes being run. Must be in the form
;; CHECK-NEXT: KEY@VALUE
;; CHECK-NEXT:
-;; CHECK-NEXT: --nominal Force all GC type definitions to be
-;; CHECK-NEXT: parsed as nominal.
-;; CHECK-NEXT:
-;; CHECK-NEXT: --hybrid Force all GC type definitions to be
-;; CHECK-NEXT: parsed using the isorecursive hybrid type
-;; CHECK-NEXT: system.
-;; CHECK-NEXT:
;; CHECK-NEXT: --closed-world,-cw Assume code outside of the module does
;; CHECK-NEXT: not inspect or interact with GC and
;; CHECK-NEXT: function references, even if they are
diff --git a/test/lit/help/wasm-fuzz-types.test b/test/lit/help/wasm-fuzz-types.test
index 49e491358..5bd5974fd 100644
--- a/test/lit/help/wasm-fuzz-types.test
+++ b/test/lit/help/wasm-fuzz-types.test
@@ -13,10 +13,6 @@
;; CHECK-NEXT:
;; CHECK-NEXT: --verbose,-v Print extra information
;; CHECK-NEXT:
-;; CHECK-NEXT: --nominal Use the nominal type system
-;; CHECK-NEXT:
-;; CHECK-NEXT: --hybrid Use the isorecursive hybrid type system (default)
-;; CHECK-NEXT:
;; CHECK-NEXT:
;; CHECK-NEXT: General options:
;; CHECK-NEXT: ----------------
diff --git a/test/lit/help/wasm-metadce.test b/test/lit/help/wasm-metadce.test
index 59cbcc216..5a2f22c01 100644
--- a/test/lit/help/wasm-metadce.test
+++ b/test/lit/help/wasm-metadce.test
@@ -160,13 +160,6 @@
;; CHECK-NEXT: passes being run. Must be in the form
;; CHECK-NEXT: KEY@VALUE
;; CHECK-NEXT:
-;; CHECK-NEXT: --nominal Force all GC type definitions to be
-;; CHECK-NEXT: parsed as nominal.
-;; CHECK-NEXT:
-;; CHECK-NEXT: --hybrid Force all GC type definitions to be
-;; CHECK-NEXT: parsed using the isorecursive hybrid type
-;; CHECK-NEXT: system.
-;; CHECK-NEXT:
;; CHECK-NEXT: --closed-world,-cw Assume code outside of the module does
;; CHECK-NEXT: not inspect or interact with GC and
;; CHECK-NEXT: function references, even if they are
diff --git a/test/lit/help/wasm-opt.test b/test/lit/help/wasm-opt.test
index 351f2c93e..ae1768f9f 100644
--- a/test/lit/help/wasm-opt.test
+++ b/test/lit/help/wasm-opt.test
@@ -676,13 +676,6 @@
;; CHECK-NEXT: optimization passes being run.
;; CHECK-NEXT: Must be in the form KEY@VALUE
;; CHECK-NEXT:
-;; CHECK-NEXT: --nominal Force all GC type definitions to
-;; CHECK-NEXT: be parsed as nominal.
-;; CHECK-NEXT:
-;; CHECK-NEXT: --hybrid Force all GC type definitions to
-;; CHECK-NEXT: be parsed using the isorecursive
-;; CHECK-NEXT: hybrid type system.
-;; CHECK-NEXT:
;; CHECK-NEXT: --closed-world,-cw Assume code outside of the
;; CHECK-NEXT: module does not inspect or
;; CHECK-NEXT: interact with GC and function
diff --git a/test/lit/help/wasm-reduce.test b/test/lit/help/wasm-reduce.test
index 333cae9ae..5fb79bf88 100644
--- a/test/lit/help/wasm-reduce.test
+++ b/test/lit/help/wasm-reduce.test
@@ -148,13 +148,6 @@
;; CHECK-NEXT: passes being run. Must be in the form
;; CHECK-NEXT: KEY@VALUE
;; CHECK-NEXT:
-;; CHECK-NEXT: --nominal Force all GC type definitions to be
-;; CHECK-NEXT: parsed as nominal.
-;; CHECK-NEXT:
-;; CHECK-NEXT: --hybrid Force all GC type definitions to be
-;; CHECK-NEXT: parsed using the isorecursive hybrid type
-;; CHECK-NEXT: system.
-;; CHECK-NEXT:
;; CHECK-NEXT: --closed-world,-cw Assume code outside of the module does
;; CHECK-NEXT: not inspect or interact with GC and
;; CHECK-NEXT: function references, even if they are
diff --git a/test/lit/help/wasm-split.test b/test/lit/help/wasm-split.test
index e0cdf3ca4..8b017d43d 100644
--- a/test/lit/help/wasm-split.test
+++ b/test/lit/help/wasm-split.test
@@ -228,13 +228,6 @@
;; CHECK-NEXT: passes being run. Must be in the form
;; CHECK-NEXT: KEY@VALUE
;; CHECK-NEXT:
-;; CHECK-NEXT: --nominal Force all GC type definitions to be
-;; CHECK-NEXT: parsed as nominal.
-;; CHECK-NEXT:
-;; CHECK-NEXT: --hybrid Force all GC type definitions to be
-;; CHECK-NEXT: parsed using the isorecursive hybrid type
-;; CHECK-NEXT: system.
-;; CHECK-NEXT:
;; CHECK-NEXT: --closed-world,-cw Assume code outside of the module does
;; CHECK-NEXT: not inspect or interact with GC and
;; CHECK-NEXT: function references, even if they are
diff --git a/test/lit/help/wasm2js.test b/test/lit/help/wasm2js.test
index 502419cf2..f75d37965 100644
--- a/test/lit/help/wasm2js.test
+++ b/test/lit/help/wasm2js.test
@@ -635,13 +635,6 @@
;; CHECK-NEXT: optimization passes being run.
;; CHECK-NEXT: Must be in the form KEY@VALUE
;; CHECK-NEXT:
-;; CHECK-NEXT: --nominal Force all GC type definitions to
-;; CHECK-NEXT: be parsed as nominal.
-;; CHECK-NEXT:
-;; CHECK-NEXT: --hybrid Force all GC type definitions to
-;; CHECK-NEXT: be parsed using the isorecursive
-;; CHECK-NEXT: hybrid type system.
-;; CHECK-NEXT:
;; CHECK-NEXT: --closed-world,-cw Assume code outside of the
;; CHECK-NEXT: module does not inspect or
;; CHECK-NEXT: interact with GC and function
diff --git a/test/lit/isorecursive-good.wast b/test/lit/isorecursive-good.wast
index eea7ec546..04880101f 100644
--- a/test/lit/isorecursive-good.wast
+++ b/test/lit/isorecursive-good.wast
@@ -1,7 +1,7 @@
;; NOTE: Assertions have been generated by update_lit_checks.py and should not be edited.
-;; RUN: wasm-opt %s -all --hybrid -S -o - | filecheck %s --check-prefix HYBRID
-;; RUN: wasm-opt %s -all --hybrid --roundtrip -S -o - | filecheck %s --check-prefix HYBRID
+;; RUN: wasm-opt %s -all -S -o - | filecheck %s --check-prefix HYBRID
+;; RUN: wasm-opt %s -all --roundtrip -S -o - | filecheck %s --check-prefix HYBRID
(module
(rec
diff --git a/test/lit/isorecursive-output-ordering.wast b/test/lit/isorecursive-output-ordering.wast
index a287158f2..ca906c76b 100644
--- a/test/lit/isorecursive-output-ordering.wast
+++ b/test/lit/isorecursive-output-ordering.wast
@@ -1,7 +1,7 @@
;; NOTE: Assertions have been generated by update_lit_checks.py and should not be edited.
-;; RUN: foreach %s %t wasm-opt -all --hybrid -S -o - | filecheck %s
-;; RUN: foreach %s %t wasm-opt -all --hybrid --roundtrip -S -o - | filecheck %s
+;; RUN: foreach %s %t wasm-opt -all -S -o - | filecheck %s
+;; RUN: foreach %s %t wasm-opt -all --roundtrip -S -o - | filecheck %s
(module
;; Test that we order groups by average uses.
diff --git a/test/lit/isorecursive-singleton-group.wast b/test/lit/isorecursive-singleton-group.wast
index f5f91c516..0f73477b9 100644
--- a/test/lit/isorecursive-singleton-group.wast
+++ b/test/lit/isorecursive-singleton-group.wast
@@ -1,7 +1,7 @@
;; NOTE: Assertions have been generated by update_lit_checks.py and should not be edited.
-;; RUN: wasm-opt %s -all --hybrid -S -o - | filecheck %s
-;; RUN: wasm-opt %s -all --hybrid --roundtrip -S -o - | filecheck %s
+;; RUN: wasm-opt %s -all -S -o - | filecheck %s
+;; RUN: wasm-opt %s -all --roundtrip -S -o - | filecheck %s
;; Check that everything works correctly when a recursion group has only a
;; single member. The rec group is implicit, so does not need to be printed.
diff --git a/test/lit/isorecursive-whole-group.wast b/test/lit/isorecursive-whole-group.wast
index c202814c3..14ce524ff 100644
--- a/test/lit/isorecursive-whole-group.wast
+++ b/test/lit/isorecursive-whole-group.wast
@@ -1,14 +1,12 @@
;; NOTE: Assertions have been generated by update_lit_checks.py and should not be edited.
-;; RUN: wasm-opt %s -all --hybrid -S -o - | filecheck %s
-;; RUN: wasm-opt %s -all --hybrid --roundtrip -S -o - | filecheck %s
+;; RUN: wasm-opt %s -all -S -o - | filecheck %s
+;; RUN: wasm-opt %s -all --roundtrip -S -o - | filecheck %s
;; Check that unused types are still included in the output when they are part
;; of a recursion group with used types.
(module
-
-
(rec
;; CHECK: (rec
;; CHECK-NEXT: (type $used (struct ))
diff --git a/test/lit/nominal-func.wast b/test/lit/nominal-func.wast
deleted file mode 100644
index 600b16bf6..000000000
--- a/test/lit/nominal-func.wast
+++ /dev/null
@@ -1,26 +0,0 @@
-;; NOTE: Assertions have been generated by update_lit_checks.py and should not be edited.
-;; RUN: wasm-opt %s -all --nominal -S -o - | filecheck %s
-;; RUN: wasm-opt %s -all --nominal --roundtrip -S -o - | filecheck %s
-
-(module
- ;; This will be the "canonical" function type rather than $foo_t
- (type $bad_t (func))
-
- ;; CHECK: (type $foo_t (func))
- (type $foo_t (func))
-
- ;; CHECK: (func $foo (type $foo_t)
- ;; CHECK-NEXT: (unreachable)
- ;; CHECK-NEXT: )
- (func $foo (type $foo_t)
- (unreachable)
- )
-
- ;; $foo needs to be assigned type foo_t rather than bad_t for this to validate.
- ;; CHECK: (func $make-ref (type $none_=>_ref|$foo_t|) (result (ref $foo_t))
- ;; CHECK-NEXT: (ref.func $foo)
- ;; CHECK-NEXT: )
- (func $make-ref (result (ref $foo_t))
- (ref.func $foo)
- )
-)
diff --git a/test/lit/nominal-named-field.wast b/test/lit/nominal-named-field.wast
deleted file mode 100644
index e7a5f9628..000000000
--- a/test/lit/nominal-named-field.wast
+++ /dev/null
@@ -1,30 +0,0 @@
-;; NOTE: Assertions have been generated by update_lit_checks.py and should not be edited.
-
-;; Regression test for a bug in which field names were not printed in nominal mode.
-
-;; RUN: wasm-opt %s -all --nominal -S -o - | filecheck %s
-;; RUN: wasm-opt %s -all --nominal --roundtrip -S -o - | filecheck %s
-
-(module
- ;; CHECK: (type $struct (struct (field (mut i32)) (field f32) (field $named f64)))
- (type $struct (struct
- (field (mut i32))
- (field f32)
- (field $named f64)
- ))
-
- ;; CHECK: (func $foo (type $ref|$struct|_=>_none) (param $0 (ref $struct))
- ;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (struct.get $struct $named
- ;; CHECK-NEXT: (local.get $0)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
- (func $foo (param (ref $struct))
- (drop
- (struct.get $struct $named
- (local.get 0)
- )
- )
- )
-)
diff --git a/test/lit/nominal-no-gc.wast b/test/lit/nominal-no-gc.wast
deleted file mode 100644
index 82f2698d9..000000000
--- a/test/lit/nominal-no-gc.wast
+++ /dev/null
@@ -1,5 +0,0 @@
-;; Using --nominal without GC is not allowed.
-
-;; RUN: not wasm-opt %s --nominal --disable-gc -g -o %t.wasm 2>&1 | filecheck %s
-
-;; CHECK: Nominal typing is only allowed when GC is enabled
diff --git a/test/lit/nominal-to-isorecursive.wast b/test/lit/nominal-to-isorecursive.wast
deleted file mode 100644
index 783191eb5..000000000
--- a/test/lit/nominal-to-isorecursive.wast
+++ /dev/null
@@ -1,35 +0,0 @@
-;; NOTE: Assertions have been generated by update_lit_checks.py and should not be edited.
-
-;; RUN: wasm-as %s -all --nominal -g -o %t.wasm
-;; RUN: wasm-dis %t.wasm -all --hybrid -o - | filecheck %s
-
-;; Check that the nominal binary format is parseable as isorecursive with a
-;; single recursion group.
-
-(module
- ;; CHECK: (rec
- ;; CHECK-NEXT: (type $make-super-t (func (result (ref $super))))
-
- ;; CHECK: (type $make-sub-t (func (result (ref $sub))))
-
- ;; CHECK: (type $super (struct (field i32)))
- (type $super (struct i32))
- ;; CHECK: (type $sub (struct_subtype (field i32) $super))
- (type $sub (struct_subtype i32 $super))
- (type $make-super-t (func (result (ref $super))))
- (type $make-sub-t (func (result (ref $sub))))
-
- ;; CHECK: (func $make-super (type $make-super-t) (result (ref $super))
- ;; CHECK-NEXT: (unreachable)
- ;; CHECK-NEXT: )
- (func $make-super (type $make-super-t)
- (unreachable)
- )
-
- ;; CHECK: (func $make-sub (type $make-sub-t) (result (ref $sub))
- ;; CHECK-NEXT: (unreachable)
- ;; CHECK-NEXT: )
- (func $make-sub (type $make-sub-t)
- (unreachable)
- )
-)
diff --git a/test/lit/parse-nominal-types-no-sig-sharing.wast b/test/lit/parse-nominal-types-no-sig-sharing.wast
deleted file mode 100644
index f3ebecc27..000000000
--- a/test/lit/parse-nominal-types-no-sig-sharing.wast
+++ /dev/null
@@ -1,41 +0,0 @@
-;; NOTE: Assertions have been generated by update_lit_checks.py --all-items and should not be edited.
-
-;; RUN: foreach %s %t wasm-opt --nominal -all -S -o - | filecheck %s
-;; RUN: foreach %s %t wasm-opt --nominal -all --roundtrip -S -o - | filecheck %s
-;; RUN: foreach %s %t wasm-opt --nominal -all --closed-world -S -o - | filecheck %s
-
-;; Test that we do not use the signature cache to share a function type that
-;; has a supertype. $sub appears first, so it is the earliest example of a
-;; signature of no params and no results, but we should not use it as the types
-;; of $foo or $bar, as it has a supertype. Instead, we should use $super as the
-;; canonical type for that signature. That is fine as at least it only makes
-;; $super effectively a public type, instead of both $sub and $super (the latter
-;; does not validate in closed world, but the former does - the closed-world
-;; run that we do here would error).
-;;
-;; Note that this problem only happens in nominal mode, since $sub can appear
-;; before $super in the list of types.
-
-(module
- (type $sub (func_subtype $super))
-
- ;; CHECK: (type $super (func))
- (type $super (func_subtype func))
-
- ;; CHECK: (global $g (ref null $super) (ref.null nofunc))
- (global $g (ref null $super) (ref.null $sub))
-
- ;; CHECK: (export "foo" (func $foo))
-
- ;; CHECK: (func $foo (type $super)
- ;; CHECK-NEXT: (nop)
- ;; CHECK-NEXT: )
- (func $foo (export "foo")
- )
-
- ;; CHECK: (func $bar (type $super)
- ;; CHECK-NEXT: (nop)
- ;; CHECK-NEXT: )
- (func $bar
- )
-)
diff --git a/test/lit/passes/signature-refining-isorecursive.wast b/test/lit/passes/signature-refining-isorecursive.wast
index b51b0cf8a..1eab7b6af 100644
--- a/test/lit/passes/signature-refining-isorecursive.wast
+++ b/test/lit/passes/signature-refining-isorecursive.wast
@@ -1,5 +1,5 @@
;; NOTE: Assertions have been generated by update_lit_checks.py --all-items and should not be edited.
-;; RUN: foreach %s %t wasm-opt --hybrid --signature-refining -all -S -o - | filecheck %s
+;; RUN: foreach %s %t wasm-opt --signature-refining -all -S -o - | filecheck %s
(module
;; The signature should be refined to a single self-referential type.
diff --git a/test/lit/passes/type-merging.wast b/test/lit/passes/type-merging.wast
index 4fd8ff75c..98ae92055 100644
--- a/test/lit/passes/type-merging.wast
+++ b/test/lit/passes/type-merging.wast
@@ -1,5 +1,5 @@
;; NOTE: Assertions have been generated by update_lit_checks.py --all-items and should not be edited.
-;; RUN: foreach %s %t wasm-opt --hybrid --closed-world --type-merging --remove-unused-types -all -S -o - | filecheck %s
+;; RUN: foreach %s %t wasm-opt --closed-world --type-merging --remove-unused-types -all -S -o - | filecheck %s
(module
(rec
diff --git a/test/lit/passes/type-refining-isorecursive.wast b/test/lit/passes/type-refining-isorecursive.wast
index 245801843..cf5de7979 100644
--- a/test/lit/passes/type-refining-isorecursive.wast
+++ b/test/lit/passes/type-refining-isorecursive.wast
@@ -1,5 +1,5 @@
;; NOTE: Assertions have been generated by update_lit_checks.py --all-items and should not be edited.
-;; RUN: foreach %s %t wasm-opt --hybrid --type-refining --closed-world -all -S -o - | filecheck %s
+;; RUN: foreach %s %t wasm-opt --type-refining --closed-world -all -S -o - | filecheck %s
(module
;; The types should be refined to a set of three mutually recursive types.
diff --git a/test/lit/subtypes.wast b/test/lit/subtypes.wast
index 75618ab0a..00ed88453 100644
--- a/test/lit/subtypes.wast
+++ b/test/lit/subtypes.wast
@@ -1,7 +1,7 @@
;; NOTE: Assertions have been generated by update_lit_checks.py and should not be edited.
-;; RUN: wasm-opt %s -all --hybrid -S -o - | filecheck %s
-;; RUN: wasm-opt %s -all --hybrid --roundtrip -S -o - | filecheck %s
+;; RUN: wasm-opt %s -all -S -o - | filecheck %s
+;; RUN: wasm-opt %s -all --roundtrip -S -o - | filecheck %s
(module
(rec
diff --git a/test/lit/validation/rec-groups-no-gc.wast b/test/lit/validation/rec-groups-no-gc.wast
index f9710d440..20a368a7a 100644
--- a/test/lit/validation/rec-groups-no-gc.wast
+++ b/test/lit/validation/rec-groups-no-gc.wast
@@ -1,6 +1,6 @@
;; Test that using rec groups types without GC is a validation error.
-;; RUN: not wasm-opt %s --hybrid -all --disable-gc 2>&1 | filecheck %s
+;; RUN: not wasm-opt %s -all --disable-gc 2>&1 | filecheck %s
;; CHECK: all used types should be allowed
diff --git a/test/lit/validation/supertypes-no-gc.wast b/test/lit/validation/supertypes-no-gc.wast
index 8b70b5174..eeacccfaf 100644
--- a/test/lit/validation/supertypes-no-gc.wast
+++ b/test/lit/validation/supertypes-no-gc.wast
@@ -1,6 +1,6 @@
;; Test that declaring supertypes without GC is a validation error.
-;; RUN: not wasm-opt %s --hybrid -all --disable-gc 2>&1 | filecheck %s
+;; RUN: not wasm-opt %s -all --disable-gc 2>&1 | filecheck %s
;; CHECK: all used types should be allowed
diff --git a/test/lit/wat-kitchen-sink.wast b/test/lit/wat-kitchen-sink.wast
index 65d465774..e40a31f98 100644
--- a/test/lit/wat-kitchen-sink.wast
+++ b/test/lit/wat-kitchen-sink.wast
@@ -1,6 +1,6 @@
;; NOTE: Assertions have been generated by update_lit_checks.py --all-items and should not be edited.
-;; RUN: wasm-opt --new-wat-parser --hybrid -all %s -S -o - | filecheck %s
+;; RUN: wasm-opt --new-wat-parser -all %s -S -o - | filecheck %s
(module $parse
;; types
diff --git a/test/unit/test_passes.py b/test/unit/test_passes.py
index 25f844757..5f91afa92 100644
--- a/test/unit/test_passes.py
+++ b/test/unit/test_passes.py
@@ -21,32 +21,29 @@ class PassesTest(utils.BinaryenTestCase):
def test_O2(self):
args = ['-O2', '-all']
- for nominal in ['--nominal', False]:
- for closed_world in ['--closed-world', False]:
- curr_args = args[:]
- if nominal:
- curr_args.append(nominal)
- if closed_world:
- curr_args.append(closed_world)
- passes = self.get_passes_run(curr_args)
+ for closed_world in ['--closed-world', False]:
+ curr_args = args[:]
+ if closed_world:
+ curr_args.append(closed_world)
+ passes = self.get_passes_run(curr_args)
- # dce always runs
- self.assertIn('dce', passes)
+ # dce always runs
+ self.assertIn('dce', passes)
- # some passes only run in closed world
- CLOSED_WORLD_PASSES = [
- 'type-refining',
- 'signature-pruning',
- 'signature-refining',
- 'gto',
- 'cfp',
- 'gsi',
- ]
- for pass_ in CLOSED_WORLD_PASSES:
- if closed_world:
- self.assertIn(pass_, passes)
- else:
- self.assertNotIn(pass_, passes)
+ # some passes only run in closed world
+ CLOSED_WORLD_PASSES = [
+ 'type-refining',
+ 'signature-pruning',
+ 'signature-refining',
+ 'gto',
+ 'cfp',
+ 'gsi',
+ ]
+ for pass_ in CLOSED_WORLD_PASSES:
+ if closed_world:
+ self.assertIn(pass_, passes)
+ else:
+ self.assertNotIn(pass_, passes)
def test_O3_O1(self):
# When we run something like -O3 -O1 we should run -O3 followed by -O1