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 Prefer physical storage disjoint from the move source. Reusing the source storage is permitted; the source identity is invalid after the move regardless of physical placement.

Verification constraints

  • SameRegisterClass(source, result)

Examples

%moved = low.move %value : reg<cmd.binding> -> reg<cmd.binding>