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 /scripts/fuzz_opt.py | |
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 'scripts/fuzz_opt.py')
-rwxr-xr-x | scripts/fuzz_opt.py | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/scripts/fuzz_opt.py b/scripts/fuzz_opt.py index 21d39853a..5f6cc4f14 100755 --- a/scripts/fuzz_opt.py +++ b/scripts/fuzz_opt.py @@ -1162,6 +1162,7 @@ opt_choices = [ ["--flatten", "--rereloop"], ["--roundtrip"], ["--rse"], + # TODO: fuzz signature-refining/pruning/etc., but those all need --nominal ["--simplify-locals"], ["--simplify-locals-nonesting"], ["--simplify-locals-nostructure"], |