From 98222b9ff72b203ed4a745814ac542e0b85561c2 Mon Sep 17 00:00:00 2001 From: Simon Warta Date: Mon, 7 Dec 2020 18:12:33 +0100 Subject: [PATCH] Expose wasmer::CraneliftOptLevel This is required to do something like ```rust use wasmer::{Cranelift, CraneliftOptLevel}; let mut compiler = Cranelift::default(); compiler.opt_level(CraneliftOptLevel::None); let engine = JIT::new(compiler).engine(); // ... ``` --- lib/api/src/lib.rs | 2 +- lib/compiler-cranelift/src/config.rs | 14 +++++++------- lib/compiler-cranelift/src/lib.rs | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/lib/api/src/lib.rs b/lib/api/src/lib.rs index 0b69d18ad93..b00988c70e1 100644 --- a/lib/api/src/lib.rs +++ b/lib/api/src/lib.rs @@ -126,7 +126,7 @@ let store = Store::new(&engine); pub use wasmer_compiler_singlepass::Singlepass; #[cfg(feature = "cranelift")] -pub use wasmer_compiler_cranelift::Cranelift; +pub use wasmer_compiler_cranelift::{Cranelift, CraneliftOptLevel}; #[cfg(feature = "llvm")] pub use wasmer_compiler_llvm::LLVM; diff --git a/lib/compiler-cranelift/src/config.rs b/lib/compiler-cranelift/src/config.rs index c4f8bdf65c7..efa4fa6c110 100644 --- a/lib/compiler-cranelift/src/config.rs +++ b/lib/compiler-cranelift/src/config.rs @@ -11,7 +11,7 @@ use wasmer_compiler::{ /// Possible optimization levels for the Cranelift codegen backend. #[non_exhaustive] #[derive(Clone, Debug)] -pub enum OptLevel { +pub enum CraneliftOptLevel { /// No optimizations performed, minimizes compilation time by disabling most /// optimizations. None, @@ -33,7 +33,7 @@ pub struct Cranelift { enable_verifier: bool, enable_simd: bool, enable_pic: bool, - opt_level: OptLevel, + opt_level: CraneliftOptLevel, /// The middleware chain. pub(crate) middlewares: Vec>, } @@ -45,7 +45,7 @@ impl Cranelift { Self { enable_nan_canonicalization: false, enable_verifier: false, - opt_level: OptLevel::Speed, + opt_level: CraneliftOptLevel::Speed, enable_pic: false, enable_simd: true, middlewares: vec![], @@ -68,7 +68,7 @@ impl Cranelift { } /// The optimization levels when optimizing the IR. - pub fn opt_level(&mut self, opt_level: OptLevel) -> &mut Self { + pub fn opt_level(&mut self, opt_level: CraneliftOptLevel) -> &mut Self { self.opt_level = opt_level; self } @@ -156,9 +156,9 @@ impl Cranelift { "none" } else { match self.opt_level { - OptLevel::None => "none", - OptLevel::Speed => "speed", - OptLevel::SpeedAndSize => "speed_and_size", + CraneliftOptLevel::None => "none", + CraneliftOptLevel::Speed => "speed", + CraneliftOptLevel::SpeedAndSize => "speed_and_size", } }; diff --git a/lib/compiler-cranelift/src/lib.rs b/lib/compiler-cranelift/src/lib.rs index 14349f74697..41519f81958 100644 --- a/lib/compiler-cranelift/src/lib.rs +++ b/lib/compiler-cranelift/src/lib.rs @@ -56,7 +56,7 @@ mod trampoline; mod translator; pub use crate::compiler::CraneliftCompiler; -pub use crate::config::Cranelift; +pub use crate::config::{Cranelift, CraneliftOptLevel}; pub use crate::debug::{ModuleInfoMemoryOffset, ModuleInfoVmctxInfo, ValueLabelsRanges}; pub use crate::trampoline::make_trampoline_function_call;