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 | 68 |
1 files changed, 52 insertions, 16 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 b5c5d701e..efa9ece60 100644 --- a/test/lit/passes/remove-unused-module-elements_all-features.wast +++ b/test/lit/passes/remove-unused-module-elements_all-features.wast @@ -19,7 +19,7 @@ ;; CHECK: (export "memory" (memory $0)) - ;; CHECK: (export "exported" (func $called2)) + ;; CHECK: (export "exported" (func $exported)) ;; CHECK: (export "other1" (func $other1)) @@ -64,6 +64,9 @@ (func $called_indirect (type $0) (nop) ) + ;; CHECK: (func $exported (type $0) + ;; CHECK-NEXT: (call $called2) + ;; CHECK-NEXT: ) (func $exported (type $0-dupe) (call $called2) ) @@ -456,15 +459,15 @@ (func $waka) ;; used in table ) (module ;; one is exported, and one->two->int global, whose init->imported - ;; CHECK: (type $0 (func (param i32) (result i32))) + ;; CHECK: (type $0 (func (result i32))) - ;; CHECK: (type $1 (func (result i32))) + ;; CHECK: (type $1 (func)) - ;; CHECK: (type $2 (func)) + ;; CHECK: (type $2 (func (param i32) (result i32))) ;; CHECK: (import "env" "imported" (global $imported i32)) (import "env" "imported" (global $imported i32)) - ;; CHECK: (import "env" "_puts" (func $_puts (type $0) (param i32) (result i32))) + ;; CHECK: (import "env" "_puts" (func $_puts (type $2) (param i32) (result i32))) (import "env" "forgetme" (global $forgetme i32)) (import "env" "_puts" (func $_puts (param i32) (result i32))) (import "env" "forget_puts" (func $forget_puts (param i32) (result i32))) @@ -475,26 +478,32 @@ (global $forglobal.get (mut i32) (i32.const 500)) ;; CHECK: (global $exp_glob i32 (i32.const 600)) (global $exp_glob i32 (i32.const 600)) - ;; CHECK: (export "one" (func $two)) + ;; CHECK: (export "one" (func $one)) (export "one" (func $one)) - ;; CHECK: (export "three" (func $four)) + ;; CHECK: (export "three" (func $three)) (export "three" (func $three)) ;; CHECK: (export "exp_glob" (global $exp_glob)) (export "exp_glob" (global $exp_glob)) (start $starter) + ;; CHECK: (func $one (type $0) (result i32) + ;; CHECK-NEXT: (call $two) + ;; CHECK-NEXT: ) (func $one (result i32) (call $two) ) - ;; CHECK: (func $two (type $1) (result i32) + ;; CHECK: (func $two (type $0) (result i32) ;; CHECK-NEXT: (global.get $int) ;; CHECK-NEXT: ) (func $two (result i32) (global.get $int) ) + ;; CHECK: (func $three (type $1) + ;; CHECK-NEXT: (call $four) + ;; CHECK-NEXT: ) (func $three (call $four) ) - ;; CHECK: (func $four (type $2) + ;; CHECK: (func $four (type $1) ;; CHECK-NEXT: (global.set $set ;; CHECK-NEXT: (i32.const 200) ;; CHECK-NEXT: ) @@ -766,19 +775,25 @@ ;; CHECK: (export "export-import" (func $import)) (export "export-import" (func $import)) - ;; CHECK: (export "export-middle" (func $import)) + ;; CHECK: (export "export-middle" (func $middle)) (export "export-middle" (func $middle)) - ;; CHECK: (export "export-other-middle" (func $internal)) + ;; CHECK: (export "export-other-middle" (func $other-middle)) (export "export-other-middle" (func $other-middle)) ;; CHECK: (export "export-internal" (func $internal)) (export "export-internal" (func $internal)) + ;; CHECK: (func $middle (type $0) + ;; CHECK-NEXT: (call $import) + ;; CHECK-NEXT: ) (func $middle (call $import) ) + ;; CHECK: (func $other-middle (type $0) + ;; CHECK-NEXT: (call $internal) + ;; CHECK-NEXT: ) (func $other-middle (call $internal) ) @@ -812,7 +827,7 @@ ;; CHECK: (export "export-import-B" (func $import-B)) (export "export-import-B" (func $import-B)) - ;; CHECK: (export "export-middle-A-A" (func $import-A)) + ;; CHECK: (export "export-middle-A-A" (func $middle-A-A)) (export "export-middle-A-A" (func $middle-A-A)) ;; CHECK: (export "export-middle-A-B" (func $middle-A-B)) @@ -821,9 +836,12 @@ ;; CHECK: (export "export-middle-B-A" (func $middle-B-A)) (export "export-middle-B-A" (func $middle-B-A)) - ;; CHECK: (export "export-middle-B-B" (func $import-B)) + ;; CHECK: (export "export-middle-B-B" (func $middle-B-B)) (export "export-middle-B-B" (func $middle-B-B)) + ;; CHECK: (func $middle-A-A (type $A) + ;; CHECK-NEXT: (call $import-A) + ;; CHECK-NEXT: ) (func $middle-A-A (type $A) (call $import-A) ) @@ -842,6 +860,9 @@ (call $import-A) ) + ;; CHECK: (func $middle-B-B (type $B) + ;; CHECK-NEXT: (call $import-B) + ;; CHECK-NEXT: ) (func $middle-B-B (type $B) (call $import-B) ) @@ -858,7 +879,7 @@ ;; CHECK: (export "export-import" (func $import)) (export "export-import" (func $import)) - ;; CHECK: (export "export-middle" (func $import)) + ;; CHECK: (export "export-middle" (func $middle)) (export "export-middle" (func $middle)) ;; CHECK: (export "export-middle-local" (func $middle-local)) @@ -870,6 +891,12 @@ ;; CHECK: (export "export-middle-noncall" (func $middle-noncall)) (export "export-middle-noncall" (func $middle-noncall)) + ;; CHECK: (func $middle (type $0) (param $x i32) + ;; CHECK-NEXT: (local $y i32) + ;; CHECK-NEXT: (call $import + ;; CHECK-NEXT: (local.get $x) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) (func $middle (param $x i32) ;; This extra local is not a problem. (local $y i32) @@ -927,12 +954,18 @@ ;; CHECK: (import "a" "b" (func $import (type $0) (param i32 i32) (result f64))) (import "a" "b" (func $import (param i32) (param i32) (result f64))) - ;; CHECK: (export "export-middle-right" (func $import)) + ;; CHECK: (export "export-middle-right" (func $middle-right)) (export "export-middle-right" (func $middle-right)) ;; CHECK: (export "export-middle-wrong" (func $middle-wrong)) (export "export-middle-wrong" (func $middle-wrong)) + ;; CHECK: (func $middle-right (type $0) (param $x i32) (param $y i32) (result f64) + ;; CHECK-NEXT: (call $import + ;; CHECK-NEXT: (local.get $x) + ;; CHECK-NEXT: (local.get $y) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) (func $middle-right (param $x i32) (param $y i32) (result f64) (call $import (local.get $x) @@ -963,9 +996,12 @@ ;; CHECK: (import "a" "b" (func $import (type $0))) (import "a" "b" (func $import)) - ;; CHECK: (export "export-middle" (func $import)) + ;; CHECK: (export "export-middle" (func $middle)) (export "export-middle" (func $middle)) + ;; CHECK: (func $middle (type $0) + ;; CHECK-NEXT: (return_call $import) + ;; CHECK-NEXT: ) (func $middle (return_call $import) ) |