Skip to content

low.scf.condition

low dialect

Terminate a low.scf.while condition region with a register predicate and loop-carried register values. Forwarded values enter the body when the predicate is true and become the loop results when it is false.

Operation contract

Property Value
Semantic phase executable
Traits Terminator, StorageRelation, HasParent(low.scf.while)

Signature

Kind Name Type Cardinality Description
Operand condition register required Register predicate controlling whether the loop body executes.
Operand forwarded register variadic Register values forwarded to the body or loop results.

Examples

low.scf.condition %keep_going : reg<spirv.id : i1>
low.scf.condition %keep_going, %next : reg<spirv.id : i1>, reg<spirv.id : i32>