summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorAlon Zakai <azakai@google.com>2021-03-31 07:58:07 -0700
committerGitHub <noreply@github.com>2021-03-31 07:58:07 -0700
commitfdd6926c83a5901ba7d7ae12d02f1bd033c92657 (patch)
treee1547ee64cddc0d681950a8a7ca09daf112f91f5 /scripts
parentf034dc656b058b69bff3246a27790ab8079f2e6a (diff)
downloadbinaryen-fdd6926c83a5901ba7d7ae12d02f1bd033c92657.tar.gz
binaryen-fdd6926c83a5901ba7d7ae12d02f1bd033c92657.tar.bz2
binaryen-fdd6926c83a5901ba7d7ae12d02f1bd033c92657.zip
Avoid flatten + multivalue + reference types in the fuzzer (#3760)
The problem is that a tuple with a non-nullable element cannot be stored to a local. We'd need to split up the tuple, but that raises questions about what should be allowed in flat IR (we'd need to allow nested tuple ops in more places). That combination doesn't seem urgent, so add a clear error for now, and avoid it in the fuzzer. Avoids #3759 in the fuzzer
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/fuzz_opt.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/scripts/fuzz_opt.py b/scripts/fuzz_opt.py
index 94db99e05..df7ab8136 100755
--- a/scripts/fuzz_opt.py
+++ b/scripts/fuzz_opt.py
@@ -988,6 +988,9 @@ def randomize_opt_flags():
if '--disable-exception-handling' not in FEATURE_OPTS:
print('avoiding --flatten due to exception catching which does not support it yet')
continue
+ if '--disable-multivalue' not in FEATURE_OPTS and '--disable-reference-types' not in FEATURE_OPTS:
+ print('avoiding --flatten due to multivalue + reference types not supporting it (spilling of non-nullable tuples)')
+ continue
if INITIAL_CONTENTS and os.path.getsize(INITIAL_CONTENTS) > 2000:
print('avoiding --flatten due using a large amount of initial contents, which may blow up')
continue