summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/lit/passes/vacuum-tnh.wast63
1 files changed, 41 insertions, 22 deletions
diff --git a/test/lit/passes/vacuum-tnh.wast b/test/lit/passes/vacuum-tnh.wast
index f74dc3c87..8a93a720f 100644
--- a/test/lit/passes/vacuum-tnh.wast
+++ b/test/lit/passes/vacuum-tnh.wast
@@ -117,10 +117,10 @@
)
;; A helper function for the above, that returns nothing.
- ;; YESTNH: (func $return-nothing (type $1)
+ ;; YESTNH: (func $return-nothing (type $0)
;; YESTNH-NEXT: (nop)
;; YESTNH-NEXT: )
- ;; NO_TNH: (func $return-nothing (type $1)
+ ;; NO_TNH: (func $return-nothing (type $0)
;; NO_TNH-NEXT: (nop)
;; NO_TNH-NEXT: )
(func $return-nothing)
@@ -179,10 +179,10 @@
(local.get $y)
)
- ;; YESTNH: (func $toplevel (type $1)
+ ;; YESTNH: (func $toplevel (type $0)
;; YESTNH-NEXT: (nop)
;; YESTNH-NEXT: )
- ;; NO_TNH: (func $toplevel (type $1)
+ ;; NO_TNH: (func $toplevel (type $0)
;; NO_TNH-NEXT: (unreachable)
;; NO_TNH-NEXT: )
(func $toplevel
@@ -191,7 +191,7 @@
(unreachable)
)
- ;; YESTNH: (func $drop-loop (type $1)
+ ;; YESTNH: (func $drop-loop (type $0)
;; YESTNH-NEXT: (drop
;; YESTNH-NEXT: (loop $loop (result i32)
;; YESTNH-NEXT: (br_if $loop
@@ -201,7 +201,7 @@
;; YESTNH-NEXT: )
;; YESTNH-NEXT: )
;; YESTNH-NEXT: )
- ;; NO_TNH: (func $drop-loop (type $1)
+ ;; NO_TNH: (func $drop-loop (type $0)
;; NO_TNH-NEXT: (drop
;; NO_TNH-NEXT: (loop $loop (result i32)
;; NO_TNH-NEXT: (br_if $loop
@@ -224,7 +224,7 @@
)
)
- ;; YESTNH: (func $loop-effects (type $1)
+ ;; YESTNH: (func $loop-effects (type $0)
;; YESTNH-NEXT: (drop
;; YESTNH-NEXT: (loop $loop (result i32)
;; YESTNH-NEXT: (drop
@@ -239,7 +239,7 @@
;; YESTNH-NEXT: )
;; YESTNH-NEXT: )
;; YESTNH-NEXT: )
- ;; NO_TNH: (func $loop-effects (type $1)
+ ;; NO_TNH: (func $loop-effects (type $0)
;; NO_TNH-NEXT: (drop
;; NO_TNH-NEXT: (loop $loop (result i32)
;; NO_TNH-NEXT: (drop
@@ -272,7 +272,7 @@
)
)
- ;; YESTNH: (func $if-unreachable (type $0) (param $p i32)
+ ;; YESTNH: (func $if-unreachable (type $1) (param $p i32)
;; YESTNH-NEXT: (drop
;; YESTNH-NEXT: (local.get $p)
;; YESTNH-NEXT: )
@@ -294,7 +294,7 @@
;; YESTNH-NEXT: )
;; YESTNH-NEXT: )
;; YESTNH-NEXT: )
- ;; NO_TNH: (func $if-unreachable (type $0) (param $p i32)
+ ;; NO_TNH: (func $if-unreachable (type $1) (param $p i32)
;; NO_TNH-NEXT: (if
;; NO_TNH-NEXT: (local.get $p)
;; NO_TNH-NEXT: (then
@@ -415,7 +415,7 @@
)
)
- ;; YESTNH: (func $block-unreachable (type $0) (param $p i32)
+ ;; YESTNH: (func $block-unreachable (type $1) (param $p i32)
;; YESTNH-NEXT: (if
;; YESTNH-NEXT: (local.get $p)
;; YESTNH-NEXT: (then
@@ -433,7 +433,7 @@
;; YESTNH-NEXT: )
;; YESTNH-NEXT: )
;; YESTNH-NEXT: )
- ;; NO_TNH: (func $block-unreachable (type $0) (param $p i32)
+ ;; NO_TNH: (func $block-unreachable (type $1) (param $p i32)
;; NO_TNH-NEXT: (if
;; NO_TNH-NEXT: (local.get $p)
;; NO_TNH-NEXT: (then
@@ -482,7 +482,7 @@
)
)
- ;; YESTNH: (func $block-unreachable-named (type $0) (param $p i32)
+ ;; YESTNH: (func $block-unreachable-named (type $1) (param $p i32)
;; YESTNH-NEXT: (if
;; YESTNH-NEXT: (local.get $p)
;; YESTNH-NEXT: (then
@@ -499,7 +499,7 @@
;; YESTNH-NEXT: )
;; YESTNH-NEXT: )
;; YESTNH-NEXT: )
- ;; NO_TNH: (func $block-unreachable-named (type $0) (param $p i32)
+ ;; NO_TNH: (func $block-unreachable-named (type $1) (param $p i32)
;; NO_TNH-NEXT: (if
;; NO_TNH-NEXT: (local.get $p)
;; NO_TNH-NEXT: (then
@@ -544,10 +544,10 @@
)
)
- ;; YESTNH: (func $block-unreachable-all (type $0) (param $p i32)
+ ;; YESTNH: (func $block-unreachable-all (type $1) (param $p i32)
;; YESTNH-NEXT: (nop)
;; YESTNH-NEXT: )
- ;; NO_TNH: (func $block-unreachable-all (type $0) (param $p i32)
+ ;; NO_TNH: (func $block-unreachable-all (type $1) (param $p i32)
;; NO_TNH-NEXT: (if
;; NO_TNH-NEXT: (local.get $p)
;; NO_TNH-NEXT: (then
@@ -584,7 +584,7 @@
)
)
- ;; YESTNH: (func $block-unreachable-but-call (type $1)
+ ;; YESTNH: (func $block-unreachable-but-call (type $0)
;; YESTNH-NEXT: (i32.store
;; YESTNH-NEXT: (i32.const 0)
;; YESTNH-NEXT: (i32.const 1)
@@ -592,7 +592,7 @@
;; YESTNH-NEXT: (call $block-unreachable-but-call)
;; YESTNH-NEXT: (unreachable)
;; YESTNH-NEXT: )
- ;; NO_TNH: (func $block-unreachable-but-call (type $1)
+ ;; NO_TNH: (func $block-unreachable-but-call (type $0)
;; NO_TNH-NEXT: (i32.store
;; NO_TNH-NEXT: (i32.const 0)
;; NO_TNH-NEXT: (i32.const 1)
@@ -620,7 +620,7 @@
(unreachable)
)
- ;; YESTNH: (func $catch-pop (type $1)
+ ;; YESTNH: (func $catch-pop (type $0)
;; YESTNH-NEXT: (try $try
;; YESTNH-NEXT: (do
;; YESTNH-NEXT: (call $catch-pop)
@@ -633,7 +633,7 @@
;; YESTNH-NEXT: )
;; YESTNH-NEXT: )
;; YESTNH-NEXT: )
- ;; NO_TNH: (func $catch-pop (type $1)
+ ;; NO_TNH: (func $catch-pop (type $0)
;; NO_TNH-NEXT: (try $try
;; NO_TNH-NEXT: (do
;; NO_TNH-NEXT: (call $catch-pop)
@@ -673,7 +673,7 @@
)
)
- ;; YESTNH: (func $loop-unreachable (type $0) (param $p i32)
+ ;; YESTNH: (func $loop-unreachable (type $1) (param $p i32)
;; YESTNH-NEXT: (loop $loop
;; YESTNH-NEXT: (i32.store
;; YESTNH-NEXT: (i32.const 0)
@@ -688,7 +688,7 @@
;; YESTNH-NEXT: (unreachable)
;; YESTNH-NEXT: )
;; YESTNH-NEXT: )
- ;; NO_TNH: (func $loop-unreachable (type $0) (param $p i32)
+ ;; NO_TNH: (func $loop-unreachable (type $1) (param $p i32)
;; NO_TNH-NEXT: (loop $loop
;; NO_TNH-NEXT: (i32.store
;; NO_TNH-NEXT: (i32.const 0)
@@ -728,4 +728,23 @@
(unreachable)
)
)
+
+ ;; YESTNH: (func $unreached-infinite-loop (type $0)
+ ;; YESTNH-NEXT: (loop $label$1
+ ;; YESTNH-NEXT: (br $label$1)
+ ;; YESTNH-NEXT: )
+ ;; YESTNH-NEXT: )
+ ;; NO_TNH: (func $unreached-infinite-loop (type $0)
+ ;; NO_TNH-NEXT: (loop $label$1
+ ;; NO_TNH-NEXT: (br $label$1)
+ ;; NO_TNH-NEXT: )
+ ;; NO_TNH-NEXT: )
+ (func $unreached-infinite-loop
+ ;; Code that reaches an unreachable can be removed in TNH mode, but an
+ ;; infinite loop may not reach it, so nothing can be removed here.
+ (loop $label$1
+ (br $label$1)
+ )
+ (unreachable)
+ )
)