Place2move
InsertReturnMoves
dataclass
InsertReturnMoves(
placement_analysis: dict[SSAValue, AtomState] = dict(),
revert_initial_position: Callable[
[dict[SSAValue, AtomState], StaticPlacement],
tuple[tuple[LaneAddress, ...], ...] | None,
] = palindrome_move_layers,
)
Bases: RewriteRule
Insert return move layers near the end of each static placement region.
The default return strategy mirrors existing move layers in reverse order so callers can recover the initial configuration after executing a region.
RewriteGates
dataclass
RewriteGates(placement_analysis: dict[SSAValue, AtomState])
Bases: RewriteRule
Rewrite R circuit statements to move R statements.