Skip to content

Commit 76b7514

Browse files
committed
add binaryneopt
1 parent 8be8023 commit 76b7514

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

libchisel/src/binaryenopt.rs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
use std::collections::HashMap;
2+
13
use parity_wasm::elements::Module;
24

35
use super::{ChiselModule, ModuleError, ModuleKind, ModulePreset, ModuleTranslator};
@@ -29,6 +31,21 @@ impl<'a> ChiselModule<'a> for BinaryenOptimiser {
2931
}
3032
}
3133

34+
impl ModuleConfig for BinaryenOptimiser {
35+
fn with_defaults() -> Result<Self, ModuleError> {
36+
Ok(BinaryenOptimiser::O0)
37+
}
38+
39+
fn with_config(config: &HashMap<String, String>) -> Result<Self, ModuleError> {
40+
let preset = config.get("preset");
41+
if preset.is_none() {
42+
Err(ModuleError::NotSupported)
43+
} else {
44+
BinaryenOptimiser::with_preset(preset.unwrap())
45+
}
46+
}
47+
}
48+
3249
impl ModulePreset for BinaryenOptimiser {
3350
fn with_preset(preset: &str) -> Result<Self, ModuleError> {
3451
match preset {

0 commit comments

Comments
 (0)