diff options
author | Alon Zakai <azakai@google.com> | 2021-04-21 19:54:56 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-21 19:54:56 -0700 |
commit | 0379e8b42daa116336f2688d02eeebed2240a99c (patch) | |
tree | 584a078f3c99c355581cdb31cc492a4f07ac99ec /test/lit/passes/dae-gc.wast | |
parent | 0e0147dd18a3875bde24f418b23230d454942c4a (diff) | |
download | binaryen-0379e8b42daa116336f2688d02eeebed2240a99c.tar.gz binaryen-0379e8b42daa116336f2688d02eeebed2240a99c.tar.bz2 binaryen-0379e8b42daa116336f2688d02eeebed2240a99c.zip |
[Wasm GC] Skip DeadArgumentElimination of an RTT parameter (#3834)
We could more carefully see when a local is not needed there, but atm
we always add one, and that doesn't work for something nondefaultable.
Diffstat (limited to 'test/lit/passes/dae-gc.wast')
-rw-r--r-- | test/lit/passes/dae-gc.wast | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/test/lit/passes/dae-gc.wast b/test/lit/passes/dae-gc.wast index 87e480cc8..fe4b346ea 100644 --- a/test/lit/passes/dae-gc.wast +++ b/test/lit/passes/dae-gc.wast @@ -2,6 +2,8 @@ ;; RUN: wasm-opt %s -all --dae -S -o - | filecheck %s (module + (type ${} (struct)) + ;; CHECK: (func $foo ;; CHECK-NEXT: (call $bar) ;; CHECK-NEXT: ) @@ -46,4 +48,22 @@ (unreachable) ) ) + ;; a function that gets an rtt that is never used. we cannot create a local for + ;; that parameter, as it is not defaultable, so do not remove the parameter. + ;; CHECK: (func $get-rtt (param $0 (rtt ${})) + ;; CHECK-NEXT: (nop) + ;; CHECK-NEXT: ) + (func $get-rtt (param $0 (rtt ${})) + (nop) + ) + ;; CHECK: (func $send-rtt + ;; CHECK-NEXT: (call $get-rtt + ;; CHECK-NEXT: (rtt.canon ${}) + ;; CHECK-NEXT: ) + ;; CHECK-NEXT: ) + (func $send-rtt + (call $get-rtt + (rtt.canon ${}) + ) + ) ) |