From 0eb22429d12b4d2bf7b6e1848828d4254e1e6dca Mon Sep 17 00:00:00 2001 From: Chris Fallin Date: Tue, 6 Dec 2022 16:47:58 -0800 Subject: [PATCH] Fuzzing: add `use_egraphs` option back to fuzzing config generator. (#5388) This PR reverts #5128 (commit b3333bf9ea465a708b1504c10122d1626e13d5a9), adding back the ability for the fuzzing config generator to set the `use_egraphs` Cranelift option. This will start to fuzz the egraphs-based optimization framework again, now that #5382 has landed. --- cranelift/fuzzgen/src/lib.rs | 1 + crates/fuzzing/src/generators/config.rs | 2 ++ 2 files changed, 3 insertions(+) diff --git a/cranelift/fuzzgen/src/lib.rs b/cranelift/fuzzgen/src/lib.rs index d7df6df082..423d1cbdf1 100644 --- a/cranelift/fuzzgen/src/lib.rs +++ b/cranelift/fuzzgen/src/lib.rs @@ -253,6 +253,7 @@ where "enable_incremental_compilation_cache_checks", "regalloc_checker", "enable_llvm_abi_extensions", + "use_egraphs", ]; for flag_name in bool_settings { let enabled = self diff --git a/crates/fuzzing/src/generators/config.rs b/crates/fuzzing/src/generators/config.rs index 050235306f..91c325390c 100644 --- a/crates/fuzzing/src/generators/config.rs +++ b/crates/fuzzing/src/generators/config.rs @@ -140,6 +140,7 @@ impl Config { .native_unwind_info(self.wasmtime.native_unwind_info) .cranelift_nan_canonicalization(self.wasmtime.canonicalize_nans) .cranelift_opt_level(self.wasmtime.opt_level.to_wasmtime()) + .cranelift_use_egraphs(self.wasmtime.use_egraphs) .consume_fuel(self.wasmtime.consume_fuel) .epoch_interruption(self.wasmtime.epoch_interruption) .memory_init_cow(self.wasmtime.memory_init_cow) @@ -336,6 +337,7 @@ impl<'a> Arbitrary<'a> for Config { #[derive(Arbitrary, Clone, Debug, Eq, Hash, PartialEq)] pub struct WasmtimeConfig { opt_level: OptLevel, + use_egraphs: bool, debug_info: bool, canonicalize_nans: bool, interruptable: bool,