pub struct PassManager { /* private fields */ }Expand description
Sequences module passes and runs them once, or to a fixed point.
Implementations§
Source§impl PassManager
impl PassManager
Sourcepub fn add_module_pass(&mut self, pass: impl ModulePass + 'static)
pub fn add_module_pass(&mut self, pass: impl ModulePass + 'static)
Add a module-level pass.
Sourcepub fn add_function_pass(&mut self, pass: impl FunctionPass + 'static)
pub fn add_function_pass(&mut self, pass: impl FunctionPass + 'static)
Add a function-level pass (wrapped automatically in a FunctionPassAdapter).
Sourcepub fn run(&mut self, ctx: &mut Context, module: &mut Module) -> bool
pub fn run(&mut self, ctx: &mut Context, module: &mut Module) -> bool
Run all passes over module once, in order.
Returns true if any pass modified the IR.
Sourcepub fn run_until_fixed_point(
&mut self,
ctx: &mut Context,
module: &mut Module,
max_iter: usize,
)
pub fn run_until_fixed_point( &mut self, ctx: &mut Context, module: &mut Module, max_iter: usize, )
Run all passes repeatedly until the IR stabilises or max_iter is reached.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for PassManager
impl !Send for PassManager
impl !Sync for PassManager
impl !UnwindSafe for PassManager
impl Freeze for PassManager
impl Unpin for PassManager
impl UnsafeUnpin for PassManager
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