pub struct MemorySpaceCastOperation<'c> { /* private fields */ }
Expand description
A memory_space_cast
operation. Memref memory space cast operation.
This operation casts memref values between memory spaces. The input and result will be memrefs of the same types and shape that alias the same underlying memory, though, for some casts on some targets, the underlying values of the pointer stored in the memref may be affected by the cast.
The input and result must have the same shape, element type, rank, and layout.
If the source and target address spaces are the same, this operation is a noop.
Example:
// Cast a GPU private memory attribution into a generic pointer
%2 = memref.memory_space_cast %1 : memref<?xf32, 5> to memref<?xf32>
// Cast a generic pointer to workgroup-local memory
%4 = memref.memory_space_cast %3 : memref<5x4xi32> to memref<5x34xi32, 3>
// Cast between two non-default memory spaces
%6 = memref.memory_space_cast %5
: memref<*xmemref<?xf32>, 5> to memref<*xmemref<?xf32>, 3>
Implementations§
source§impl<'c> MemorySpaceCastOperation<'c>
impl<'c> MemorySpaceCastOperation<'c>
sourcepub fn as_operation(&self) -> &Operation<'c>
pub fn as_operation(&self) -> &Operation<'c>
Returns a generic operation.
sourcepub fn builder(
context: &'c Context,
location: Location<'c>
) -> MemorySpaceCastOperationBuilder<'c, Unset, Unset>
pub fn builder( context: &'c Context, location: Location<'c> ) -> MemorySpaceCastOperationBuilder<'c, Unset, Unset>
Creates a builder.
pub fn dest(&self) -> Result<OperationResult<'c, '_>, Error>
pub fn source(&self) -> Result<Value<'c, '_>, Error>
Trait Implementations§
source§impl<'c> From<MemorySpaceCastOperation<'c>> for Operation<'c>
impl<'c> From<MemorySpaceCastOperation<'c>> for Operation<'c>
source§fn from(operation: MemorySpaceCastOperation<'c>) -> Self
fn from(operation: MemorySpaceCastOperation<'c>) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl<'c> RefUnwindSafe for MemorySpaceCastOperation<'c>
impl<'c> !Send for MemorySpaceCastOperation<'c>
impl<'c> !Sync for MemorySpaceCastOperation<'c>
impl<'c> Unpin for MemorySpaceCastOperation<'c>
impl<'c> UnwindSafe for MemorySpaceCastOperation<'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