summaryrefslogtreecommitdiff
path: root/test/lit
diff options
context:
space:
mode:
Diffstat (limited to 'test/lit')
-rw-r--r--test/lit/basic/complexTextNames.wast17
-rw-r--r--test/lit/basic/newsyntax.wast60
-rw-r--r--test/lit/ctor-eval/array_new_data.wast22
-rw-r--r--test/lit/ctor-eval/data_drop.wast28
-rw-r--r--test/lit/ctor-eval/high_memory.wast31
-rw-r--r--test/lit/exec/array.wast2
-rw-r--r--test/lit/exec/delegate-vacuum.wast4
-rw-r--r--test/lit/exec/eh-gc.wast2
-rw-r--r--test/lit/exec/eh-print.wast5
-rw-r--r--test/lit/exec/eh.wast8
-rw-r--r--test/lit/exec/gc-cycle-leak.wast2
-rw-r--r--test/lit/exec/host-limit.wast3
-rw-r--r--test/lit/exec/i31.wast14
-rw-r--r--test/lit/exec/intrinsics.wast3
-rw-r--r--test/lit/exec/memory.grow.wast4
-rw-r--r--test/lit/exec/negative-zero.wast16
-rw-r--r--test/lit/exec/no-compare-refs.wast2
-rw-r--r--test/lit/exec/non-nullable.wast2
-rw-r--r--test/lit/exec/read-nn-null.wast14
-rw-r--r--test/lit/exec/strings.wast34
-rw-r--r--test/lit/merge/table_elem.wat69
-rw-r--r--test/lit/merge/table_elem.wat.second2
-rw-r--r--test/lit/passes/O1.wast22
-rw-r--r--test/lit/passes/O1_skip.wast6
-rw-r--r--test/lit/passes/O3_Oz.wast32
-rw-r--r--test/lit/passes/O_fast-math.wast154
-rw-r--r--test/lit/passes/dae-gc-refine-params.wast66
-rw-r--r--test/lit/passes/dae-gc-refine-return.wast8
-rw-r--r--test/lit/passes/dae_all-features.wast27
-rw-r--r--test/lit/passes/flatten_all-features.wast26
-rw-r--r--test/lit/passes/flatten_dfo_O3_enable-threads.wast113
-rw-r--r--test/lit/passes/flatten_i64-to-i32-lowering.wast247
-rw-r--r--test/lit/passes/flatten_simplify-locals-nonesting_dfo_O3.wast112
-rw-r--r--test/lit/passes/flatten_simplify-locals-nonesting_souperify-single-use_enable-threads.wast87
-rw-r--r--test/lit/passes/flatten_simplify-locals-nonesting_souperify_enable-threads.wast87
-rw-r--r--test/lit/passes/gto-removals.wast12
-rw-r--r--test/lit/passes/remove-unused-module-elements_all-features.wast32
-rw-r--r--test/lit/passes/stack-check-memory64.wast71
-rw-r--r--test/lit/passes/vacuum_all-features.wast190
-rw-r--r--test/lit/validation/intrinsics.wast3
-rw-r--r--test/lit/wat-kitchen-sink.wast5
41 files changed, 788 insertions, 856 deletions
diff --git a/test/lit/basic/complexTextNames.wast b/test/lit/basic/complexTextNames.wast
index 4605f0165..88240e038 100644
--- a/test/lit/basic/complexTextNames.wast
+++ b/test/lit/basic/complexTextNames.wast
@@ -12,34 +12,27 @@
(module
;; CHECK-TEXT: (type $0 (func))
- ;; CHECK-TEXT: (export "$zoo (.bar)" (func $1))
-
;; CHECK-TEXT: (func $foo\20\28.bar\29 (type $0)
;; CHECK-TEXT-NEXT: (nop)
;; CHECK-TEXT-NEXT: )
;; CHECK-BIN: (type $0 (func))
- ;; CHECK-BIN: (export "$zoo (.bar)" (func $1))
-
;; CHECK-BIN: (func $foo\20\28.bar\29 (type $0)
;; CHECK-BIN-NEXT: (nop)
;; CHECK-BIN-NEXT: )
(func $foo\20\28.bar\29)
- (func "$zoo (.bar)" (call $foo\20\28.bar\29))
+ ;; CHECK-TEXT: (func $"zoo (.bar)" (type $0)
+ ;; CHECK-TEXT-NEXT: (call $foo\20\28.bar\29)
+ ;; CHECK-TEXT-NEXT: )
+ (func $"zoo (.bar)" (call $foo\20\28.bar\29))
)
-;; CHECK-TEXT: (func $1 (type $0)
-;; CHECK-TEXT-NEXT: (call $foo\20\28.bar\29)
-;; CHECK-TEXT-NEXT: )
-
-;; CHECK-BIN: (func $1 (type $0)
+;; CHECK-BIN: (func $zoo\20\28.bar\29 (type $0)
;; CHECK-BIN-NEXT: (call $foo\20\28.bar\29)
;; CHECK-BIN-NEXT: )
;; CHECK-BIN-NODEBUG: (type $0 (func))
-;; CHECK-BIN-NODEBUG: (export "$zoo (.bar)" (func $1))
-
;; CHECK-BIN-NODEBUG: (func $0 (type $0)
;; CHECK-BIN-NODEBUG-NEXT: (nop)
;; CHECK-BIN-NODEBUG-NEXT: )
diff --git a/test/lit/basic/newsyntax.wast b/test/lit/basic/newsyntax.wast
index 0811ec07e..204bed3ab 100644
--- a/test/lit/basic/newsyntax.wast
+++ b/test/lit/basic/newsyntax.wast
@@ -27,43 +27,41 @@
;; CHECK-BIN-NODEBUG: (import "env" "table" (table $timport$0 9 9 funcref))
(import "env" "table" (table 9 9 funcref))
- (func "call_indirect"
+ ;; CHECK-TEXT: (export "call_indirect" (func $call_indirect))
+
+ ;; CHECK-TEXT: (func $call_indirect (type $0)
+ ;; CHECK-TEXT-NEXT: (drop
+ ;; CHECK-TEXT-NEXT: (call_indirect $timport$0 (type $1)
+ ;; CHECK-TEXT-NEXT: (i32.const 10)
+ ;; CHECK-TEXT-NEXT: (f64.const 20)
+ ;; CHECK-TEXT-NEXT: (i32.const 30)
+ ;; CHECK-TEXT-NEXT: )
+ ;; CHECK-TEXT-NEXT: )
+ ;; CHECK-TEXT-NEXT: (call_indirect $timport$0 (type $0)
+ ;; CHECK-TEXT-NEXT: (i32.const 1)
+ ;; CHECK-TEXT-NEXT: )
+ ;; CHECK-TEXT-NEXT: )
+ ;; CHECK-BIN: (export "call_indirect" (func $call_indirect))
+
+ ;; CHECK-BIN: (func $call_indirect (type $0)
+ ;; CHECK-BIN-NEXT: (drop
+ ;; CHECK-BIN-NEXT: (call_indirect $timport$0 (type $1)
+ ;; CHECK-BIN-NEXT: (i32.const 10)
+ ;; CHECK-BIN-NEXT: (f64.const 20)
+ ;; CHECK-BIN-NEXT: (i32.const 30)
+ ;; CHECK-BIN-NEXT: )
+ ;; CHECK-BIN-NEXT: )
+ ;; CHECK-BIN-NEXT: (call_indirect $timport$0 (type $0)
+ ;; CHECK-BIN-NEXT: (i32.const 1)
+ ;; CHECK-BIN-NEXT: )
+ ;; CHECK-BIN-NEXT: )
+ (func $call_indirect (export "call_indirect")
(drop
(call_indirect (param i32) (param f64) (result i32) (i32.const 10) (f64.const 20) (i32.const 30))
)
(call_indirect (i32.const 1))
)
)
-;; CHECK-TEXT: (export "call_indirect" (func $0))
-
-;; CHECK-TEXT: (func $0 (type $0)
-;; CHECK-TEXT-NEXT: (drop
-;; CHECK-TEXT-NEXT: (call_indirect $timport$0 (type $1)
-;; CHECK-TEXT-NEXT: (i32.const 10)
-;; CHECK-TEXT-NEXT: (f64.const 20)
-;; CHECK-TEXT-NEXT: (i32.const 30)
-;; CHECK-TEXT-NEXT: )
-;; CHECK-TEXT-NEXT: )
-;; CHECK-TEXT-NEXT: (call_indirect $timport$0 (type $0)
-;; CHECK-TEXT-NEXT: (i32.const 1)
-;; CHECK-TEXT-NEXT: )
-;; CHECK-TEXT-NEXT: )
-
-;; CHECK-BIN: (export "call_indirect" (func $0))
-
-;; CHECK-BIN: (func $0 (type $0)
-;; CHECK-BIN-NEXT: (drop
-;; CHECK-BIN-NEXT: (call_indirect $timport$0 (type $1)
-;; CHECK-BIN-NEXT: (i32.const 10)
-;; CHECK-BIN-NEXT: (f64.const 20)
-;; CHECK-BIN-NEXT: (i32.const 30)
-;; CHECK-BIN-NEXT: )
-;; CHECK-BIN-NEXT: )
-;; CHECK-BIN-NEXT: (call_indirect $timport$0 (type $0)
-;; CHECK-BIN-NEXT: (i32.const 1)
-;; CHECK-BIN-NEXT: )
-;; CHECK-BIN-NEXT: )
-
;; CHECK-BIN-NODEBUG: (export "call_indirect" (func $0))
;; CHECK-BIN-NODEBUG: (func $0 (type $0)
diff --git a/test/lit/ctor-eval/array_new_data.wast b/test/lit/ctor-eval/array_new_data.wast
index 248b71ba4..a185c171f 100644
--- a/test/lit/ctor-eval/array_new_data.wast
+++ b/test/lit/ctor-eval/array_new_data.wast
@@ -14,7 +14,17 @@
;; CHECK: (data $1 (i32.const 0) "")
(data $1 (i32.const 0) "")
- (func "test"
+ ;; CHECK: (export "test" (func $test))
+
+ ;; CHECK: (func $test (type $0)
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (array.new_data $[i8] $1
+ ;; CHECK-NEXT: (i32.const 16)
+ ;; CHECK-NEXT: (i32.const 8)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $test (export "test")
;; An array.new_data cannot be evalled since ctor-eval flattens memory segments
;; atm. In fact the module would not validate as we refer to segment 1 here
;; but after flattening only segment 0 exists.
@@ -26,13 +36,3 @@
)
)
)
-;; CHECK: (export "test" (func $0))
-
-;; CHECK: (func $0 (type $0)
-;; CHECK-NEXT: (drop
-;; CHECK-NEXT: (array.new_data $[i8] $1
-;; CHECK-NEXT: (i32.const 16)
-;; CHECK-NEXT: (i32.const 8)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
diff --git a/test/lit/ctor-eval/data_drop.wast b/test/lit/ctor-eval/data_drop.wast
index c1bfd487c..5833cf4a0 100644
--- a/test/lit/ctor-eval/data_drop.wast
+++ b/test/lit/ctor-eval/data_drop.wast
@@ -9,7 +9,20 @@
(data (i32.const 0) "__________")
(data (i32.const 20) "__________")
- (func "test"
+ ;; CHECK: (data $0 (i32.const 0) "__________")
+
+ ;; CHECK: (data $1 (i32.const 20) "__________")
+
+ ;; CHECK: (export "test" (func $test))
+
+ ;; CHECK: (func $test (type $0)
+ ;; CHECK-NEXT: (i32.store8
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: (i32.const 100)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (data.drop $1)
+ ;; CHECK-NEXT: )
+ (func $test (export "test")
;; A store that can be evalled, but we do not do so because of the
;; instruction after us.
(i32.store8
@@ -23,16 +36,3 @@
(data.drop 1)
)
)
-;; CHECK: (data $0 (i32.const 0) "__________")
-
-;; CHECK: (data $1 (i32.const 20) "__________")
-
-;; CHECK: (export "test" (func $0))
-
-;; CHECK: (func $0 (type $0)
-;; CHECK-NEXT: (i32.store8
-;; CHECK-NEXT: (i32.const 4)
-;; CHECK-NEXT: (i32.const 100)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (data.drop $1)
-;; CHECK-NEXT: )
diff --git a/test/lit/ctor-eval/high_memory.wast b/test/lit/ctor-eval/high_memory.wast
index 86e3827f4..b7a9f60eb 100644
--- a/test/lit/ctor-eval/high_memory.wast
+++ b/test/lit/ctor-eval/high_memory.wast
@@ -7,7 +7,7 @@
;; CHECK: (memory $0 1616)
(memory $0 1616) ;; 101 MB
- (func "test1"
+ (func $test1 (export "test1")
;; This write will be evalled into a data segment and removed.
(i32.store8
(i32.const 0x63fffff) ;; 100 MB - 1
@@ -15,7 +15,19 @@
)
)
- (func "test2"
+ ;; CHECK: (data $0 (i32.const 104857599) "*")
+
+ ;; CHECK: (export "test1" (func $test1_2))
+
+ ;; CHECK: (export "test2" (func $test2))
+
+ ;; CHECK: (func $test2 (type $0)
+ ;; CHECK-NEXT: (i32.store8
+ ;; CHECK-NEXT: (i32.const 104857600)
+ ;; CHECK-NEXT: (i32.const 43)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $test2 (export "test2")
;; We stop at this write to a high address (wasm-ctor-eval generally only
;; writes to low addresses, so it is tuned for that)
(i32.store8
@@ -24,19 +36,6 @@
)
)
)
-;; CHECK: (data $0 (i32.const 104857599) "*")
-
-;; CHECK: (export "test1" (func $0_2))
-
-;; CHECK: (export "test2" (func $1))
-
-;; CHECK: (func $1 (type $0)
-;; CHECK-NEXT: (i32.store8
-;; CHECK-NEXT: (i32.const 104857600)
-;; CHECK-NEXT: (i32.const 43)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
-
-;; CHECK: (func $0_2 (type $0)
+;; CHECK: (func $test1_2 (type $0)
;; CHECK-NEXT: (nop)
;; CHECK-NEXT: )
diff --git a/test/lit/exec/array.wast b/test/lit/exec/array.wast
index 7e74c7b7d..fb6a8b346 100644
--- a/test/lit/exec/array.wast
+++ b/test/lit/exec/array.wast
@@ -7,7 +7,7 @@
;; CHECK: [fuzz-exec] calling func
;; CHECK-NEXT: [fuzz-exec] note result: func => 1
- (func "func" (result i32)
+ (func $func (export "func") (result i32)
;; Verifies the order of execution is correct - we should return 1, not 2.
(array.new $array
(return (i32.const 1))
diff --git a/test/lit/exec/delegate-vacuum.wast b/test/lit/exec/delegate-vacuum.wast
index c92760568..084113c2b 100644
--- a/test/lit/exec/delegate-vacuum.wast
+++ b/test/lit/exec/delegate-vacuum.wast
@@ -9,7 +9,7 @@
(tag $tag$0 (param i32))
;; CHECK: [fuzz-exec] calling export-1
;; CHECK-NEXT: [exception thrown: tag$0 0]
- (func "export-1"
+ (func $export-1 (export "export-1")
(try
(do
(try
@@ -30,7 +30,7 @@
)
;; CHECK: [fuzz-exec] calling export-2
;; CHECK-NEXT: [trap unreachable]
- (func "export-2"
+ (func $export-2 (export "export-2")
(call $inner)
(unreachable)
)
diff --git a/test/lit/exec/eh-gc.wast b/test/lit/exec/eh-gc.wast
index cac2f6adf..f10a27c57 100644
--- a/test/lit/exec/eh-gc.wast
+++ b/test/lit/exec/eh-gc.wast
@@ -6,7 +6,7 @@
(tag $tag (param externref))
;; CHECK: [fuzz-exec] calling catch-null
- (func "catch-null"
+ (func $catch-null (export "catch-null")
(try $label$3
(do
;; Throw a null.
diff --git a/test/lit/exec/eh-print.wast b/test/lit/exec/eh-print.wast
index 8f9520e75..f50164631 100644
--- a/test/lit/exec/eh-print.wast
+++ b/test/lit/exec/eh-print.wast
@@ -12,7 +12,7 @@
;; CHECK: [fuzz-exec] calling array
;; CHECK-NEXT: [exception thrown: A [ref (type $array.0 (array (mut i32))) (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0[..])]]
- (func "array" (result (ref $A))
+ (func $array (export "array") (result (ref $A))
;; Throw a very large array. We should not print all 12K items in it, as that
;; would be very verbose. Instead we stop after a reasonable amount and
;; print [..] for the rest.
@@ -25,7 +25,7 @@
;; CHECK: [fuzz-exec] calling struct
;; CHECK-NEXT: [exception thrown: B [ref (type $struct.0 (struct (field (mut anyref)))) [ref (type $struct.0 (struct (field (mut anyref)))) [ref (type $struct.0 (struct (field (mut anyref)))) [ref (type $struct.0 (struct (field (mut anyref)))) [ref (type $struct.0 (struct (field (mut anyref)))) [ref (type $struct.0 (struct (field (mut anyref)))) [ref (type $struct.0 (struct (field (mut anyref)))) [ref (type $struct.0 (struct (field (mut anyref)))) [ref (type $struct.0 (struct (field (mut anyref)))) [ref (type $struct.0 (struct (field (mut anyref)))) [ref (type $struct.0 (struct (field (mut anyref)))) [ref (type $struct.0 (struct (field (mut anyref)))) [ref (type $struct.0 (struct (field (mut anyref)))) [ref (type $struct.0 (struct (field (mut anyref)))) [ref (type $struct.0 (struct (field (mut anyref)))) [ref (type $struct.0 (struct (field (mut anyref)))) [ref (type $struct.0 (struct (field (mut anyref)))) [ref (type $struct.0 (struct (field (mut anyref)))) [ref (type $struct.0 (struct (field (mut anyref)))) [ref (type $struct.0 (struct (field (mut anyref)))) [ref (type $struct.0 (struct (field (mut anyref)))) [ref (type $struct.0 (struct (field (mut anyref)))) [ref (type $struct.0 (struct (field (mut anyref)))) [ref (type $struct.0 (struct (field (mut anyref)))) [ref (type $struct.0 (struct (field (mut anyref)))) [ref (type $struct.0 (struct (field (mut anyref)))) [ref (type $struct.0 (struct (field (mut anyref)))) [ref (type $struct.0 (struct (field (mut anyref)))) [ref (type $struct.0 (struct (field (mut anyref)))) [ref (type $struct.0 (struct (field (mut anyref)))) [ref (type $struct.0 (struct (field (mut anyref)))) [ref (type $struct.0 (struct (field (mut anyref)))) [ref (type $struct.0 (struct (field (mut anyref)))) [ref (type $struct.0 (struct (field (mut anyref)))) [ref (type $struct.0 (struct (field (mut anyref)))) [ref (type $struct.0 (struct (field (mut anyref)))) [ref (type $struct.0 (struct (field (mut anyref)))) [ref (type $struct.0 (struct (field (mut anyref)))) [ref (type $struct.0 (struct (field (mut anyref)))) [ref (type $struct.0 (struct (field (mut anyref)))) [ref (type $struct.0 (struct (field (mut anyref)))) [ref (type $struct.0 (struct (field (mut anyref)))) [ref (type $struct.0 (struct (field (mut anyref)))) [ref (type $struct.0 (struct (field (mut anyref)))) [ref (type $struct.0 (struct (field (mut anyref)))) [ref (type $struct.0 (struct (field (mut anyref)))) [ref (type $struct.0 (struct (field (mut anyref)))) [ref (type $struct.0 (struct (field (mut anyref)))) [ref (type $struct.0 (struct (field (mut anyref)))) [ref (type $struct.0 (struct (field (mut anyref)))) [..]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
- (func "struct" (result (ref $B))
+ (func $struct (export "struct") (result (ref $B))
(local $x (ref $B))
;; As above, but now with a recursive struct.
(local.set $x
@@ -40,4 +40,3 @@
)
)
)
-
diff --git a/test/lit/exec/eh.wast b/test/lit/exec/eh.wast
index 779309eb6..930e57c20 100644
--- a/test/lit/exec/eh.wast
+++ b/test/lit/exec/eh.wast
@@ -7,12 +7,12 @@
;; CHECK: [fuzz-exec] calling throw
;; CHECK-NEXT: [exception thrown: e-i32 1]
- (func "throw"
+ (func $throw (export "throw")
(throw $e-i32 (i32.const 1))
)
;; CHECK: [fuzz-exec] calling try-catch
- (func "try-catch"
+ (func $try-catch (export "try-catch")
(try
(do
(throw $e-i32 (i32.const 2))
@@ -25,7 +25,7 @@
;; CHECK: [fuzz-exec] calling catchless-try
;; CHECK-NEXT: [exception thrown: e-i32 3]
- (func "catchless-try"
+ (func $catchless-try (export "catchless-try")
(try
(do
(throw $e-i32 (i32.const 3))
@@ -35,7 +35,7 @@
;; CHECK: [fuzz-exec] calling try-delegate
;; CHECK-NEXT: [exception thrown: e-i32 4]
- (func "try-delegate"
+ (func $try-delegate (export "try-delegate")
(try $l0
(do
(try
diff --git a/test/lit/exec/gc-cycle-leak.wast b/test/lit/exec/gc-cycle-leak.wast
index 75c329392..f4f62b533 100644
--- a/test/lit/exec/gc-cycle-leak.wast
+++ b/test/lit/exec/gc-cycle-leak.wast
@@ -6,7 +6,7 @@
(type $A (struct (field (mut (ref null $A)))))
;; CHECK: [fuzz-exec] calling test
- (func "test"
+ (func $test (export "test")
(local $a (ref $A))
;; This function makes a self-cycle where the local $a's ref field points to
;; itself. This test checks that we do not error, even in sanitizers, when
diff --git a/test/lit/exec/host-limit.wast b/test/lit/exec/host-limit.wast
index ee59d655b..e64a47d8a 100644
--- a/test/lit/exec/host-limit.wast
+++ b/test/lit/exec/host-limit.wast
@@ -18,10 +18,9 @@
;; CHECK: [fuzz-exec] calling export
;; CHECK-NEXT: [LoggingExternalInterface logging 42]
;; CHECK-NEXT: ignoring comparison of ExecutionResults!
- (func "export"
+ (func $export (export "export")
(call $log
(i32.const 42)
)
)
)
-
diff --git a/test/lit/exec/i31.wast b/test/lit/exec/i31.wast
index cd25dffa0..70d220d8c 100644
--- a/test/lit/exec/i31.wast
+++ b/test/lit/exec/i31.wast
@@ -5,7 +5,7 @@
(module
;; CHECK: [fuzz-exec] calling null-local
;; CHECK-NEXT: [fuzz-exec] note result: null-local => 1
- (func "null-local" (result i32)
+ (func $null-local (export "null-local") (result i32)
(local $ref (ref null i31))
(ref.is_null
(local.get $ref)
@@ -14,7 +14,7 @@
;; CHECK: [fuzz-exec] calling null-immediate
;; CHECK-NEXT: [fuzz-exec] note result: null-immediate => 1
- (func "null-immediate" (result i32)
+ (func $null-immediate (export "null-immediate") (result i32)
(ref.is_null
(ref.null i31)
)
@@ -22,7 +22,7 @@
;; CHECK: [fuzz-exec] calling non-null
;; CHECK-NEXT: [fuzz-exec] note result: non-null => 0
- (func "non-null" (result i32)
+ (func $non-null (export "non-null") (result i32)
(ref.is_null
(ref.i31
(i32.const 1234)
@@ -32,7 +32,7 @@
;; CHECK: [fuzz-exec] calling nn-u
;; CHECK-NEXT: [fuzz-exec] note result: nn-u => 2147483647
- (func "nn-u" (result i32)
+ (func $nn-u (export "nn-u") (result i32)
(i31.get_u
(ref.i31
(i32.const 0xffffffff)
@@ -42,7 +42,7 @@
;; CHECK: [fuzz-exec] calling nn-s
;; CHECK-NEXT: [fuzz-exec] note result: nn-s => -1
- (func "nn-s" (result i32)
+ (func $nn-s (export "nn-s") (result i32)
(i31.get_s
(ref.i31
(i32.const 0xffffffff)
@@ -52,7 +52,7 @@
;; CHECK: [fuzz-exec] calling zero-is-not-null
;; CHECK-NEXT: [fuzz-exec] note result: zero-is-not-null => 0
- (func "zero-is-not-null" (result i32)
+ (func $zero-is-not-null (export "zero-is-not-null") (result i32)
(local $ref (ref null i31))
(local.set $ref
(ref.i31
@@ -71,7 +71,7 @@
;; CHECK: [fuzz-exec] calling trap
;; CHECK-NEXT: [trap null ref]
- (func "trap" (result i32)
+ (func $trap (export "trap") (result i32)
(i31.get_u
(ref.null i31)
)
diff --git a/test/lit/exec/intrinsics.wast b/test/lit/exec/intrinsics.wast
index d53082a77..c8ae28643 100644
--- a/test/lit/exec/intrinsics.wast
+++ b/test/lit/exec/intrinsics.wast
@@ -7,7 +7,7 @@
;; CHECK: [fuzz-exec] calling get-ref
;; CHECK-NEXT: [fuzz-exec] note result: get-ref => 42
- (func "get-ref" (result i32)
+ (func $get-ref (export "get-ref") (result i32)
(call $cwe
(i32.const 41)
(ref.func $add-one)
@@ -21,4 +21,3 @@
)
)
)
-
diff --git a/test/lit/exec/memory.grow.wast b/test/lit/exec/memory.grow.wast
index 64d88bfc7..426f4b4c0 100644
--- a/test/lit/exec/memory.grow.wast
+++ b/test/lit/exec/memory.grow.wast
@@ -7,7 +7,7 @@
;; CHECK: [fuzz-exec] calling grow_twice
;; CHECK-NEXT: [fuzz-exec] note result: grow_twice => 3
- (func "grow_twice" (result i32)
+ (func $grow_twice (export "grow_twice") (result i32)
;; The nested grow will increase the size from 1 to 3, and return the old
;; size, 1. Then the outer grow will grow by that amount 1, from 3 to 4.
(memory.grow
@@ -19,7 +19,7 @@
;; CHECK: [fuzz-exec] calling measure
;; CHECK-NEXT: [fuzz-exec] note result: measure => 4
- (func "measure" (export "measure") (result i32)
+ (func $measure (export "measure") (result i32)
;; This should return the final size, 4.
(memory.size)
)
diff --git a/test/lit/exec/negative-zero.wast b/test/lit/exec/negative-zero.wast
index 4a1e339ca..2c45dbdfb 100644
--- a/test/lit/exec/negative-zero.wast
+++ b/test/lit/exec/negative-zero.wast
@@ -5,7 +5,7 @@
(module
;; CHECK: [fuzz-exec] calling min1
;; CHECK-NEXT: [fuzz-exec] note result: min1 => -0
- (func "min1" (result f64)
+ (func $min1 (export "min1") (result f64)
;; This should return -0.
(f64.min
(f64.const 0)
@@ -15,7 +15,7 @@
;; CHECK: [fuzz-exec] calling min2
;; CHECK-NEXT: [fuzz-exec] note result: min2 => -0
- (func "min2" (result f64)
+ (func $min2 (export "min2") (result f64)
;; Flipped arms; still -0.
(f64.min
(f64.const -0)
@@ -25,7 +25,7 @@
;; CHECK: [fuzz-exec] calling min1-f32
;; CHECK-NEXT: [fuzz-exec] note result: min1-f32 => -0
- (func "min1-f32" (result f32)
+ (func $min1-f32 (export "min1-f32") (result f32)
;; As above, but f32 and not f64
(f32.min
(f32.const 0)
@@ -35,7 +35,7 @@
;; CHECK: [fuzz-exec] calling min2-f32
;; CHECK-NEXT: [fuzz-exec] note result: min2-f32 => -0
- (func "min2-f32" (result f32)
+ (func $min2-f32 (export "min2-f32") (result f32)
;; Flipped arms; still -0.
(f32.min
(f32.const -0)
@@ -45,7 +45,7 @@
;; CHECK: [fuzz-exec] calling max1
;; CHECK-NEXT: [fuzz-exec] note result: max1 => 0
- (func "max1" (result f64)
+ (func $max1 (export "max1") (result f64)
;; This should return 0.
(f64.max
(f64.const 0)
@@ -55,7 +55,7 @@
;; CHECK: [fuzz-exec] calling max2
;; CHECK-NEXT: [fuzz-exec] note result: max2 => 0
- (func "max2" (result f64)
+ (func $max2 (export "max2") (result f64)
;; Flipped arms; still 0.
(f64.max
(f64.const -0)
@@ -65,7 +65,7 @@
;; CHECK: [fuzz-exec] calling max1-f32
;; CHECK-NEXT: [fuzz-exec] note result: max1-f32 => 0
- (func "max1-f32" (result f32)
+ (func $max1-f32 (export "max1-f32") (result f32)
;; As above, but f32 and not f64
(f32.max
(f32.const 0)
@@ -76,7 +76,7 @@
;; CHECK: [fuzz-exec] calling max2-f32
;; CHECK-NEXT: [fuzz-exec] note result: max2-f32 => 0
;; CHECK-NEXT: warning: no passes specified, not doing any work
- (func "max2-f32" (result f32)
+ (func $max2-f32 (export "max2-f32") (result f32)
;; Flipped arms; still 0.
(f32.max
(f32.const -0)
diff --git a/test/lit/exec/no-compare-refs.wast b/test/lit/exec/no-compare-refs.wast
index 95afa51dc..bfa317a53 100644
--- a/test/lit/exec/no-compare-refs.wast
+++ b/test/lit/exec/no-compare-refs.wast
@@ -13,7 +13,7 @@
;; signature pruning. The fuzzer should not complain about this.
;; CHECK: [fuzz-exec] calling return-ref
;; CHECK-NEXT: [fuzz-exec] note result: return-ref => funcref
- (func "return-ref" (result funcref)
+ (func $return-ref (export "return-ref") (result funcref)
(ref.func $no-use-param)
)
)
diff --git a/test/lit/exec/non-nullable.wast b/test/lit/exec/non-nullable.wast
index d443947c6..da71d53eb 100644
--- a/test/lit/exec/non-nullable.wast
+++ b/test/lit/exec/non-nullable.wast
@@ -5,7 +5,7 @@
(module
;; CHECK: [fuzz-exec] calling get-ref
;; CHECK-NEXT: [trap fuzzer can only send defaultable parameters to exports]
- (func "get-ref" (param $0 (ref any))
+ (func $get-ref (export "get-ref") (param $0 (ref any))
(nop)
)
)
diff --git a/test/lit/exec/read-nn-null.wast b/test/lit/exec/read-nn-null.wast
index d72688969..beb2c5c7e 100644
--- a/test/lit/exec/read-nn-null.wast
+++ b/test/lit/exec/read-nn-null.wast
@@ -30,6 +30,12 @@
(module
(import "fuzzing-support" "log-i32" (func $log (param i32)))
+ ;; NORMAL: [fuzz-exec] calling foo
+ ;; NORMAL-NEXT: [LoggingExternalInterface logging 42]
+ ;; NORMAL-NEXT: [trap unreachable]
+ ;; TNH: [fuzz-exec] calling foo
+ ;; TNH-NEXT: [LoggingExternalInterface logging 42]
+ ;; TNH-NEXT: [trap unreachable]
(func $foo (export "foo") (param $i i32) (result funcref)
(local $ref (ref func))
(local.set $ref
@@ -58,17 +64,9 @@
;; NORMAL: [fuzz-exec] calling foo
;; NORMAL-NEXT: [LoggingExternalInterface logging 42]
;; NORMAL-NEXT: [trap unreachable]
-
-;; NORMAL: [fuzz-exec] calling foo
-;; NORMAL-NEXT: [LoggingExternalInterface logging 42]
-;; NORMAL-NEXT: [trap unreachable]
;; NORMAL-NEXT: [fuzz-exec] comparing foo
;; TNH: [fuzz-exec] calling foo
;; TNH-NEXT: [LoggingExternalInterface logging 42]
;; TNH-NEXT: [trap unreachable]
-
-;; TNH: [fuzz-exec] calling foo
-;; TNH-NEXT: [LoggingExternalInterface logging 42]
-;; TNH-NEXT: [trap unreachable]
;; TNH-NEXT: [fuzz-exec] comparing foo
diff --git a/test/lit/exec/strings.wast b/test/lit/exec/strings.wast
index 320fe5de5..5460abd2a 100644
--- a/test/lit/exec/strings.wast
+++ b/test/lit/exec/strings.wast
@@ -7,7 +7,7 @@
;; CHECK: [fuzz-exec] calling new_wtf16_array
;; CHECK-NEXT: [fuzz-exec] note result: new_wtf16_array => string("ello")
- (func "new_wtf16_array" (result stringref)
+ (func $new_wtf16_array (export "new_wtf16_array") (result stringref)
(string.new_wtf16_array
(array.new_fixed $array16 5
(i32.const 104) ;; h
@@ -23,13 +23,13 @@
;; CHECK: [fuzz-exec] calling const
;; CHECK-NEXT: [fuzz-exec] note result: const => string("world")
- (func "const" (result stringref)
+ (func $const (export "const") (result stringref)
(string.const "world")
)
;; CHECK: [fuzz-exec] calling eq.1
;; CHECK-NEXT: [fuzz-exec] note result: eq.1 => 0
- (func "eq.1" (result i32)
+ (func $eq.1 (export "eq.1") (result i32)
(string.eq
(string.const "hello")
(string.const "world")
@@ -38,7 +38,7 @@
;; CHECK: [fuzz-exec] calling eq.2
;; CHECK-NEXT: [fuzz-exec] note result: eq.2 => 1
- (func "eq.2" (result i32)
+ (func $eq.2 (export "eq.2") (result i32)
(string.eq
(string.const "hello")
(string.const "hello")
@@ -47,7 +47,7 @@
;; CHECK: [fuzz-exec] calling eq.3
;; CHECK-NEXT: [fuzz-exec] note result: eq.3 => 0
- (func "eq.3" (result i32)
+ (func $eq.3 (export "eq.3") (result i32)
(string.eq
(string.const "hello")
(ref.null string)
@@ -56,7 +56,7 @@
;; CHECK: [fuzz-exec] calling eq.4
;; CHECK-NEXT: [fuzz-exec] note result: eq.4 => 0
- (func "eq.4" (result i32)
+ (func $eq.4 (export "eq.4") (result i32)
(string.eq
(ref.null string)
(string.const "world")
@@ -65,7 +65,7 @@
;; CHECK: [fuzz-exec] calling eq.5
;; CHECK-NEXT: [fuzz-exec] note result: eq.5 => 1
- (func "eq.5" (result i32)
+ (func $eq.5 (export "eq.5") (result i32)
(string.eq
(ref.null string)
(ref.null string)
@@ -74,7 +74,7 @@
;; CHECK: [fuzz-exec] calling compare.1
;; CHECK-NEXT: [trap null ref]
- (func "compare.1" (result i32)
+ (func $compare.1 (export "compare.1") (result i32)
(string.compare
(string.const "hello")
(ref.null string)
@@ -83,7 +83,7 @@
;; CHECK: [fuzz-exec] calling compare.2
;; CHECK-NEXT: [trap null ref]
- (func "compare.2" (result i32)
+ (func $compare.2 (export "compare.2") (result i32)
(string.compare
(ref.null string)
(string.const "world")
@@ -92,7 +92,7 @@
;; CHECK: [fuzz-exec] calling compare.3
;; CHECK-NEXT: [trap null ref]
- (func "compare.3" (result i32)
+ (func $compare.3 (export "compare.3") (result i32)
(string.compare
(ref.null string)
(ref.null string)
@@ -101,7 +101,7 @@
;; CHECK: [fuzz-exec] calling compare.4
;; CHECK-NEXT: [fuzz-exec] note result: compare.4 => 0
- (func "compare.4" (result i32)
+ (func $compare.4 (export "compare.4") (result i32)
(string.compare
(string.const "hello")
(string.const "hello")
@@ -110,7 +110,7 @@
;; CHECK: [fuzz-exec] calling compare.5
;; CHECK-NEXT: [fuzz-exec] note result: compare.5 => -1
- (func "compare.5" (result i32)
+ (func $compare.5 (export "compare.5") (result i32)
(string.compare
(string.const "hello")
(string.const "hezlo")
@@ -119,7 +119,7 @@
;; CHECK: [fuzz-exec] calling compare.6
;; CHECK-NEXT: [fuzz-exec] note result: compare.6 => 1
- (func "compare.6" (result i32)
+ (func $compare.6 (export "compare.6") (result i32)
(string.compare
(string.const "hezlo")
(string.const "hello")
@@ -128,7 +128,7 @@
;; CHECK: [fuzz-exec] calling compare.7
;; CHECK-NEXT: [fuzz-exec] note result: compare.7 => -1
- (func "compare.7" (result i32)
+ (func $compare.7 (export "compare.7") (result i32)
(string.compare
(string.const "he")
(string.const "hello")
@@ -137,7 +137,7 @@
;; CHECK: [fuzz-exec] calling compare.8
;; CHECK-NEXT: [fuzz-exec] note result: compare.8 => 1
- (func "compare.8" (result i32)
+ (func $compare.8 (export "compare.8") (result i32)
(string.compare
(string.const "hello")
(string.const "he")
@@ -146,7 +146,7 @@
;; CHECK: [fuzz-exec] calling compare.9
;; CHECK-NEXT: [fuzz-exec] note result: compare.9 => 1
- (func "compare.9" (result i32)
+ (func $compare.9 (export "compare.9") (result i32)
(string.compare
(string.const "hf")
(string.const "hello")
@@ -155,7 +155,7 @@
;; CHECK: [fuzz-exec] calling compare.10
;; CHECK-NEXT: [fuzz-exec] note result: compare.10 => -1
- (func "compare.10" (result i32)
+ (func $compare.10 (export "compare.10") (result i32)
(string.compare
(string.const "hello")
(string.const "hf")
diff --git a/test/lit/merge/table_elem.wat b/test/lit/merge/table_elem.wat
index c7505d0ee..8177cd75d 100644
--- a/test/lit/merge/table_elem.wat
+++ b/test/lit/merge/table_elem.wat
@@ -29,7 +29,39 @@
;; CHECK: (elem $b (table $bar) (i32.const 0) func)
(elem $b (table $bar) (i32.const 0) func)
- (func "keepalive2"
+ ;; CHECK: (elem $a_2 (table $foo_2) (i32.const 0) func)
+
+ ;; CHECK: (elem $b_2 (table $other) (i32.const 0) func)
+
+ ;; CHECK: (export "keepalive2" (func $keepalive2))
+
+ ;; CHECK: (export "keepalive2_1" (func $keepalive2_1))
+
+ ;; CHECK: (func $keepalive2 (type $1)
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (table.get $foo
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (table.get $bar
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (array.new_elem $vec $a
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (array.new_elem $vec $b
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $keepalive2 (export "keepalive2")
(drop
(table.get $foo
(i32.const 1)
@@ -55,40 +87,7 @@
)
)
)
-;; CHECK: (elem $a_2 (table $foo_2) (i32.const 0) func)
-
-;; CHECK: (elem $b_2 (table $other) (i32.const 0) func)
-
-;; CHECK: (export "keepalive2" (func $0))
-
-;; CHECK: (export "keepalive2_1" (func $0_1))
-
-;; CHECK: (func $0 (type $1)
-;; CHECK-NEXT: (drop
-;; CHECK-NEXT: (table.get $foo
-;; CHECK-NEXT: (i32.const 1)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (drop
-;; CHECK-NEXT: (table.get $bar
-;; CHECK-NEXT: (i32.const 1)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (drop
-;; CHECK-NEXT: (array.new_elem $vec $a
-;; CHECK-NEXT: (i32.const 1)
-;; CHECK-NEXT: (i32.const 2)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (drop
-;; CHECK-NEXT: (array.new_elem $vec $b
-;; CHECK-NEXT: (i32.const 3)
-;; CHECK-NEXT: (i32.const 4)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
-
-;; CHECK: (func $0_1 (type $1)
+;; CHECK: (func $keepalive2_1 (type $1)
;; CHECK-NEXT: (drop
;; CHECK-NEXT: (table.get $foo_2
;; CHECK-NEXT: (i32.const 1)
diff --git a/test/lit/merge/table_elem.wat.second b/test/lit/merge/table_elem.wat.second
index 7aa960c7f..c186e6b16 100644
--- a/test/lit/merge/table_elem.wat.second
+++ b/test/lit/merge/table_elem.wat.second
@@ -9,7 +9,7 @@
(elem $b (table $other) (i32.const 0) func)
- (func "keepalive2"
+ (func $keepalive2 (export "keepalive2")
(drop
(table.get $foo
(i32.const 1)
diff --git a/test/lit/passes/O1.wast b/test/lit/passes/O1.wast
index 516c9b2ee..8ffc29301 100644
--- a/test/lit/passes/O1.wast
+++ b/test/lit/passes/O1.wast
@@ -9,7 +9,17 @@
;; CHECK: (memory $0 1 1)
(memory $0 1 1)
(global $global$0 (mut i32) (i32.const 10))
- (func "foo" (result i32)
+ ;; CHECK: (export "foo" (func $foo))
+
+ ;; CHECK: (func $foo (result i32)
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.load align=1
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $foo (export "foo") (result i32)
(i32.load offset=4 align=1
(i32.and
(block $label$1 (result i32)
@@ -31,13 +41,3 @@
)
-;; CHECK: (export "foo" (func $0))
-
-;; CHECK: (func $0 (result i32)
-;; CHECK-NEXT: (drop
-;; CHECK-NEXT: (i32.const 0)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (i32.load align=1
-;; CHECK-NEXT: (i32.const 4)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
diff --git a/test/lit/passes/O1_skip.wast b/test/lit/passes/O1_skip.wast
index d4eef7c84..2cefecdcf 100644
--- a/test/lit/passes/O1_skip.wast
+++ b/test/lit/passes/O1_skip.wast
@@ -14,7 +14,7 @@
;; CHECK: (import "a" "b" (func $log (param i32 i32)))
(import "a" "b" (func $log (param i32 i32)))
- (func "foo" (param $p i32)
+ (func $foo (export "foo") (param $p i32)
;; The locals $x and $y can be coalesced into a single local, but as we do not
;; run that pass, they will not be. Other minor optimizations will occur here,
;; such as using a tee.
@@ -44,9 +44,9 @@
)
)
)
-;; CHECK: (export "foo" (func $0))
+;; CHECK: (export "foo" (func $foo))
-;; CHECK: (func $0 (; has Stack IR ;) (param $p i32)
+;; CHECK: (func $foo (; has Stack IR ;) (param $p i32)
;; CHECK-NEXT: (local $x i32)
;; CHECK-NEXT: (local $y i32)
;; CHECK-NEXT: (call $log
diff --git a/test/lit/passes/O3_Oz.wast b/test/lit/passes/O3_Oz.wast
index 4dca886ac..48345663e 100644
--- a/test/lit/passes/O3_Oz.wast
+++ b/test/lit/passes/O3_Oz.wast
@@ -10,7 +10,22 @@
)
)
- (func "export" (param $x i32) (result i32)
+ ;; CHECK: (type $0 (func (param i32) (result i32)))
+
+ ;; CHECK: (export "export" (func $export))
+
+ ;; CHECK: (func $export (; has Stack IR ;) (param $0 i32) (result i32)
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i32.add
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $export (export "export") (param $x i32) (result i32)
;; $inline.me is called twice, so we do not always inline it like called-
;; once functions are. -Oz is too cautious to inline such things that may
;; end up increasing total code size, but we are running -O3 -Oz here and so
@@ -28,18 +43,3 @@
)
)
)
-;; CHECK: (type $0 (func (param i32) (result i32)))
-
-;; CHECK: (export "export" (func $1))
-
-;; CHECK: (func $1 (; has Stack IR ;) (param $0 i32) (result i32)
-;; CHECK-NEXT: (i32.add
-;; CHECK-NEXT: (local.tee $0
-;; CHECK-NEXT: (i32.add
-;; CHECK-NEXT: (local.get $0)
-;; CHECK-NEXT: (i32.const 2)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (local.get $0)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
diff --git a/test/lit/passes/O_fast-math.wast b/test/lit/passes/O_fast-math.wast
index bff7553a3..722f44a05 100644
--- a/test/lit/passes/O_fast-math.wast
+++ b/test/lit/passes/O_fast-math.wast
@@ -5,73 +5,129 @@
;; with fast-math we can optimize some of these patterns
(module
- (func "div" (result f32)
+ ;; CHECK: (type $0 (func (result f32)))
+
+ ;; CHECK: (type $1 (func (param f32) (result f32)))
+
+ ;; CHECK: (type $2 (func (param f64) (result f64)))
+
+ ;; CHECK: (export "div" (func $div))
+
+ ;; CHECK: (export "mul1" (func $mul1))
+
+ ;; CHECK: (export "mul2" (func $mul2))
+
+ ;; CHECK: (export "add1" (func $mul1))
+
+ ;; CHECK: (export "add2" (func $mul2))
+
+ ;; CHECK: (export "add3" (func $mul2))
+
+ ;; CHECK: (export "add4" (func $mul2))
+
+ ;; CHECK: (export "sub1" (func $mul1))
+
+ ;; CHECK: (export "sub2" (func $mul2))
+
+ ;; CHECK: (export "mul_neg_one1" (func $mul_neg_one1))
+
+ ;; CHECK: (export "mul_neg_one2" (func $mul_neg_one2))
+
+ ;; CHECK: (export "abs_sub_zero1" (func $abs_sub_zero1))
+
+ ;; CHECK: (export "abs_sub_zero2" (func $abs_sub_zero2))
+
+ ;; CHECK: (func $div (; has Stack IR ;) (result f32)
+ ;; CHECK-NEXT: (f32.const -nan:0x23017a)
+ ;; CHECK-NEXT: )
+ (func $div (export "div") (result f32)
(f32.div
(f32.const -nan:0x23017a)
(f32.const 1)
)
)
- (func "mul1" (result f32)
+ ;; CHECK: (func $mul1 (; has Stack IR ;) (result f32)
+ ;; CHECK-NEXT: (f32.const -nan:0x34546d)
+ ;; CHECK-NEXT: )
+ (func $mul1 (export "mul1") (result f32)
(f32.mul
(f32.const -nan:0x34546d)
(f32.const 1)
)
)
- (func "mul2" (result f32)
+ ;; CHECK: (func $mul2 (; has Stack IR ;) (result f32)
+ ;; CHECK-NEXT: (f32.const nan:0x400000)
+ ;; CHECK-NEXT: )
+ (func $mul2 (export "mul2") (result f32)
(f32.mul
(f32.const 1)
(f32.const -nan:0x34546d)
)
)
- (func "add1" (result f32)
+ (func $add1 (export "add1") (result f32)
(f32.add
(f32.const -nan:0x34546d)
(f32.const -0)
)
)
- (func "add2" (result f32)
+ (func $add2 (export "add2") (result f32)
(f32.add
(f32.const -0)
(f32.const -nan:0x34546d)
)
)
- (func "add3" (result f32)
+ (func $add3 (export "add3") (result f32)
(f32.add
(f32.const -nan:0x34546d)
(f32.const 0)
)
)
- (func "add4" (result f32)
+ (func $add4 (export "add4") (result f32)
(f32.add
(f32.const 0)
(f32.const -nan:0x34546d)
)
)
- (func "sub1" (result f32)
+ (func $sub1 (export "sub1") (result f32)
(f32.sub
(f32.const -nan:0x34546d)
(f32.const 0)
)
)
- (func "sub2" (result f32)
+ (func $sub2 (export "sub2") (result f32)
(f32.sub
(f32.const -nan:0x34546d)
(f32.const -0)
)
)
- (func "mul_neg_one1" (param $x f32) (result f32)
+ ;; CHECK: (func $mul_neg_one1 (; has Stack IR ;) (param $0 f32) (result f32)
+ ;; CHECK-NEXT: (f32.neg
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $mul_neg_one1 (export "mul_neg_one1") (param $x f32) (result f32)
(f32.mul
(local.get $x)
(f32.const -1)
)
)
- (func "mul_neg_one2" (param $x f64) (result f64)
+ ;; CHECK: (func $mul_neg_one2 (; has Stack IR ;) (param $0 f64) (result f64)
+ ;; CHECK-NEXT: (f64.neg
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $mul_neg_one2 (export "mul_neg_one2") (param $x f64) (result f64)
(f64.mul
(local.get $x)
(f64.const -1)
)
)
- (func "abs_sub_zero1" (param $x f32) (result f32)
+ ;; CHECK: (func $abs_sub_zero1 (; has Stack IR ;) (param $0 f32) (result f32)
+ ;; CHECK-NEXT: (f32.abs
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $abs_sub_zero1 (export "abs_sub_zero1") (param $x f32) (result f32)
;; abs(0 - x) ==> abs(x)
(f32.abs
(f32.sub
@@ -80,7 +136,12 @@
)
)
)
- (func "abs_sub_zero2" (param $x f64) (result f64)
+ ;; CHECK: (func $abs_sub_zero2 (; has Stack IR ;) (param $0 f64) (result f64)
+ ;; CHECK-NEXT: (f64.abs
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $abs_sub_zero2 (export "abs_sub_zero2") (param $x f64) (result f64)
;; abs(0 - x) ==> abs(x)
(f64.abs
(f64.sub
@@ -90,70 +151,3 @@
)
)
)
-;; CHECK: (type $0 (func (result f32)))
-
-;; CHECK: (type $1 (func (param f32) (result f32)))
-
-;; CHECK: (type $2 (func (param f64) (result f64)))
-
-;; CHECK: (export "div" (func $0))
-
-;; CHECK: (export "mul1" (func $1))
-
-;; CHECK: (export "mul2" (func $2))
-
-;; CHECK: (export "add1" (func $1))
-
-;; CHECK: (export "add2" (func $2))
-
-;; CHECK: (export "add3" (func $2))
-
-;; CHECK: (export "add4" (func $2))
-
-;; CHECK: (export "sub1" (func $1))
-
-;; CHECK: (export "sub2" (func $2))
-
-;; CHECK: (export "mul_neg_one1" (func $9))
-
-;; CHECK: (export "mul_neg_one2" (func $10))
-
-;; CHECK: (export "abs_sub_zero1" (func $11))
-
-;; CHECK: (export "abs_sub_zero2" (func $12))
-
-;; CHECK: (func $0 (; has Stack IR ;) (result f32)
-;; CHECK-NEXT: (f32.const -nan:0x23017a)
-;; CHECK-NEXT: )
-
-;; CHECK: (func $1 (; has Stack IR ;) (result f32)
-;; CHECK-NEXT: (f32.const -nan:0x34546d)
-;; CHECK-NEXT: )
-
-;; CHECK: (func $2 (; has Stack IR ;) (result f32)
-;; CHECK-NEXT: (f32.const nan:0x400000)
-;; CHECK-NEXT: )
-
-;; CHECK: (func $9 (; has Stack IR ;) (param $0 f32) (result f32)
-;; CHECK-NEXT: (f32.neg
-;; CHECK-NEXT: (local.get $0)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
-
-;; CHECK: (func $10 (; has Stack IR ;) (param $0 f64) (result f64)
-;; CHECK-NEXT: (f64.neg
-;; CHECK-NEXT: (local.get $0)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
-
-;; CHECK: (func $11 (; has Stack IR ;) (param $0 f32) (result f32)
-;; CHECK-NEXT: (f32.abs
-;; CHECK-NEXT: (local.get $0)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
-
-;; CHECK: (func $12 (; has Stack IR ;) (param $0 f64) (result f64)
-;; CHECK-NEXT: (f64.abs
-;; CHECK-NEXT: (local.get $0)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
diff --git a/test/lit/passes/dae-gc-refine-params.wast b/test/lit/passes/dae-gc-refine-params.wast
index 2f55e4012..51e97456c 100644
--- a/test/lit/passes/dae-gc-refine-params.wast
+++ b/test/lit/passes/dae-gc-refine-params.wast
@@ -21,12 +21,12 @@
;; CHECK: (func $call-various-params-no (type $0)
;; CHECK-NEXT: (call $various-params-no
- ;; CHECK-NEXT: (call $get_{})
- ;; CHECK-NEXT: (call $get_{i32})
+ ;; CHECK-NEXT: (call $"get_{}")
+ ;; CHECK-NEXT: (call $"get_{i32}")
;; CHECK-NEXT: )
;; CHECK-NEXT: (call $various-params-no
- ;; CHECK-NEXT: (call $get_{i32})
- ;; CHECK-NEXT: (call $get_{f64})
+ ;; CHECK-NEXT: (call $"get_{i32}")
+ ;; CHECK-NEXT: (call $"get_{f64}")
;; CHECK-NEXT: )
;; CHECK-NEXT: )
(func $call-various-params-no
@@ -59,35 +59,26 @@
(drop (local.get $y))
)
- ;; CHECK: (func $get_{} (type $8) (result (ref null ${}))
- ;; CHECK-NEXT: (unreachable)
- ;; CHECK-NEXT: )
(func $get_{} (result (ref null ${}))
(unreachable)
)
- ;; 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 $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 $0)
;; CHECK-NEXT: (call $various-params-yes
- ;; CHECK-NEXT: (call $get_null_{i32})
+ ;; CHECK-NEXT: (call $"get_null_{i32}")
;; CHECK-NEXT: (i32.const 0)
- ;; CHECK-NEXT: (call $get_null_{i32})
+ ;; CHECK-NEXT: (call $"get_null_{i32}")
;; CHECK-NEXT: )
;; CHECK-NEXT: (call $various-params-yes
- ;; CHECK-NEXT: (call $get_null_{i32})
+ ;; CHECK-NEXT: (call $"get_null_{i32}")
;; CHECK-NEXT: (i32.const 1)
- ;; CHECK-NEXT: (call $get_null_{i32_i64})
+ ;; CHECK-NEXT: (call $"get_null_{i32_i64}")
;; CHECK-NEXT: )
;; CHECK-NEXT: )
(func $call-various-params-yes
@@ -127,12 +118,12 @@
;; 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})
+ ;; CHECK-NEXT: (call $"get_null_{i32}")
+ ;; CHECK-NEXT: (call $"get_null_{i32}")
;; CHECK-NEXT: )
;; CHECK-NEXT: (call $various-params-set
- ;; CHECK-NEXT: (call $get_null_{i32})
- ;; CHECK-NEXT: (call $get_null_{i32_i64})
+ ;; CHECK-NEXT: (call $"get_null_{i32}")
+ ;; CHECK-NEXT: (call $"get_null_{i32_i64}")
;; CHECK-NEXT: )
;; CHECK-NEXT: )
(func $call-various-params-set
@@ -169,7 +160,7 @@
;; CHECK-NEXT: (local.get $2)
;; CHECK-NEXT: )
;; CHECK-NEXT: (local.set $y
- ;; CHECK-NEXT: (call $get_null_{i32_i64})
+ ;; CHECK-NEXT: (call $"get_null_{i32_i64}")
;; CHECK-NEXT: )
;; CHECK-NEXT: (drop
;; CHECK-NEXT: (local.get $y)
@@ -198,7 +189,7 @@
;; CHECK: (func $call-various-params-tee (type $0)
;; CHECK-NEXT: (call $various-params-tee
- ;; CHECK-NEXT: (call $get_null_{i32})
+ ;; CHECK-NEXT: (call $"get_null_{i32}")
;; CHECK-NEXT: )
;; CHECK-NEXT: )
(func $call-various-params-tee
@@ -214,7 +205,7 @@
;; CHECK-NEXT: (drop
;; CHECK-NEXT: (block (result (ref null ${i32}))
;; CHECK-NEXT: (local.tee $x
- ;; CHECK-NEXT: (call $get_null_{i32_i64})
+ ;; CHECK-NEXT: (call $"get_null_{i32_i64}")
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
@@ -237,7 +228,7 @@
;; CHECK-NEXT: (ref.as_non_null
;; CHECK-NEXT: (ref.null none)
;; CHECK-NEXT: )
- ;; CHECK-NEXT: (call $get_null_{i32})
+ ;; CHECK-NEXT: (call $"get_null_{i32}")
;; CHECK-NEXT: )
;; CHECK-NEXT: (call $various-params-null
;; CHECK-NEXT: (ref.as_non_null
@@ -288,10 +279,10 @@
;; CHECK: (func $call-various-params-middle (type $0)
;; CHECK-NEXT: (call $various-params-middle
- ;; CHECK-NEXT: (call $get_null_{i32_i64})
+ ;; CHECK-NEXT: (call $"get_null_{i32_i64}")
;; CHECK-NEXT: )
;; CHECK-NEXT: (call $various-params-middle
- ;; CHECK-NEXT: (call $get_null_{i32_f32})
+ ;; CHECK-NEXT: (call $"get_null_{i32_f32}")
;; CHECK-NEXT: )
;; CHECK-NEXT: )
(func $call-various-params-middle
@@ -399,13 +390,6 @@
(drop (local.get $x))
)
- ;; 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})
- ;; CHECK-NEXT: (i32.const 0)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
(func $get_null_{i32} (result (ref null ${i32}))
;; Helper function that returns a null value of ${i32}. We use this instead of
;; a direct ref.null because those can be rewritten by LUBFinder.
@@ -416,13 +400,6 @@
)
)
- ;; 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})
- ;; CHECK-NEXT: (i32.const 0)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
(func $get_null_{i32_i64} (result (ref null ${i32_i64}))
(select
(ref.null none)
@@ -431,13 +408,6 @@
)
)
- ;; 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})
- ;; CHECK-NEXT: (i32.const 0)
- ;; CHECK-NEXT: )
- ;; CHECK-NEXT: )
(func $get_null_{i32_f32} (result (ref null ${i32_f32}))
(select
(ref.null none)
diff --git a/test/lit/passes/dae-gc-refine-return.wast b/test/lit/passes/dae-gc-refine-return.wast
index 806683a62..aa474d7f3 100644
--- a/test/lit/passes/dae-gc-refine-return.wast
+++ b/test/lit/passes/dae-gc-refine-return.wast
@@ -395,9 +395,9 @@
(unreachable)
)
;; CHECK: (func $tail-caller-call_ref-yes (type $return_{}) (result (ref ${}))
- ;; CHECK-NEXT: (local $return_{} (ref null $return_{}))
+ ;; CHECK-NEXT: (local $"return_{}" (ref null $return_{}))
;; CHECK-NEXT: (return_call_ref $return_{}
- ;; CHECK-NEXT: (local.get $return_{})
+ ;; CHECK-NEXT: (local.get $"return_{}")
;; CHECK-NEXT: )
;; CHECK-NEXT: )
(func $tail-caller-call_ref-yes (result anyref)
@@ -407,7 +407,7 @@
)
;; 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: (local $"return_{}" (ref null $return_{}))
;; CHECK-NEXT: (if
;; CHECK-NEXT: (i32.const 1)
;; CHECK-NEXT: (return
@@ -415,7 +415,7 @@
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (return_call_ref $return_{}
- ;; CHECK-NEXT: (local.get $return_{})
+ ;; CHECK-NEXT: (local.get $"return_{}")
;; CHECK-NEXT: )
;; CHECK-NEXT: )
(func $tail-caller-call_ref-no (result anyref)
diff --git a/test/lit/passes/dae_all-features.wast b/test/lit/passes/dae_all-features.wast
index dee38f646..17626c953 100644
--- a/test/lit/passes/dae_all-features.wast
+++ b/test/lit/passes/dae_all-features.wast
@@ -361,21 +361,20 @@
)
)
(module ;; both operations at once: remove params and return value
- (func "a"
+ ;; CHECK: (type $0 (func))
+
+ ;; CHECK: (export "a" (func $a))
+
+ ;; CHECK: (func $a (type $0)
+ ;; CHECK-NEXT: (call $b)
+ ;; CHECK-NEXT: )
+ (func $a (export "a")
(drop
(call $b
(i32.const 1)
)
)
)
- ;; CHECK: (type $0 (func))
-
- ;; CHECK: (export "a" (func $0))
-
- ;; CHECK: (func $0 (type $0)
- ;; CHECK-NEXT: (call $b)
- ;; CHECK-NEXT: )
-
;; CHECK: (func $b (type $0)
;; CHECK-NEXT: (local $0 i32)
;; CHECK-NEXT: (drop
@@ -467,7 +466,7 @@
;; CHECK: (elem declare func $0)
- ;; CHECK: (export "export" (func $1))
+ ;; CHECK: (export "export" (func $export))
;; CHECK: (func $0 (type $0) (param $0 funcref) (param $1 i32) (param $2 f64) (result i64)
;; CHECK-NEXT: (nop)
@@ -477,15 +476,15 @@
(nop)
(unreachable)
)
- (func "export" (param $0 f32) (result funcref)
+ ;; CHECK: (func $export (type $1) (param $0 f32) (result funcref)
+ ;; CHECK-NEXT: (ref.func $0)
+ ;; CHECK-NEXT: )
+ (func $export (export "export") (param $0 f32) (result funcref)
;; a ref.func should prevent us from changing the type of a function, as it
;; may escape
(ref.func $0)
)
)
-;; 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)))
diff --git a/test/lit/passes/flatten_all-features.wast b/test/lit/passes/flatten_all-features.wast
index 5ae10ac14..3ce849686 100644
--- a/test/lit/passes/flatten_all-features.wast
+++ b/test/lit/passes/flatten_all-features.wast
@@ -3481,7 +3481,7 @@
;; CHECK: (type $1 (func (result i32)))
- ;; CHECK: (export "test" (func $1))
+ ;; CHECK: (export "test" (func $test))
;; CHECK: (func $0 (type $0) (param $0 i64) (param $1 f32)
;; CHECK-NEXT: (nop)
@@ -3489,7 +3489,18 @@
(func $0 (param $0 i64) (param $1 f32)
(nop)
)
- (func "test" (result i32)
+ ;; CHECK: (func $test (type $1) (result i32)
+ ;; CHECK-NEXT: (unreachable)
+ ;; CHECK-NEXT: (return
+ ;; CHECK-NEXT: (i32.const -111)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $0
+ ;; CHECK-NEXT: (unreachable)
+ ;; CHECK-NEXT: (unreachable)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (unreachable)
+ ;; CHECK-NEXT: )
+ (func $test (export "test") (result i32)
(call $0
(unreachable) ;; the unreachable should be handled properly, and not be
;; reordered with the return
@@ -3501,17 +3512,6 @@
)
;; non-nullable temp vars we add must be handled properly, as non-nullable
;; locals are not allowed
-;; CHECK: (func $1 (type $1) (result i32)
-;; CHECK-NEXT: (unreachable)
-;; CHECK-NEXT: (return
-;; CHECK-NEXT: (i32.const -111)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (call $0
-;; CHECK-NEXT: (unreachable)
-;; CHECK-NEXT: (unreachable)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (unreachable)
-;; CHECK-NEXT: )
(module
(type $none_=>_none (func))
;; CHECK: (type $0 (func (result funcref)))
diff --git a/test/lit/passes/flatten_dfo_O3_enable-threads.wast b/test/lit/passes/flatten_dfo_O3_enable-threads.wast
index 7aa7df592..55bf54dc9 100644
--- a/test/lit/passes/flatten_dfo_O3_enable-threads.wast
+++ b/test/lit/passes/flatten_dfo_O3_enable-threads.wast
@@ -16,7 +16,29 @@
;; CHECK: (memory $0 (shared 1 1))
(memory $0 (shared 1 1))
- (func "one"
+ ;; CHECK: (export "one" (func $one))
+
+ ;; CHECK: (export "two" (func $two))
+
+ ;; CHECK: (export "use-var" (func $use-var))
+
+ ;; CHECK: (export "bad1" (func $bad1))
+
+ ;; CHECK: (export "only-dfo" (func $only-dfo))
+
+ ;; CHECK: (export "dfo-tee-get" (func $dfo-tee-get))
+
+ ;; CHECK: (func $one (; has Stack IR ;)
+ ;; CHECK-NEXT: (block $label$3
+ ;; CHECK-NEXT: (br_if $label$3
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (i32.const 3060)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (unreachable)
+ ;; CHECK-NEXT: )
+ (func $one (export "one")
(loop $label$2
(br_if $label$2
(block $label$3 (result i32)
@@ -34,7 +56,10 @@
)
(unreachable)
)
- (func "two" (param $var$0 i32) (param $var$1 i32) (result i32)
+ ;; CHECK: (func $two (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ (func $two (export "two") (param $var$0 i32) (param $var$1 i32) (result i32)
(nop)
(nop)
(nop)
@@ -81,7 +106,15 @@
(nop)
(i32.const 0)
)
- (func "use-var" (param $var$0 i64) (param $var$1 i32) (result f64)
+ ;; CHECK: (func $use-var (; has Stack IR ;) (param $0 i64) (param $1 i32) (result f64)
+ ;; CHECK-NEXT: (loop $label$8
+ ;; CHECK-NEXT: (br_if $label$8
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (unreachable)
+ ;; CHECK-NEXT: )
+ (func $use-var (export "use-var") (param $var$0 i64) (param $var$1 i32) (result f64)
(local $var$2 i32)
(block $label$1
(br_table $label$1 $label$1 $label$1 $label$1 $label$1 $label$1 $label$1 $label$1 $label$1 $label$1
@@ -133,7 +166,13 @@
)
(unreachable)
)
- (func "bad1"
+ ;; CHECK: (func $bad1 (; has Stack IR ;)
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: (i32.const -16384)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $bad1 (export "bad1")
(local $var$2 i32)
(local $var$4 i32)
(block $label$1
@@ -175,7 +214,13 @@
)
)
)
- (func "only-dfo" (param $var$0 f64) (result f64)
+ ;; CHECK: (func $only-dfo (; has Stack IR ;) (param $0 f64) (result f64)
+ ;; CHECK-NEXT: (local $1 i32)
+ ;; CHECK-NEXT: (loop $label$1
+ ;; CHECK-NEXT: (br $label$1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $only-dfo (export "only-dfo") (param $var$0 f64) (result f64)
(local $var$1 i32)
(local $var$2 i32)
(loop $label$1
@@ -199,7 +244,10 @@
(br $label$1)
)
)
- (func "dfo-tee-get" (result i32)
+ ;; CHECK: (func $dfo-tee-get (; has Stack IR ;) (result i32)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ (func $dfo-tee-get (export "dfo-tee-get") (result i32)
(local $0 i32)
(if (result i32)
(local.tee $0
@@ -217,56 +265,3 @@
)
)
-;; CHECK: (export "one" (func $0))
-
-;; CHECK: (export "two" (func $1))
-
-;; CHECK: (export "use-var" (func $2))
-
-;; CHECK: (export "bad1" (func $3))
-
-;; CHECK: (export "only-dfo" (func $4))
-
-;; CHECK: (export "dfo-tee-get" (func $5))
-
-;; CHECK: (func $0 (; has Stack IR ;)
-;; CHECK-NEXT: (block $label$3
-;; CHECK-NEXT: (br_if $label$3
-;; CHECK-NEXT: (i32.load
-;; CHECK-NEXT: (i32.const 3060)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (unreachable)
-;; CHECK-NEXT: )
-
-;; CHECK: (func $1 (; has Stack IR ;) (param $0 i32) (param $1 i32) (result i32)
-;; CHECK-NEXT: (i32.const 0)
-;; CHECK-NEXT: )
-
-;; CHECK: (func $2 (; has Stack IR ;) (param $0 i64) (param $1 i32) (result f64)
-;; CHECK-NEXT: (loop $label$8
-;; CHECK-NEXT: (br_if $label$8
-;; CHECK-NEXT: (local.get $1)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (unreachable)
-;; CHECK-NEXT: )
-
-;; CHECK: (func $3 (; has Stack IR ;)
-;; CHECK-NEXT: (i32.store
-;; CHECK-NEXT: (i32.const 1)
-;; CHECK-NEXT: (i32.const -16384)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
-
-;; CHECK: (func $4 (; has Stack IR ;) (param $0 f64) (result f64)
-;; CHECK-NEXT: (local $1 i32)
-;; CHECK-NEXT: (loop $label$1
-;; CHECK-NEXT: (br $label$1)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
-
-;; CHECK: (func $5 (; has Stack IR ;) (result i32)
-;; CHECK-NEXT: (i32.const 1)
-;; CHECK-NEXT: )
diff --git a/test/lit/passes/flatten_i64-to-i32-lowering.wast b/test/lit/passes/flatten_i64-to-i32-lowering.wast
index ade1d1e58..16ebaf882 100644
--- a/test/lit/passes/flatten_i64-to-i32-lowering.wast
+++ b/test/lit/passes/flatten_i64-to-i32-lowering.wast
@@ -472,19 +472,96 @@
;; CHECK: (global $i64toi32_i32$HIGH_BITS (mut i32) (i32.const 0))
- ;; CHECK: (export "exp" (func $1))
+ ;; CHECK: (export "exp" (func $exp))
- ;; CHECK: (export "unreach" (func $2))
+ ;; CHECK: (export "unreach" (func $unreach))
;; CHECK: (func $call (type $1) (param $0 i32) (param $0$hi i32)
;; CHECK-NEXT: (nop)
;; CHECK-NEXT: )
(func $call (param i64))
- (func "exp"
+ ;; CHECK: (func $exp (type $0)
+ ;; CHECK-NEXT: (local $0 i32)
+ ;; CHECK-NEXT: (local $0$hi i32)
+ ;; CHECK-NEXT: (local $i64toi32_i32$0 i32)
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (local.set $i64toi32_i32$0
+ ;; CHECK-NEXT: (global.get $f$hi)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (global.get $f)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $0$hi
+ ;; CHECK-NEXT: (local.get $i64toi32_i32$0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $call
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (local.set $i64toi32_i32$0
+ ;; CHECK-NEXT: (local.get $0$hi)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $i64toi32_i32$0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (global.set $f
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (local.set $i64toi32_i32$0
+ ;; CHECK-NEXT: (i32.const 287454020)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 1432778632)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (global.set $f$hi
+ ;; CHECK-NEXT: (local.get $i64toi32_i32$0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $exp (export "exp")
(call $call (global.get $f))
(global.set $f (i64.const 0x1122334455667788))
)
- (func "unreach"
+ ;; CHECK: (func $unreach (type $0)
+ ;; CHECK-NEXT: (local $0 i32)
+ ;; CHECK-NEXT: (local $0$hi i32)
+ ;; CHECK-NEXT: (local $1 i32)
+ ;; CHECK-NEXT: (local $1$hi i32)
+ ;; CHECK-NEXT: (local $i64toi32_i32$0 i32)
+ ;; CHECK-NEXT: (block $label$1
+ ;; CHECK-NEXT: (unreachable)
+ ;; CHECK-NEXT: (unreachable)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $1
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (local.set $i64toi32_i32$0
+ ;; CHECK-NEXT: (local.get $0$hi)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $1$hi
+ ;; CHECK-NEXT: (local.get $i64toi32_i32$0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (global.set $f
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (local.set $i64toi32_i32$0
+ ;; CHECK-NEXT: (local.get $1$hi)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (global.set $f$hi
+ ;; CHECK-NEXT: (local.get $i64toi32_i32$0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $unreach (export "unreach")
(global.set $f
(block $label$1 (result i64)
(unreachable)
@@ -492,84 +569,6 @@
)
)
)
-;; CHECK: (func $1 (type $0)
-;; CHECK-NEXT: (local $0 i32)
-;; CHECK-NEXT: (local $0$hi i32)
-;; CHECK-NEXT: (local $i64toi32_i32$0 i32)
-;; CHECK-NEXT: (block
-;; CHECK-NEXT: (local.set $0
-;; CHECK-NEXT: (block (result i32)
-;; CHECK-NEXT: (local.set $i64toi32_i32$0
-;; CHECK-NEXT: (global.get $f$hi)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (global.get $f)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (local.set $0$hi
-;; CHECK-NEXT: (local.get $i64toi32_i32$0)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (call $call
-;; CHECK-NEXT: (block (result i32)
-;; CHECK-NEXT: (local.set $i64toi32_i32$0
-;; CHECK-NEXT: (local.get $0$hi)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (local.get $0)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (local.get $i64toi32_i32$0)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (block
-;; CHECK-NEXT: (global.set $f
-;; CHECK-NEXT: (block (result i32)
-;; CHECK-NEXT: (local.set $i64toi32_i32$0
-;; CHECK-NEXT: (i32.const 287454020)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (i32.const 1432778632)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (global.set $f$hi
-;; CHECK-NEXT: (local.get $i64toi32_i32$0)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
-
-;; CHECK: (func $2 (type $0)
-;; CHECK-NEXT: (local $0 i32)
-;; CHECK-NEXT: (local $0$hi i32)
-;; CHECK-NEXT: (local $1 i32)
-;; CHECK-NEXT: (local $1$hi i32)
-;; CHECK-NEXT: (local $i64toi32_i32$0 i32)
-;; CHECK-NEXT: (block $label$1
-;; CHECK-NEXT: (unreachable)
-;; CHECK-NEXT: (unreachable)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (block
-;; CHECK-NEXT: (local.set $1
-;; CHECK-NEXT: (block (result i32)
-;; CHECK-NEXT: (local.set $i64toi32_i32$0
-;; CHECK-NEXT: (local.get $0$hi)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (local.get $0)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (local.set $1$hi
-;; CHECK-NEXT: (local.get $i64toi32_i32$0)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (block
-;; CHECK-NEXT: (global.set $f
-;; CHECK-NEXT: (block (result i32)
-;; CHECK-NEXT: (local.set $i64toi32_i32$0
-;; CHECK-NEXT: (local.get $1$hi)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (local.get $1)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (global.set $f$hi
-;; CHECK-NEXT: (local.get $i64toi32_i32$0)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
(module
;; CHECK: (type $0 (func (param i32 i32)))
@@ -581,57 +580,57 @@
;; CHECK: (global $i64toi32_i32$HIGH_BITS (mut i32) (i32.const 0))
- ;; CHECK: (export "exp" (func $1))
+ ;; CHECK: (export "exp" (func $exp))
;; CHECK: (func $call (type $0) (param $0 i32) (param $0$hi i32)
;; CHECK-NEXT: (nop)
;; CHECK-NEXT: )
(func $call (param i64))
- (func "exp"
+ ;; CHECK: (func $exp (type $1)
+ ;; CHECK-NEXT: (local $0 i32)
+ ;; CHECK-NEXT: (local $0$hi i32)
+ ;; CHECK-NEXT: (local $i64toi32_i32$0 i32)
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (local.set $i64toi32_i32$0
+ ;; CHECK-NEXT: (global.get $f$hi)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (global.get $f)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $0$hi
+ ;; CHECK-NEXT: (local.get $i64toi32_i32$0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (call $call
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (local.set $i64toi32_i32$0
+ ;; CHECK-NEXT: (local.get $0$hi)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.get $i64toi32_i32$0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (global.set $f
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (local.set $i64toi32_i32$0
+ ;; CHECK-NEXT: (i32.const 287454020)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 1432778632)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (global.set $f$hi
+ ;; CHECK-NEXT: (local.get $i64toi32_i32$0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $exp (export "exp")
(call $call (global.get $f))
(global.set $f (i64.const 0x1122334455667788))
)
)
-;; CHECK: (func $1 (type $1)
-;; CHECK-NEXT: (local $0 i32)
-;; CHECK-NEXT: (local $0$hi i32)
-;; CHECK-NEXT: (local $i64toi32_i32$0 i32)
-;; CHECK-NEXT: (block
-;; CHECK-NEXT: (local.set $0
-;; CHECK-NEXT: (block (result i32)
-;; CHECK-NEXT: (local.set $i64toi32_i32$0
-;; CHECK-NEXT: (global.get $f$hi)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (global.get $f)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (local.set $0$hi
-;; CHECK-NEXT: (local.get $i64toi32_i32$0)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (call $call
-;; CHECK-NEXT: (block (result i32)
-;; CHECK-NEXT: (local.set $i64toi32_i32$0
-;; CHECK-NEXT: (local.get $0$hi)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (local.get $0)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (local.get $i64toi32_i32$0)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (block
-;; CHECK-NEXT: (global.set $f
-;; CHECK-NEXT: (block (result i32)
-;; CHECK-NEXT: (local.set $i64toi32_i32$0
-;; CHECK-NEXT: (i32.const 287454020)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (i32.const 1432778632)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (global.set $f$hi
-;; CHECK-NEXT: (local.get $i64toi32_i32$0)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
(module
(type $i64_f64_i32_=>_none (func (param i64 f64 i32)))
;; CHECK: (type $0 (func))
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 db92b688d..011ea86e9 100644
--- a/test/lit/passes/flatten_simplify-locals-nonesting_dfo_O3.wast
+++ b/test/lit/passes/flatten_simplify-locals-nonesting_dfo_O3.wast
@@ -5,7 +5,30 @@
(module
(memory 1)
- (func "if-select"
+ ;; CHECK: (type $0 (func))
+
+ ;; CHECK: (type $1 (func (result f64)))
+
+ ;; CHECK: (type $2 (func (param i32 f64 f64) (result i32)))
+
+ ;; CHECK: (type $3 (func (param i64)))
+
+ ;; CHECK: (type $4 (func (param f64) (result i32)))
+
+ ;; CHECK: (export "if-select" (func $if-select))
+
+ ;; CHECK: (export "unreachable-body-update-zext" (func $unreachable-body-update-zext))
+
+ ;; CHECK: (export "ssa-const" (func $ssa-const))
+
+ ;; CHECK: (export "if-nothing" (func $if-nothing))
+
+ ;; CHECK: (export "only-dfo" (func $only-dfo))
+
+ ;; CHECK: (func $if-select (; has Stack IR ;)
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: )
+ (func $if-select (export "if-select")
(local $var$0 i32)
(nop)
(drop
@@ -20,7 +43,10 @@
)
)
)
- (func "unreachable-body-update-zext" (result f64)
+ ;; CHECK: (func $unreachable-body-update-zext (; has Stack IR ;) (result f64)
+ ;; CHECK-NEXT: (unreachable)
+ ;; CHECK-NEXT: )
+ (func $unreachable-body-update-zext (export "unreachable-body-update-zext") (result f64)
(if
(i32.eqz
(i32.const 0)
@@ -29,7 +55,10 @@
)
(f64.const -9223372036854775808)
)
- (func "ssa-const" (param $var$0 i32) (param $var$1 f64) (param $var$2 f64) (result i32)
+ ;; CHECK: (func $ssa-const (; has Stack IR ;) (param $0 i32) (param $1 f64) (param $2 f64) (result i32)
+ ;; CHECK-NEXT: (unreachable)
+ ;; CHECK-NEXT: )
+ (func $ssa-const (export "ssa-const") (param $var$0 i32) (param $var$1 f64) (param $var$2 f64) (result i32)
(block $label$1 (result i32)
(block $label$2
(if
@@ -59,7 +88,10 @@
)
)
)
- (func "if-nothing" (param $var$0 i64)
+ ;; CHECK: (func $if-nothing (; has Stack IR ;) (param $0 i64)
+ ;; CHECK-NEXT: (unreachable)
+ ;; CHECK-NEXT: )
+ (func $if-nothing (export "if-nothing") (param $var$0 i64)
(local $var$1 i32)
(local $var$2 i32)
(block $label$1
@@ -83,7 +115,24 @@
(unreachable)
)
)
- (func "only-dfo" (param $var$0 f64) (result i32)
+ ;; CHECK: (func $only-dfo (; has Stack IR ;) (param $0 f64) (result i32)
+ ;; CHECK-NEXT: (local $1 i32)
+ ;; CHECK-NEXT: (loop $label$1
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.eqz
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (local.set $1
+ ;; CHECK-NEXT: (i32.const -2147483648)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (br $label$1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const -2766)
+ ;; CHECK-NEXT: )
+ (func $only-dfo (export "only-dfo") (param $var$0 f64) (result i32)
(local $var$1 i32)
(local $var$2 i32)
(local $var$3 i32)
@@ -116,56 +165,3 @@
)
)
-;; CHECK: (type $0 (func))
-
-;; CHECK: (type $1 (func (result f64)))
-
-;; CHECK: (type $2 (func (param i32 f64 f64) (result i32)))
-
-;; CHECK: (type $3 (func (param i64)))
-
-;; CHECK: (type $4 (func (param f64) (result i32)))
-
-;; CHECK: (export "if-select" (func $0))
-
-;; CHECK: (export "unreachable-body-update-zext" (func $1))
-
-;; CHECK: (export "ssa-const" (func $2))
-
-;; CHECK: (export "if-nothing" (func $3))
-
-;; CHECK: (export "only-dfo" (func $4))
-
-;; CHECK: (func $0 (; has Stack IR ;)
-;; CHECK-NEXT: (nop)
-;; CHECK-NEXT: )
-
-;; CHECK: (func $1 (; has Stack IR ;) (result f64)
-;; CHECK-NEXT: (unreachable)
-;; CHECK-NEXT: )
-
-;; CHECK: (func $2 (; has Stack IR ;) (param $0 i32) (param $1 f64) (param $2 f64) (result i32)
-;; CHECK-NEXT: (unreachable)
-;; CHECK-NEXT: )
-
-;; CHECK: (func $3 (; has Stack IR ;) (param $0 i64)
-;; CHECK-NEXT: (unreachable)
-;; CHECK-NEXT: )
-
-;; CHECK: (func $4 (; has Stack IR ;) (param $0 f64) (result i32)
-;; CHECK-NEXT: (local $1 i32)
-;; CHECK-NEXT: (loop $label$1
-;; CHECK-NEXT: (if
-;; CHECK-NEXT: (i32.eqz
-;; CHECK-NEXT: (local.get $1)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (block
-;; CHECK-NEXT: (local.set $1
-;; CHECK-NEXT: (i32.const -2147483648)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (br $label$1)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (i32.const -2766)
-;; CHECK-NEXT: )
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 2b17886b7..0bcc36de2 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
@@ -33,7 +33,7 @@
;; CHECK: (memory $0 (shared 1 1))
(memory $0 (shared 1 1))
;; Figure 1a from the Souper paper https://arxiv.org/pdf/1711.04422.pdf
- ;; CHECK: (export "replaced-print-internal" (func $55))
+ ;; CHECK: (export "replaced-print-internal" (func $replaced-print-internal))
;; CHECK: (func $figure-1a (param $a i64) (param $x i64) (param $y i64) (result i32)
;; CHECK-NEXT: (local $i i32)
@@ -3827,48 +3827,7 @@
)
)
)
- (func "replaced-print-internal" (param $var$0 i32)
- (local $var$1 i32)
- (local $var$2 i32)
- (local $var$3 i32)
- (if
- (local.tee $var$0
- (i32.add
- (local.get $var$0)
- (i32.const -7)
- )
- )
- (block $label$2
- (block $label$3
- (local.set $var$1
- (local.get $var$0)
- )
- (br_if $label$3
- (local.tee $var$3
- (i32.const 12)
- )
- )
- (unreachable)
- )
- (br_if $label$2
- (i32.eqz
- (local.get $var$1)
- )
- )
- (if
- (i32.ne
- (i32.load
- (i32.const 0)
- )
- (local.get $var$0)
- )
- (unreachable)
- )
- (unreachable)
- )
- )
- )
- ;; CHECK: (func $55 (param $var$0 i32)
+ ;; CHECK: (func $replaced-print-internal (param $var$0 i32)
;; CHECK-NEXT: (local $var$1 i32)
;; CHECK-NEXT: (local $var$2 i32)
;; CHECK-NEXT: (local $var$3 i32)
@@ -3944,7 +3903,47 @@
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
-
+ (func $replaced-print-internal (export "replaced-print-internal") (param $var$0 i32)
+ (local $var$1 i32)
+ (local $var$2 i32)
+ (local $var$3 i32)
+ (if
+ (local.tee $var$0
+ (i32.add
+ (local.get $var$0)
+ (i32.const -7)
+ )
+ )
+ (block $label$2
+ (block $label$3
+ (local.set $var$1
+ (local.get $var$0)
+ )
+ (br_if $label$3
+ (local.tee $var$3
+ (i32.const 12)
+ )
+ )
+ (unreachable)
+ )
+ (br_if $label$2
+ (i32.eqz
+ (local.get $var$1)
+ )
+ )
+ (if
+ (i32.ne
+ (i32.load
+ (i32.const 0)
+ )
+ (local.get $var$0)
+ )
+ (unreachable)
+ )
+ (unreachable)
+ )
+ )
+ )
;; CHECK: (func $multiple-uses-to-non-expression (param $x i32)
;; CHECK-NEXT: (local $temp i32)
;; CHECK-NEXT: (local $2 i32)
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 e53bd44b4..61430d653 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
@@ -33,7 +33,7 @@
;; CHECK: (memory $0 (shared 1 1))
(memory $0 (shared 1 1))
;; Figure 1a from the Souper paper https://arxiv.org/pdf/1711.04422.pdf
- ;; CHECK: (export "replaced-print-internal" (func $56))
+ ;; CHECK: (export "replaced-print-internal" (func $replaced-print-internal))
;; CHECK: (func $figure-1a (param $a i64) (param $x i64) (param $y i64) (result i32)
;; CHECK-NEXT: (local $i i32)
@@ -3895,48 +3895,7 @@
)
)
)
- (func "replaced-print-internal" (param $var$0 i32)
- (local $var$1 i32)
- (local $var$2 i32)
- (local $var$3 i32)
- (if
- (local.tee $var$0
- (i32.add
- (local.get $var$0)
- (i32.const -7)
- )
- )
- (block $label$2
- (block $label$3
- (local.set $var$1
- (local.get $var$0)
- )
- (br_if $label$3
- (local.tee $var$3
- (i32.const 12)
- )
- )
- (unreachable)
- )
- (br_if $label$2
- (i32.eqz
- (local.get $var$1)
- )
- )
- (if
- (i32.ne
- (i32.load
- (i32.const 0)
- )
- (local.get $var$0)
- )
- (unreachable)
- )
- (unreachable)
- )
- )
- )
- ;; CHECK: (func $56 (param $var$0 i32)
+ ;; CHECK: (func $replaced-print-internal (param $var$0 i32)
;; CHECK-NEXT: (local $var$1 i32)
;; CHECK-NEXT: (local $var$2 i32)
;; CHECK-NEXT: (local $var$3 i32)
@@ -4012,7 +3971,47 @@
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
-
+ (func $replaced-print-internal (export "replaced-print-internal") (param $var$0 i32)
+ (local $var$1 i32)
+ (local $var$2 i32)
+ (local $var$3 i32)
+ (if
+ (local.tee $var$0
+ (i32.add
+ (local.get $var$0)
+ (i32.const -7)
+ )
+ )
+ (block $label$2
+ (block $label$3
+ (local.set $var$1
+ (local.get $var$0)
+ )
+ (br_if $label$3
+ (local.tee $var$3
+ (i32.const 12)
+ )
+ )
+ (unreachable)
+ )
+ (br_if $label$2
+ (i32.eqz
+ (local.get $var$1)
+ )
+ )
+ (if
+ (i32.ne
+ (i32.load
+ (i32.const 0)
+ )
+ (local.get $var$0)
+ )
+ (unreachable)
+ )
+ (unreachable)
+ )
+ )
+ )
;; CHECK: (func $multiple-uses-to-non-expression (param $x i32)
;; CHECK-NEXT: (local $temp i32)
;; CHECK-NEXT: (local $2 i32)
diff --git a/test/lit/passes/gto-removals.wast b/test/lit/passes/gto-removals.wast
index 07bd3fa45..ec4cc38df 100644
--- a/test/lit/passes/gto-removals.wast
+++ b/test/lit/passes/gto-removals.wast
@@ -807,14 +807,14 @@
;; CHECK: (type $4 (func (param (ref null ${mut:i8}))))
- ;; CHECK: (func $unreachable-set (type $4) (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}))
;; CHECK-NEXT: (drop
;; CHECK-NEXT: (call $helper-i32)
;; CHECK-NEXT: )
- ;; CHECK-NEXT: (local.get ${mut:i8})
+ ;; CHECK-NEXT: (local.get $"{mut:i8}")
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
@@ -831,13 +831,13 @@
)
)
- ;; CHECK: (func $unreachable-set-2 (type $4) (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
;; CHECK-NEXT: (block
;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (local.get ${mut:i8})
+ ;; CHECK-NEXT: (local.get $"{mut:i8}")
;; CHECK-NEXT: )
;; CHECK-NEXT: (drop
;; CHECK-NEXT: (br $block)
@@ -858,13 +858,13 @@
)
)
- ;; CHECK: (func $unreachable-set-2b (type $4) (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
;; CHECK-NEXT: (block
;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (local.get ${mut:i8})
+ ;; CHECK-NEXT: (local.get $"{mut:i8}")
;; CHECK-NEXT: )
;; CHECK-NEXT: (drop
;; CHECK-NEXT: (unreachable)
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 efa9ece60..385433189 100644
--- a/test/lit/passes/remove-unused-module-elements_all-features.wast
+++ b/test/lit/passes/remove-unused-module-elements_all-features.wast
@@ -732,7 +732,22 @@
(memory $B 1 1)
(memory $C-unused 1 1)
- (func "func"
+ ;; CHECK: (export "func" (func $func))
+
+ ;; CHECK: (func $func (type $0)
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (v128.load64_splat $A
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (v128.load16_lane $B 0
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: (v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $func (export "func")
(drop
(v128.load64_splat $A
(i32.const 0)
@@ -747,21 +762,6 @@
)
)
-;; CHECK: (export "func" (func $0))
-
-;; CHECK: (func $0 (type $0)
-;; CHECK-NEXT: (drop
-;; CHECK-NEXT: (v128.load64_splat $A
-;; CHECK-NEXT: (i32.const 0)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (drop
-;; CHECK-NEXT: (v128.load16_lane $B 0
-;; CHECK-NEXT: (i32.const 0)
-;; CHECK-NEXT: (v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
(module
;; When we export a function that calls another, we can export the called
;; function, skipping the one in the middle. The exports of $middle and
diff --git a/test/lit/passes/stack-check-memory64.wast b/test/lit/passes/stack-check-memory64.wast
index fc0db8d20..201910f36 100644
--- a/test/lit/passes/stack-check-memory64.wast
+++ b/test/lit/passes/stack-check-memory64.wast
@@ -11,48 +11,47 @@
;; CHECK: (global $sp (mut i64) (i64.const 0))
(global $sp (mut i64) (i64.const 0))
- (func "use_stack" (result i64)
- (global.set $sp (i64.const 42))
- (global.get $sp)
- )
-)
-;; CHECK: (global $__stack_base (mut i64) (i64.const 0))
-
-;; CHECK: (global $__stack_limit (mut i64) (i64.const 0))
+ ;; CHECK: (global $__stack_base (mut i64) (i64.const 0))
-;; CHECK: (memory $0 i64 0 65536)
+ ;; CHECK: (global $__stack_limit (mut i64) (i64.const 0))
-;; CHECK: (data $0 (i64.const 0) "")
+ ;; CHECK: (memory $0 i64 0 65536)
-;; CHECK: (export "use_stack" (func $0))
+ ;; CHECK: (data $0 (i64.const 0) "")
-;; CHECK: (export "__set_stack_limits" (func $__set_stack_limits))
+ ;; CHECK: (export "use_stack" (func $use_stack))
-;; CHECK: (func $0 (result i64)
-;; CHECK-NEXT: (local $0 i64)
-;; CHECK-NEXT: (block
-;; CHECK-NEXT: (if
-;; CHECK-NEXT: (i32.or
-;; CHECK-NEXT: (i64.gt_u
-;; CHECK-NEXT: (local.tee $0
-;; CHECK-NEXT: (i64.const 42)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (global.get $__stack_base)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (i64.lt_u
-;; CHECK-NEXT: (local.get $0)
-;; CHECK-NEXT: (global.get $__stack_limit)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (unreachable)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (global.set $sp
-;; CHECK-NEXT: (local.get $0)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (global.get $sp)
-;; CHECK-NEXT: )
+ ;; CHECK: (export "__set_stack_limits" (func $__set_stack_limits))
+ ;; CHECK: (func $use_stack (result i64)
+ ;; CHECK-NEXT: (local $0 i64)
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (i32.or
+ ;; CHECK-NEXT: (i64.gt_u
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (i64.const 42)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (global.get $__stack_base)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i64.lt_u
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: (global.get $__stack_limit)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (unreachable)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (global.set $sp
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (global.get $sp)
+ ;; CHECK-NEXT: )
+ (func $use_stack (export "use_stack") (result i64)
+ (global.set $sp (i64.const 42))
+ (global.get $sp)
+ )
+)
;; CHECK: (func $__set_stack_limits (param $0 i64) (param $1 i64)
;; CHECK-NEXT: (global.set $__stack_base
;; CHECK-NEXT: (local.get $0)
diff --git a/test/lit/passes/vacuum_all-features.wast b/test/lit/passes/vacuum_all-features.wast
index 9b06624cf..b228d13ee 100644
--- a/test/lit/passes/vacuum_all-features.wast
+++ b/test/lit/passes/vacuum_all-features.wast
@@ -1040,7 +1040,7 @@
(global $global$1 (mut i32) (i32.const 0))
;; CHECK: (memory $0 1 1)
- ;; CHECK: (export "compress" (func $3))
+ ;; CHECK: (export "compress" (func $compress))
;; CHECK: (func $_deflate (type $0) (param $0 i32) (result i32)
;; CHECK-NEXT: (call $_deflate
@@ -1066,7 +1066,100 @@
(func $_deflateEnd (param i32) (result i32)
(call $_deflateEnd (local.get $0))
)
- (func "compress" (param $0 i32) (param $1 i32) (param $2 i32)
+ ;; CHECK: (func $compress (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)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (global.set $global$1
+ ;; CHECK-NEXT: (i32.sub
+ ;; CHECK-NEXT: (global.get $global$1)
+ ;; CHECK-NEXT: (i32.const -64)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (local.get $2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=4
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.const 100000)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=12
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (local.get $0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=16
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.load
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=32
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=36
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.store offset=40
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (if
+ ;; CHECK-NEXT: (call $_deflateInit2_
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block
+ ;; CHECK-NEXT: (global.set $global$1
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (return)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (if (result i32)
+ ;; CHECK-NEXT: (i32.eq
+ ;; CHECK-NEXT: (local.tee $0
+ ;; CHECK-NEXT: (call $_deflate
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (i32.store
+ ;; CHECK-NEXT: (local.get $1)
+ ;; CHECK-NEXT: (i32.load offset=20
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (local.set $0
+ ;; CHECK-NEXT: (call $_deflateEnd
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (global.set $global$1
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (block (result i32)
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (call $_deflateEnd
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (global.set $global$1
+ ;; CHECK-NEXT: (local.get $3)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (i32.const 0)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ (func $compress (export "compress") (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local.set $3
(global.get $global$1)
@@ -1165,99 +1258,6 @@
)
)
-;; 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)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (global.set $global$1
-;; CHECK-NEXT: (i32.sub
-;; CHECK-NEXT: (global.get $global$1)
-;; CHECK-NEXT: (i32.const -64)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (i32.store
-;; CHECK-NEXT: (local.get $3)
-;; CHECK-NEXT: (local.get $2)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (i32.store offset=4
-;; CHECK-NEXT: (local.get $3)
-;; CHECK-NEXT: (i32.const 100000)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (i32.store offset=12
-;; CHECK-NEXT: (local.get $3)
-;; CHECK-NEXT: (local.get $0)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (i32.store offset=16
-;; CHECK-NEXT: (local.get $3)
-;; CHECK-NEXT: (i32.load
-;; CHECK-NEXT: (local.get $1)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (i32.store offset=32
-;; CHECK-NEXT: (local.get $3)
-;; CHECK-NEXT: (i32.const 0)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (i32.store offset=36
-;; CHECK-NEXT: (local.get $3)
-;; CHECK-NEXT: (i32.const 0)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (i32.store offset=40
-;; CHECK-NEXT: (local.get $3)
-;; CHECK-NEXT: (i32.const 0)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (if
-;; CHECK-NEXT: (call $_deflateInit2_
-;; CHECK-NEXT: (local.get $3)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (block
-;; CHECK-NEXT: (global.set $global$1
-;; CHECK-NEXT: (local.get $3)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (return)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (drop
-;; CHECK-NEXT: (if (result i32)
-;; CHECK-NEXT: (i32.eq
-;; CHECK-NEXT: (local.tee $0
-;; CHECK-NEXT: (call $_deflate
-;; CHECK-NEXT: (local.get $3)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (i32.const 1)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (block (result i32)
-;; CHECK-NEXT: (i32.store
-;; CHECK-NEXT: (local.get $1)
-;; CHECK-NEXT: (i32.load offset=20
-;; CHECK-NEXT: (local.get $3)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (local.set $0
-;; CHECK-NEXT: (call $_deflateEnd
-;; CHECK-NEXT: (local.get $3)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (global.set $global$1
-;; CHECK-NEXT: (local.get $3)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (i32.const 0)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (block (result i32)
-;; CHECK-NEXT: (drop
-;; CHECK-NEXT: (call $_deflateEnd
-;; CHECK-NEXT: (local.get $3)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (global.set $global$1
-;; CHECK-NEXT: (local.get $3)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: (i32.const 0)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
(module
(type $A (struct (field (mut i32))))
;; CHECK: (type $0 (func))
diff --git a/test/lit/validation/intrinsics.wast b/test/lit/validation/intrinsics.wast
index 6437b2217..f734a749e 100644
--- a/test/lit/validation/intrinsics.wast
+++ b/test/lit/validation/intrinsics.wast
@@ -7,7 +7,7 @@
(module
(import "binaryen-intrinsics" "call.without.effects" (func $cwe (param i32 funcref) (result i32)))
- (func "get-ref" (result i32)
+ (func $get-ref (export "get-ref") (result i32)
;; This call-without-effects is done to a $func, but $func has the wrong
;; signature - it lacks the i32 parameter.
(call $cwe
@@ -20,4 +20,3 @@
(i32.const 1)
)
)
-
diff --git a/test/lit/wat-kitchen-sink.wast b/test/lit/wat-kitchen-sink.wast
index 4368a1cb2..af2fbffc5 100644
--- a/test/lit/wat-kitchen-sink.wast
+++ b/test/lit/wat-kitchen-sink.wast
@@ -335,14 +335,13 @@
;; CHECK: (elem $passive-2 anyref (struct.new_default $s0) (struct.new_default $s0))
(elem $passive-2 anyref (item struct.new $s0) (struct.new $s0))
- (elem $declare declare func 0 1 2 3)
+ ;; CHECK: (elem declare func $ref-func $table-fill $table-grow $table-set)
+ (elem declare func 0 1 2 3)
(elem $declare-2 declare funcref (item ref.func 0) (ref.func 1) (item (ref.func 2)))
;; tags
(tag)
- ;; CHECK: (elem declare func $ref-func $table-fill $table-grow $table-set)
-
;; CHECK: (tag $1)
;; CHECK: (tag $empty)