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>