low.move
← low dialect
Transfer a virtual-register value and its exact ownership state to a fresh virtual-register identity. The source is invalid after the move.
Operation contract
| Property |
Value |
| Semantic phase |
executable |
| Traits |
StorageRelation |
| Ownership effects |
moved result from source |
Signature
| Kind |
Name |
Type |
Cardinality |
Description |
| Operand |
source |
register |
required |
— |
| Result |
result |
register |
required |
— Produces a fresh allocation. |
| Attribute |
detached |
bool |
default False |
Require physical storage disjoint from the move source. |
Verification constraints
SameRegisterClass(source, result)
Examples
%moved = low.move %value : reg<cmd.binding> -> reg<cmd.binding>