diff options
Diffstat (limited to 'test/lit/passes/remove-unused-module-elements_all-features.wast')
-rw-r--r-- | test/lit/passes/remove-unused-module-elements_all-features.wast | 53 |
1 files changed, 34 insertions, 19 deletions
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 385433189..15a843064 100644 --- a/test/lit/passes/remove-unused-module-elements_all-features.wast +++ b/test/lit/passes/remove-unused-module-elements_all-features.wast @@ -175,11 +175,11 @@ (elem (table $1) (offset (i32.const 1)) func) ) (module ;; remove the first table and memory, but not the second one + (import "env" "memory" (memory $0 256)) + (import "env" "table" (table 0 funcref)) ;; CHECK: (type $0 (func)) ;; CHECK: (import "env" "table2" (table $1 1 1 funcref)) - (import "env" "memory" (memory $0 256)) - (import "env" "table" (table 0 funcref)) (import "env" "table2" (table $1 1 1 funcref)) (elem (table $1) (offset (i32.const 0)) func) (elem (table $1) (offset (i32.const 0)) func $f) @@ -203,22 +203,25 @@ (module ;; but not when exported ;; CHECK: (import "env" "memory" (memory $0 256)) (import "env" "memory" (memory $0 256)) - ;; CHECK: (import "env" "table" (table $timport$0 1 funcref)) (import "env" "table" (table 1 funcref)) - ;; CHECK: (export "mem" (memory $0)) (export "mem" (memory 0)) - ;; CHECK: (export "tab" (table $timport$0)) (export "tab" (table 0)) ) +;; CHECK: (import "env" "table" (table $timport$0 1 funcref)) + +;; CHECK: (export "mem" (memory $0)) + +;; CHECK: (export "tab" (table $timport$0)) (module ;; and not when there are segments ;; CHECK: (type $0 (func)) ;; CHECK: (import "env" "memory" (memory $0 256)) (import "env" "memory" (memory $0 256)) - ;; CHECK: (import "env" "table" (table $timport$0 1 funcref)) (import "env" "table" (table 1 funcref)) (data (i32.const 1) "hello, world!") (elem (i32.const 0) $waka) + ;; CHECK: (import "env" "table" (table $timport$0 1 funcref)) + ;; CHECK: (data $0 (i32.const 1) "hello, world!") ;; CHECK: (elem $0 (i32.const 0) $waka) @@ -233,10 +236,12 @@ (type $0 (func)) ;; CHECK: (import "env" "memory" (memory $0 256)) (import "env" "memory" (memory $0 256)) - ;; CHECK: (import "env" "table" (table $timport$0 0 funcref)) (import "env" "table" (table 0 funcref)) - ;; CHECK: (export "user" (func $user)) (export "user" $user) + ;; CHECK: (import "env" "table" (table $timport$0 0 funcref)) + + ;; CHECK: (export "user" (func $user)) + ;; CHECK: (func $user (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.load @@ -257,8 +262,9 @@ ;; CHECK: (memory $0 (shared 23 256)) (memory $0 (shared 23 256)) - ;; CHECK: (export "user" (func $user)) (export "user" $user) + ;; CHECK: (export "user" (func $user)) + ;; CHECK: (func $user (type $0) ;; CHECK-NEXT: (i32.store ;; CHECK-NEXT: (i32.const 0) @@ -274,8 +280,9 @@ ;; CHECK: (memory $0 (shared 23 256)) (memory $0 (shared 23 256)) - ;; CHECK: (export "user" (func $user)) (export "user" $user) + ;; CHECK: (export "user" (func $user)) + ;; CHECK: (func $user (type $0) (result i32) ;; CHECK-NEXT: (i32.atomic.rmw.add ;; CHECK-NEXT: (i32.const 0) @@ -291,8 +298,9 @@ ;; CHECK: (memory $0 (shared 23 256)) (memory $0 (shared 23 256)) - ;; CHECK: (export "user" (func $user)) (export "user" $user) + ;; CHECK: (export "user" (func $user)) + ;; CHECK: (func $user (type $0) (result i32) ;; CHECK-NEXT: (i32.atomic.rmw8.cmpxchg_u ;; CHECK-NEXT: (i32.const 0) @@ -309,8 +317,9 @@ ;; CHECK: (memory $0 (shared 23 256)) (memory $0 (shared 23 256)) - ;; CHECK: (export "user" (func $user)) (export "user" $user) + ;; CHECK: (export "user" (func $user)) + ;; CHECK: (func $user (type $0) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (local $1 i64) @@ -339,8 +348,9 @@ ;; CHECK: (memory $0 (shared 23 256)) (memory $0 (shared 23 256)) - ;; CHECK: (export "user" (func $user)) (export "user" $user) + ;; CHECK: (export "user" (func $user)) + ;; CHECK: (func $user (type $0) (result i32) ;; CHECK-NEXT: (memory.atomic.notify ;; CHECK-NEXT: (i32.const 0) @@ -354,12 +364,13 @@ (module ;; atomic.fence and data.drop do not use a memory, so should not keep the memory alive. (memory $0 (shared 1 1)) (data "") + (export "fake-user" $user) ;; CHECK: (type $0 (func)) ;; CHECK: (data $0 "") ;; CHECK: (export "fake-user" (func $user)) - (export "fake-user" $user) + ;; CHECK: (func $user (type $0) ;; CHECK-NEXT: (atomic.fence) ;; CHECK-NEXT: (data.drop $0) @@ -378,8 +389,9 @@ (memory $1 23 256) (memory $unused 1 1) - ;; CHECK: (export "user" (func $user)) (export "user" $user) + ;; CHECK: (export "user" (func $user)) + ;; CHECK: (func $user (type $0) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (memory.grow $0 @@ -402,8 +414,9 @@ ;; CHECK: (memory $0 23 256) (memory $0 23 256) - ;; CHECK: (export "user" (func $user)) (export "user" $user) + ;; CHECK: (export "user" (func $user)) + ;; CHECK: (func $user (type $0) (result i32) ;; CHECK-NEXT: (memory.size) ;; CHECK-NEXT: ) @@ -419,8 +432,9 @@ ;; CHECK: (memory $1 1 1) (memory $1 1 1) (memory $unused 1 1) - ;; CHECK: (export "user" (func $user)) (export "user" $user) + ;; CHECK: (export "user" (func $user)) + ;; CHECK: (func $user (type $0) ;; CHECK-NEXT: (memory.copy $0 $1 ;; CHECK-NEXT: (i32.const 0) @@ -441,8 +455,9 @@ ;; CHECK: (import "env" "memory" (memory $0 256)) (import "env" "memory" (memory $0 256)) - ;; CHECK: (import "env" "table" (table $timport$0 0 funcref)) (import "env" "table" (table 0 funcref)) + ;; CHECK: (import "env" "table" (table $timport$0 0 funcref)) + ;; CHECK: (import "env" "memoryBase" (global $memoryBase i32)) (import "env" "memoryBase" (global $memoryBase i32)) ;; used in init ;; CHECK: (import "env" "tableBase" (global $tableBase i32)) @@ -467,8 +482,8 @@ ;; CHECK: (import "env" "imported" (global $imported i32)) (import "env" "imported" (global $imported i32)) - ;; CHECK: (import "env" "_puts" (func $_puts (type $2) (param i32) (result i32))) (import "env" "forgetme" (global $forgetme i32)) + ;; CHECK: (import "env" "_puts" (func $_puts (type $2) (param i32) (result i32))) (import "env" "_puts" (func $_puts (param i32) (result i32))) (import "env" "forget_puts" (func $forget_puts (param i32) (result i32))) ;; CHECK: (global $int (mut i32) (global.get $imported)) |