Skip to content

scalar.assume

← scalar dialect

Identity with predicate constraints on scalar payload results. Use index.assume for index or offset values.

Operation contract

Property Value
Semantic phase —
Traits Pure, FactIdentity

Signature

Kind Name Type Cardinality Description
Operand values payload_scalar variadic —
Result results payload_scalar variadic —
Attribute predicates predicate_list required —

Verification constraints

  • VariadicValuesMatch(values, results)

Examples

%n2 = scalar.assume %n [mul(%n, 16)] : i64
%count2 = scalar.assume %count [range(%count, 0, %capacity)] : i32
%n2, %k2 = scalar.assume %n, %k [mul(%n, 16), lt(%k, 1024)] : i64, i64
%x2 = scalar.assume %x [finite(%x)] : f32