Skip to content

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>