add Development optimization option

This commit is contained in:
Folkert 2021-09-15 20:05:39 +02:00
parent b74857f268
commit 7fe652ab19
4 changed files with 4 additions and 6 deletions

View file

@ -61,10 +61,7 @@ pub fn build_file<'a>(
let subs_by_module = MutMap::default(); let subs_by_module = MutMap::default();
// Release builds use uniqueness optimizations // Release builds use uniqueness optimizations
let stdlib = match opt_level { let stdlib = arena.alloc(roc_builtins::std::standard_stdlib());
OptLevel::Normal => arena.alloc(roc_builtins::std::standard_stdlib()),
OptLevel::Optimize => arena.alloc(roc_builtins::std::standard_stdlib()),
};
let loaded = roc_load::file::load_and_monomorphize( let loaded = roc_load::file::load_and_monomorphize(
arena, arena,

View file

@ -106,7 +106,7 @@ pub fn target_machine(
#[cfg(feature = "llvm")] #[cfg(feature = "llvm")]
pub fn convert_opt_level(level: OptLevel) -> OptimizationLevel { pub fn convert_opt_level(level: OptLevel) -> OptimizationLevel {
match level { match level {
OptLevel::Normal => OptimizationLevel::None, OptLevel::Development | OptLevel::Normal => OptimizationLevel::None,
OptLevel::Optimize => OptimizationLevel::Aggressive, OptLevel::Optimize => OptimizationLevel::Aggressive,
} }
} }

View file

@ -638,7 +638,7 @@ pub fn construct_optimization_passes<'a>(
let pmb = PassManagerBuilder::create(); let pmb = PassManagerBuilder::create();
match opt_level { match opt_level {
OptLevel::Normal => { OptLevel::Development | OptLevel::Normal => {
pmb.set_optimization_level(OptimizationLevel::None); pmb.set_optimization_level(OptimizationLevel::None);
} }
OptLevel::Optimize => { OptLevel::Optimize => {

View file

@ -54,6 +54,7 @@ macro_rules! return_on_layout_error_help {
#[derive(Debug, Clone, Copy)] #[derive(Debug, Clone, Copy)]
pub enum OptLevel { pub enum OptLevel {
Development,
Normal, Normal,
Optimize, Optimize,
} }