diff options
author | Alon Zakai <azakai@google.com> | 2022-03-25 16:33:53 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-25 16:33:53 -0700 |
commit | 11932cc31e88d3d368714fcca43df979f7694bd1 (patch) | |
tree | 889faa7d6c6e2e261970ea776e3183202e9d6cba /test/lit/help/wasm-opt.test | |
parent | 3a1953a1f417eb2f588eeb35bf26a3df6ea8f8e1 (diff) | |
download | binaryen-11932cc31e88d3d368714fcca43df979f7694bd1.tar.gz binaryen-11932cc31e88d3d368714fcca43df979f7694bd1.tar.bz2 binaryen-11932cc31e88d3d368714fcca43df979f7694bd1.zip |
[Wasm GC] Signature Pruning (#4545)
This adds a new signature-pruning pass that prunes parameters from
signature types where those parameters are never used in any function
that has that type. This is similar to DeadArgumentElimination but works
on a set of functions, and it can handle indirect calls.
Also move a little code from SignatureRefining into a shared place to
avoid duplication of logic to update signature types.
This pattern happens in j2wasm code, for example if all method functions
for some virtual method just return a constant and do not use the this
pointer.
Diffstat (limited to 'test/lit/help/wasm-opt.test')
-rw-r--r-- | test/lit/help/wasm-opt.test | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/test/lit/help/wasm-opt.test b/test/lit/help/wasm-opt.test index caf6437fc..d786bfdfc 100644 --- a/test/lit/help/wasm-opt.test +++ b/test/lit/help/wasm-opt.test @@ -346,6 +346,9 @@ ;; CHECK-NEXT: --set-globals sets specified globals to ;; CHECK-NEXT: specified values ;; CHECK-NEXT: +;; CHECK-NEXT: --signature-pruning remove params from function +;; CHECK-NEXT: signature types where possible +;; CHECK-NEXT: ;; CHECK-NEXT: --signature-refining apply more specific subtypes to ;; CHECK-NEXT: signature types where possible ;; CHECK-NEXT: |