Skip to content

bloqade.lanes.dialects.arch.stmts.CzPartner

← Module overview

classCzPartnersource

bloqade.lanes.dialects.arch.stmts.CzPartner

Bases: ArchResolvedStmt

Resolve the CZ blockade-partner LocationAddress of a location.

class CzPartner

arch.cz_partner(loc) returns the location an atom must occupy to be CZ-entangled with an atom at loc. The result is materialized by standard const-prop: once arch_spec is bound (by BindArchSpec) and the address operand is constant, the registered constprop impl returns a const.Value(LocationAddress) so the rest of the fold pipeline propagates it (e.g. into a move_to locations list).

Any CzPartner that survives resolution (because arch_spec was not bound, address did not const-fold, or the architecture has no partner for that location) keeps the downstream move_to non-const, which the existing move_to validation reports.

Attributes

NameTypeDefaultDescription
name—'cz_partner'
traits—frozenset({ir.Pure(), lowering.FromPythonCall()})
addressir.SSAValueinfo.argument(LocationAddressType)
resultir.ResultValueinfo.result(LocationAddressType)