diff --git a/nac3core/src/codegen/mod.rs b/nac3core/src/codegen/mod.rs index 3c213b3..e68f909 100644 --- a/nac3core/src/codegen/mod.rs +++ b/nac3core/src/codegen/mod.rs @@ -59,6 +59,15 @@ lazy_static!( static ref PASSES_INIT_LOCK: Mutex = Mutex::new(AtomicBool::new(true)); ); +/// Additional options for LLVM during codegen. +#[derive(Clone, Debug, Eq, PartialEq)] +pub struct CodeGenLLVMOptions { + /// The optimization level to apply on the generated LLVM IR. + pub opt_level: OptimizationLevel, + /// Whether to output the LLVM IR after generation is complete. + pub emit_llvm: bool, +} + pub struct CodeGenContext<'ctx, 'a> { pub ctx: &'ctx Context, pub builder: Builder<'ctx>,