pub struct NamedSequenceOperation<'c> { /* private fields */ }
Expand description

A named_sequence operation. Named transform sequence that can be included elsewhere.

Defines a named (callable, function-like) sequence of other Transform dialect operations that can be included using transform.include as part of another Transform dialect construct. This sequence is not processed immediately but rather dispatched to when the inclusion is processed. The arguments and results can be used to communicate a subset of mapping into the named sequence. The sequence must consist of a single block and end with a transform.yield terminator. The operands of the terminator become the results of the transform.include.

When dispatched to, the operations in the named sequence are executed one by one, similarly to the regular unnamed sequence. The failure propagation mode is specified on the transform.include. Different inclusions may use different failure propagation modes. This transform operation always succeeds by itself, but the inclusion may fail if any of the operations fail.

Named sequences can only appear at the top-level of the Transform dialect nesting structure. That is, they cannot be nested in other Transform dialect operations. Furthermore, one of the ancestors must have the SymbolTable trait and have the transform.with_named_sequence attribute attached.

Named sequences may include other named sequences via transform.include, but recursion is not allowed.

Implementations§

source§

impl<'c> NamedSequenceOperation<'c>

source

pub fn name() -> &'static str

Returns a name.

source

pub fn as_operation(&self) -> &Operation<'c>

Returns a generic operation.

source

pub fn builder( context: &'c Context, location: Location<'c> ) -> NamedSequenceOperationBuilder<'c, Unset, Unset, Unset>

Creates a builder.

source

pub fn body(&self) -> Result<RegionRef<'c, '_>, Error>

source

pub fn sym_name(&self) -> Result<StringAttribute<'c>, Error>

source

pub fn set_sym_name(&mut self, value: StringAttribute<'c>)

source

pub fn function_type(&self) -> Result<TypeAttribute<'c>, Error>

source

pub fn set_function_type(&mut self, value: TypeAttribute<'c>)

source

pub fn sym_visibility(&self) -> Result<StringAttribute<'c>, Error>

source

pub fn set_sym_visibility(&mut self, value: StringAttribute<'c>)

source

pub fn remove_sym_visibility(&mut self) -> Result<(), Error>

source

pub fn arg_attrs(&self) -> Result<ArrayAttribute<'c>, Error>

source

pub fn set_arg_attrs(&mut self, value: ArrayAttribute<'c>)

source

pub fn remove_arg_attrs(&mut self) -> Result<(), Error>

source

pub fn res_attrs(&self) -> Result<ArrayAttribute<'c>, Error>

source

pub fn set_res_attrs(&mut self, value: ArrayAttribute<'c>)

source

pub fn remove_res_attrs(&mut self) -> Result<(), Error>

Trait Implementations§

source§

impl<'c> From<NamedSequenceOperation<'c>> for Operation<'c>

source§

fn from(operation: NamedSequenceOperation<'c>) -> Self

Converts to this type from the input type.
source§

impl<'c> TryFrom<Operation<'c>> for NamedSequenceOperation<'c>

§

type Error = Error

The type returned in the event of a conversion error.
source§

fn try_from(operation: Operation<'c>) -> Result<Self, Self::Error>

Performs the conversion.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.