bloqade.lanes.dialects.arch.stmts.CzPartner
classCzPartner¶source
bloqade.lanes.dialects.arch.stmts.CzPartner
Bases: ArchResolvedStmt
Resolve the CZ blockade-partner LocationAddress of a location.
class CzPartnerarch.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
| Name | Type | Default | Description |
|---|---|---|---|
name | — | 'cz_partner' | |
traits | — | frozenset({ir.Pure(), lowering.FromPythonCall()}) | |
address | ir.SSAValue | info.argument(LocationAddressType) | |
result | ir.ResultValue | info.result(LocationAddressType) |