pub struct AtomicRMWOperation<'c> { /* private fields */ }
Expand description
An atomic_rmw
operation. Atomic read-modify-write operation.
The memref.atomic_rmw
operation provides a way to perform a read-modify-write
sequence that is free from data races. The kind enumeration specifies the
modification to perform. The value operand represents the new value to be
applied during the modification. The memref operand represents the buffer
that the read and write will be performed against, as accessed by the
specified indices. The arity of the indices is the rank of the memref. The
result represents the latest value that was stored.
Example:
%x = memref.atomic_rmw "addf" %value, %I[%i] : (f32, memref<10xf32>) -> f32
Implementations§
source§impl<'c> AtomicRMWOperation<'c>
impl<'c> AtomicRMWOperation<'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>
) -> AtomicRMWOperationBuilder<'c, Unset, Unset, Unset, Unset, Unset>
pub fn builder( context: &'c Context, location: Location<'c> ) -> AtomicRMWOperationBuilder<'c, Unset, Unset, Unset, Unset, Unset>
Creates a builder.
pub fn result(&self) -> Result<OperationResult<'c, '_>, Error>
pub fn value(&self) -> Result<Value<'c, '_>, Error>
pub fn memref(&self) -> Result<Value<'c, '_>, Error>
pub fn indices(&self) -> impl Iterator<Item = Value<'c, '_>>
pub fn kind(&self) -> Result<Attribute<'c>, Error>
pub fn set_kind(&mut self, value: Attribute<'c>)
Trait Implementations§
source§impl<'c> From<AtomicRMWOperation<'c>> for Operation<'c>
impl<'c> From<AtomicRMWOperation<'c>> for Operation<'c>
source§fn from(operation: AtomicRMWOperation<'c>) -> Self
fn from(operation: AtomicRMWOperation<'c>) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl<'c> RefUnwindSafe for AtomicRMWOperation<'c>
impl<'c> !Send for AtomicRMWOperation<'c>
impl<'c> !Sync for AtomicRMWOperation<'c>
impl<'c> Unpin for AtomicRMWOperation<'c>
impl<'c> UnwindSafe for AtomicRMWOperation<'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