pub struct MirInliner { /* private fields */ }Expand description
Module-level MIR internal-call inliner.
This pass clones small internal/private callees into their callers. Each inline expansion gets a fresh internal-frame range so copied local slots do not overlap caller locals.
Implementations§
Source§impl MirInliner
impl MirInliner
Sourcepub fn new(config: MirInlineConfig) -> MirInliner
pub fn new(config: MirInlineConfig) -> MirInliner
Creates a new MIR inliner with the given configuration.
Sourcepub fn run(&mut self, module: &mut Module) -> MirInlineStats
pub fn run(&mut self, module: &mut Module) -> MirInlineStats
Runs the inliner over the whole module.
Trait Implementations§
Source§impl Default for MirInliner
impl Default for MirInliner
Source§fn default() -> MirInliner
fn default() -> MirInliner
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for MirInliner
impl RefUnwindSafe for MirInliner
impl Send for MirInliner
impl Sync for MirInliner
impl Unpin for MirInliner
impl UnsafeUnpin for MirInliner
impl UnwindSafe for MirInliner
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
Source§impl<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more