corret CodeGenBackend::Wasm to only be dev wasm backend

This commit is contained in:
Brendan Hansknecht 2023-04-26 07:29:32 -07:00
parent 2602e37728
commit dd8914a75c
No known key found for this signature in database
GPG key ID: 0EA784685083E75B
2 changed files with 16 additions and 28 deletions

View file

@ -610,22 +610,21 @@ pub fn build(
opt_level_from_flags(matches) opt_level_from_flags(matches)
}; };
let code_gen_backend = if matches!(triple.architecture, Architecture::Wasm32) { // Note: This allows using `--dev` with `--optimize`.
CodeGenBackend::Wasm // This means frontend optimizations and dev backend.
} else { let code_gen_backend = if matches.is_present(FLAG_DEV) {
match matches.is_present(FLAG_DEV) { if matches!(triple.architecture, Architecture::Wasm32) {
true => CodeGenBackend::Assembly, CodeGenBackend::Wasm
false => { } else {
let backend_mode = match opt_level { CodeGenBackend::Assembly
OptLevel::Development => LlvmBackendMode::BinaryDev,
OptLevel::Normal | OptLevel::Size | OptLevel::Optimize => {
LlvmBackendMode::Binary
}
};
CodeGenBackend::Llvm(backend_mode)
}
} }
} else {
let backend_mode = match opt_level {
OptLevel::Development => LlvmBackendMode::BinaryDev,
OptLevel::Normal | OptLevel::Size | OptLevel::Optimize => LlvmBackendMode::Binary,
};
CodeGenBackend::Llvm(backend_mode)
}; };
let emit_debug_info = matches.is_present(FLAG_DEBUG); let emit_debug_info = matches.is_present(FLAG_DEBUG);
@ -641,8 +640,7 @@ pub fn build(
Some(n) => Threading::AtMost(n), Some(n) => Threading::AtMost(n),
}; };
let wasm_dev_backend = matches!(opt_level, OptLevel::Development) let wasm_dev_backend = matches!(code_gen_backend, CodeGenBackend::Wasm);
&& matches!(code_gen_backend, CodeGenBackend::Wasm);
let linking_strategy = if wasm_dev_backend { let linking_strategy = if wasm_dev_backend {
LinkingStrategy::Additive LinkingStrategy::Additive

View file

@ -103,7 +103,7 @@ pub fn gen_from_mono_module<'a>(
let opt = code_gen_options.opt_level; let opt = code_gen_options.opt_level;
match code_gen_options.backend { match code_gen_options.backend {
CodeGenBackend::Assembly => gen_from_mono_module_dev( CodeGenBackend::Assembly | CodeGenBackend::Wasm => gen_from_mono_module_dev(
arena, arena,
loaded, loaded,
target, target,
@ -113,16 +113,6 @@ pub fn gen_from_mono_module<'a>(
CodeGenBackend::Llvm(backend_mode) => { CodeGenBackend::Llvm(backend_mode) => {
gen_from_mono_module_llvm(arena, loaded, path, target, opt, backend_mode, debug) gen_from_mono_module_llvm(arena, loaded, path, target, opt, backend_mode, debug)
} }
CodeGenBackend::Wasm => {
// emit wasm via the llvm backend
let backend_mode = match code_gen_options.opt_level {
OptLevel::Development => LlvmBackendMode::BinaryDev,
OptLevel::Normal | OptLevel::Size | OptLevel::Optimize => LlvmBackendMode::Binary,
};
gen_from_mono_module_llvm(arena, loaded, path, target, opt, backend_mode, debug)
}
} }
} }