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>