pub struct ApplyLoopInvariantCodeMotionOperation<'c> { /* private fields */ }
Expand description
An apply_licm
operation. Move loop-invariant code out of a loop-like op.
This transform moves side-effect free, loop invariant code out of the
targeted loop-like op. The targeted op must implement the
LoopLikeOpInterface
.
Note: To move invariant ops from a loop nest, this transform must be applied to each loop of the loop nest, starting with the inner-most loop.
This transform reads the target handle and modifies the payload.
Implementations§
source§impl<'c> ApplyLoopInvariantCodeMotionOperation<'c>
impl<'c> ApplyLoopInvariantCodeMotionOperation<'c>
Trait Implementations§
source§impl<'c> From<ApplyLoopInvariantCodeMotionOperation<'c>> for Operation<'c>
impl<'c> From<ApplyLoopInvariantCodeMotionOperation<'c>> for Operation<'c>
source§fn from(operation: ApplyLoopInvariantCodeMotionOperation<'c>) -> Self
fn from(operation: ApplyLoopInvariantCodeMotionOperation<'c>) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl<'c> RefUnwindSafe for ApplyLoopInvariantCodeMotionOperation<'c>
impl<'c> !Send for ApplyLoopInvariantCodeMotionOperation<'c>
impl<'c> !Sync for ApplyLoopInvariantCodeMotionOperation<'c>
impl<'c> Unpin for ApplyLoopInvariantCodeMotionOperation<'c>
impl<'c> UnwindSafe for ApplyLoopInvariantCodeMotionOperation<'c>
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