Skip to content

low.assume

← low dialect

Identity with predicate constraints on target-low register results. Each result aliases the corresponding operand's exact physical storage and emits no target instruction.

Operation contract

Property Value
Semantic phase executable
Traits Pure, FactIdentity, StorageRelation, CompileTimeOnly

Signature

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

Verification constraints

  • VariadicValuesMatch(values, results)

Examples

%step2 = low.assume %step [eq(%step, 3)] : reg<amdgpu.sgpr>
%i2, %n2 = low.assume %i, %n [lt(%i, %n)] : reg<amdgpu.sgpr>, reg<amdgpu.sgpr>