Struct inkwell::passes::PassManagerBuilder
source · pub struct PassManagerBuilder { /* private fields */ }
Implementations§
source§impl PassManagerBuilder
impl PassManagerBuilder
pub unsafe fn new(pass_manager_builder: LLVMPassManagerBuilderRef) -> Self
sourcepub fn as_mut_ptr(&self) -> LLVMPassManagerBuilderRef
pub fn as_mut_ptr(&self) -> LLVMPassManagerBuilderRef
Acquires the underlying raw pointer belonging to this PassManagerBuilder
type.
pub fn create() -> Self
pub fn set_optimization_level(&self, opt_level: OptimizationLevel)
pub fn set_size_level(&self, size_level: u32)
pub fn set_disable_unit_at_a_time(&self, disable: bool)
pub fn set_disable_unroll_loops(&self, disable: bool)
pub fn set_disable_simplify_lib_calls(&self, disable: bool)
pub fn set_inliner_with_threshold(&self, threshold: u32)
sourcepub fn populate_function_pass_manager(
&self,
pass_manager: &PassManager<FunctionValue<'_>>
)
pub fn populate_function_pass_manager( &self, pass_manager: &PassManager<FunctionValue<'_>> )
Populates a PassManager
Example
use inkwell::context::Context;
use inkwell::OptimizationLevel::Aggressive;
use inkwell::passes::{PassManager, PassManagerBuilder};
let context = Context::create();
let module = context.create_module("mod");
let pass_manager_builder = PassManagerBuilder::create();
pass_manager_builder.set_optimization_level(Aggressive);
let fpm = PassManager::create(&module);
pass_manager_builder.populate_function_pass_manager(&fpm);
sourcepub fn populate_module_pass_manager(
&self,
pass_manager: &PassManager<Module<'_>>
)
pub fn populate_module_pass_manager( &self, pass_manager: &PassManager<Module<'_>> )
Populates a PassManager
Example
use inkwell::OptimizationLevel::Aggressive;
use inkwell::passes::{PassManager, PassManagerBuilder};
use inkwell::targets::{InitializationConfig, Target};
let config = InitializationConfig::default();
Target::initialize_native(&config).unwrap();
let pass_manager_builder = PassManagerBuilder::create();
pass_manager_builder.set_optimization_level(Aggressive);
let fpm = PassManager::create(());
pass_manager_builder.populate_module_pass_manager(&fpm);
Trait Implementations§
source§impl Debug for PassManagerBuilder
impl Debug for PassManagerBuilder
Auto Trait Implementations§
impl RefUnwindSafe for PassManagerBuilder
impl !Send for PassManagerBuilder
impl !Sync for PassManagerBuilder
impl Unpin for PassManagerBuilder
impl UnwindSafe for PassManagerBuilder
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more