Skip to content

Commit be25a9c

Browse files
authored
[NominalFuzzing] Switch to nominal fuzzing by default (#4610)
Add a flag to make it easy to pick which typesystem to test.
1 parent e16f1e7 commit be25a9c

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed

scripts/fuzz_opt.py

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,11 @@
3535

3636
# parameters
3737

38+
TYPE_SYSTEM_FLAG = '--nominal'
39+
3840
# feature options that are always passed to the tools.
3941
CONSTANT_FEATURE_OPTS = ['--all-features']
42+
CONSTANT_FEATURE_OPTS.append(TYPE_SYSTEM_FLAG)
4043

4144
INPUT_SIZE_MIN = 1024
4245
INPUT_SIZE_MEAN = 40 * 1024
@@ -1121,6 +1124,7 @@ def write_commands(commands, filename):
11211124
opt_choices = [
11221125
[],
11231126
['-O1'], ['-O2'], ['-O3'], ['-O4'], ['-Os'], ['-Oz'],
1127+
["--cfp"],
11241128
["--coalesce-locals"],
11251129
# XXX slow, non-default ["--coalesce-locals-learning"],
11261130
["--code-pushing"],
@@ -1137,11 +1141,14 @@ def write_commands(commands, filename):
11371141
["--inlining"],
11381142
["--inlining-optimizing"],
11391143
["--flatten", "--simplify-locals-notee-nostructure", "--local-cse"],
1144+
["--global-refining"],
1145+
["--gto"],
11401146
["--local-cse"],
11411147
["--heap2local"],
11421148
["--remove-unused-names", "--heap2local"],
11431149
["--generate-stack-ir"],
11441150
["--licm"],
1151+
["--local-subtyping"],
11451152
["--memory-packing"],
11461153
["--merge-blocks"],
11471154
['--merge-locals'],
@@ -1162,13 +1169,15 @@ def write_commands(commands, filename):
11621169
["--flatten", "--rereloop"],
11631170
["--roundtrip"],
11641171
["--rse"],
1165-
# TODO: fuzz signature-refining/pruning/etc., but those all need --nominal
1172+
["--signature-pruning"],
1173+
["--signature-refining"],
11661174
["--simplify-locals"],
11671175
["--simplify-locals-nonesting"],
11681176
["--simplify-locals-nostructure"],
11691177
["--simplify-locals-notee"],
11701178
["--simplify-locals-notee-nostructure"],
11711179
["--ssa"],
1180+
["--type-refining"],
11721181
["--vacuum"],
11731182
]
11741183

@@ -1416,7 +1425,7 @@ def randomize_opt_flags():
14161425
vvvv
14171426
14181427
1419-
%(wasm_reduce)s %(original_wasm)s '--command=bash %(reduce_sh)s' -t %(temp_wasm)s -w %(working_wasm)s
1428+
%(wasm_reduce)s %(type_system_flag)s %(original_wasm)s '--command=bash %(reduce_sh)s' -t %(temp_wasm)s -w %(working_wasm)s
14201429
14211430
14221431
^^^^
@@ -1445,7 +1454,8 @@ def randomize_opt_flags():
14451454
'temp_wasm': os.path.abspath('t.wasm'),
14461455
'working_wasm': os.path.abspath('w.wasm'),
14471456
'wasm_reduce': in_bin('wasm-reduce'),
1448-
'reduce_sh': os.path.abspath('reduce.sh')})
1457+
'reduce_sh': os.path.abspath('reduce.sh'),
1458+
'type_system_flag': TYPE_SYSTEM_FLAG})
14491459
break
14501460
if given_seed is not None:
14511461
break

0 commit comments

Comments
 (0)