summaryrefslogtreecommitdiff
path: root/scripts/fuzz_opt.py
diff options
context:
space:
mode:
authorAlon Zakai <azakai@google.com>2022-03-25 16:33:53 -0700
committerGitHub <noreply@github.com>2022-03-25 16:33:53 -0700
commit11932cc31e88d3d368714fcca43df979f7694bd1 (patch)
tree889faa7d6c6e2e261970ea776e3183202e9d6cba /scripts/fuzz_opt.py
parent3a1953a1f417eb2f588eeb35bf26a3df6ea8f8e1 (diff)
downloadbinaryen-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-xscripts/fuzz_opt.py1
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"],