Struct melior::dialect::ods::pdl_interp::ForEachOperation
source · pub struct ForEachOperation<'c> { /* private fields */ }
Expand description
A foreach
operation. Iterates over a range of values or ranges.
pdl_interp.foreach
iteratively selects an element from a range of values
and executes the region until pdl.continue is reached.
In the bytecode interpreter, this operation is implemented by looping over the values and, for each selection, running the bytecode until we reach pdl.continue. This may result in multiple matches being reported. Note that the input range is mutated (popped from).
Example:
pdl_interp.foreach %op : !pdl.operation in %ops {
pdl_interp.continue
} -> ^next
Implementations§
source§impl<'c> ForEachOperation<'c>
impl<'c> ForEachOperation<'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>
) -> ForEachOperationBuilder<'c, Unset, Unset, Unset>
pub fn builder( context: &'c Context, location: Location<'c> ) -> ForEachOperationBuilder<'c, Unset, Unset, Unset>
Creates a builder.
pub fn values(&self) -> Result<Value<'c, '_>, Error>
pub fn region(&self) -> Result<RegionRef<'c, '_>, Error>
pub fn successor(&self) -> Result<BlockRef<'c, '_>, Error>
Trait Implementations§
source§impl<'c> From<ForEachOperation<'c>> for Operation<'c>
impl<'c> From<ForEachOperation<'c>> for Operation<'c>
source§fn from(operation: ForEachOperation<'c>) -> Self
fn from(operation: ForEachOperation<'c>) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl<'c> RefUnwindSafe for ForEachOperation<'c>
impl<'c> !Send for ForEachOperation<'c>
impl<'c> !Sync for ForEachOperation<'c>
impl<'c> Unpin for ForEachOperation<'c>
impl<'c> UnwindSafe for ForEachOperation<'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