summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/lit/passes/extract-function.wast69
1 files changed, 41 insertions, 28 deletions
diff --git a/test/lit/passes/extract-function.wast b/test/lit/passes/extract-function.wast
index 1a8970598..606fd326c 100644
--- a/test/lit/passes/extract-function.wast
+++ b/test/lit/passes/extract-function.wast
@@ -1,71 +1,84 @@
+;; NOTE: Assertions have been generated by update_lit_checks.py --all-items and should not be edited.
;; RUN: foreach %s %t wasm-opt --extract-function=foo -S -o - | filecheck %s
;; RUN: foreach %s %t wasm-opt --extract-function --pass-arg=extract-function@foo -S -o - | filecheck %s
;; RUN: foreach %s %t wasm-opt --extract-function-index=0 -S -o - | filecheck %s
;; RUN: foreach %s %t wasm-opt --extract-function-index --pass-arg=extract-function-index@0 -S -o - | filecheck %s
-;; CHECK: (module
-;; CHECK-NEXT: (type $none_=>_none (func))
-;; CHECK-NEXT: (import "env" "bar" (func $bar))
-;; CHECK-NEXT: (export "foo" (func $foo))
-;; CHECK-NEXT: (func $foo
-;; CHECK-NEXT: (call $bar)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
(module
+ ;; CHECK: (type $none_=>_none (func))
+
+ ;; CHECK: (import "env" "bar" (func $bar))
+
+ ;; CHECK: (export "foo" (func $foo))
+
+ ;; CHECK: (func $foo
+ ;; CHECK-NEXT: (call $bar)
+ ;; CHECK-NEXT: )
(func $foo
(call $bar)
)
+
(func $bar
(call $foo)
)
+
(func $other
(drop (i32.const 1))
)
)
-;; CHECK: (module
-;; CHECK-NEXT: (type $none_=>_none (func))
-;; CHECK-NEXT: (import "env" "other" (func $other))
-;; CHECK-NEXT: (export "foo" (func $foo))
-;; CHECK-NEXT: (func $foo
-;; CHECK-NEXT: (nop)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
(module
;; Use another function in the table, but the table is not used in the
;; extracted function
(table $t 10 funcref)
+
(elem $0 (table $t) (i32.const 0) func $other)
+
+ ;; CHECK: (type $none_=>_none (func))
+
+ ;; CHECK: (import "env" "other" (func $other))
+
+ ;; CHECK: (export "foo" (func $foo))
+
+ ;; CHECK: (func $foo
+ ;; CHECK-NEXT: (nop)
+ ;; CHECK-NEXT: )
(func $foo
(nop)
)
+
(func $other
(drop (i32.const 1))
)
)
-;; CHECK: (module
-;; CHECK-NEXT: (type $none (func))
-;; CHECK-NEXT: (import "env" "other" (func $other))
-;; CHECK-NEXT: (table $t 10 funcref)
-;; CHECK-NEXT: (elem $0 (i32.const 0) $other)
-;; CHECK-NEXT: (export "foo" (func $foo))
-;; CHECK-NEXT: (func $foo
-;; CHECK-NEXT: (call_indirect (type $none)
-;; CHECK-NEXT: (i32.const 10)
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
-;; CHECK-NEXT: )
(module
;; Use another function in the table, and the table *is* used. As a result,
;; the table and its elements will remain. The called function, $other, will
;; remain as an import that is placed in the table.
+
+ ;; CHECK: (type $none (func))
(type $none (func))
+
+ ;; CHECK: (import "env" "other" (func $other))
+
+ ;; CHECK: (table $t 10 funcref)
(table $t 10 funcref)
+
+ ;; CHECK: (elem $0 (i32.const 0) $other)
(elem $0 (table $t) (i32.const 0) func $other)
+
+ ;; CHECK: (export "foo" (func $foo))
+
+ ;; CHECK: (func $foo
+ ;; CHECK-NEXT: (call_indirect (type $none)
+ ;; CHECK-NEXT: (i32.const 10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
(func $foo
(call_indirect (type $none) (i32.const 10))
)
+
(func $other
(drop (i32.const 1))
)