pub struct TransposeInsertion {
pub target: MemoryLayout,
}Expand description
Pass that detects layout mismatches at graph boundaries and records the transposes needed to convert between layouts.
This is a two-phase approach:
LayoutTransformassigns target layouts to uninitialized globals.TransposeInsertiondetects globals whose current layout differs from the target and updates them, so the backend can emit the appropriate transpose operations.
The backend can call layout_permutation with the original and target
layouts to obtain the concrete permutation vector.
Fields§
§target: MemoryLayoutThe target layout that the backend expects.
Trait Implementations§
Source§impl Debug for TransposeInsertion
impl Debug for TransposeInsertion
Auto Trait Implementations§
impl Freeze for TransposeInsertion
impl RefUnwindSafe for TransposeInsertion
impl Send for TransposeInsertion
impl Sync for TransposeInsertion
impl Unpin for TransposeInsertion
impl UnsafeUnpin for TransposeInsertion
impl UnwindSafe for TransposeInsertion
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