Remove #![allow(unused_imports, dead_code)] and fix resulting issues.

Fix nearly-all issues found by clippy too.
This commit is contained in:
Nick Lewycky
2020-05-20 17:16:56 -07:00
parent df2a45899a
commit a47a3068f4
7 changed files with 173 additions and 289 deletions

View File

@@ -1,6 +1,3 @@
// Allow unused imports while developing
#![allow(unused_imports, dead_code)]
use crate::compiler::LLVMCompiler;
use inkwell::targets::{
CodeModel, InitializationConfig, RelocMode, Target as InkwellTarget, TargetMachine,
@@ -120,36 +117,34 @@ impl LLVMConfig {
// The CPU features formatted as LLVM strings
let llvm_cpu_features = cpu_features
.iter()
.filter_map(|feature| match feature {
CpuFeature::SSE2 => Some("+sse2"),
CpuFeature::SSE3 => Some("+sse3"),
CpuFeature::SSSE3 => Some("+ssse3"),
CpuFeature::SSE41 => Some("+sse4.1"),
CpuFeature::SSE42 => Some("+sse4.2"),
CpuFeature::POPCNT => Some("+popcnt"),
CpuFeature::AVX => Some("+avx"),
CpuFeature::BMI1 => Some("+bmi"),
CpuFeature::BMI2 => Some("+bmi2"),
CpuFeature::AVX2 => Some("+avx2"),
CpuFeature::AVX512DQ => Some("+avx512dq"),
CpuFeature::AVX512VL => Some("+avx512vl"),
CpuFeature::LZCNT => Some("+lzcnt"),
.map(|feature| match feature {
CpuFeature::SSE2 => "+sse2",
CpuFeature::SSE3 => "+sse3",
CpuFeature::SSSE3 => "+ssse3",
CpuFeature::SSE41 => "+sse4.1",
CpuFeature::SSE42 => "+sse4.2",
CpuFeature::POPCNT => "+popcnt",
CpuFeature::AVX => "+avx",
CpuFeature::BMI1 => "+bmi",
CpuFeature::BMI2 => "+bmi2",
CpuFeature::AVX2 => "+avx2",
CpuFeature::AVX512DQ => "+avx512dq",
CpuFeature::AVX512VL => "+avx512vl",
CpuFeature::LZCNT => "+lzcnt",
})
.join(",");
let arch_string = triple.architecture.to_string();
let llvm_target = InkwellTarget::from_triple(&self.target_triple()).unwrap();
let target_machine = llvm_target
llvm_target
.create_target_machine(
&self.target_triple(),
"generic",
&llvm_cpu_features,
self.opt_level.clone(),
self.opt_level,
self.reloc_mode(),
self.code_model(),
)
.unwrap();
target_machine
.unwrap()
}
}