diff options
author | Alon Zakai <azakai@google.com> | 2021-03-31 07:58:07 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-31 07:58:07 -0700 |
commit | fdd6926c83a5901ba7d7ae12d02f1bd033c92657 (patch) | |
tree | e1547ee64cddc0d681950a8a7ca09daf112f91f5 /scripts | |
parent | f034dc656b058b69bff3246a27790ab8079f2e6a (diff) | |
download | binaryen-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-x | scripts/fuzz_opt.py | 3 |
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 |