Skip to content

bloqade.lanes.passes.SequentialPlacePass

← Module overview

classSequentialPlacePasssource

bloqade.lanes.passes.SequentialPlacePass

Bases: passes.Pass

Merge all adjacent StaticPlacement blocks, preserving original gate order.

class SequentialPlacePass

Merging CZ placements into a single region (rather than leaving each CZ isolated) is required for correctness: the placement analysis threads the atom layout through the merged region, so each CZ layer is placed from the current (possibly displaced) layout. Isolated CZ blocks were each placed from the initial home layout, which is only valid when return moves restore home between layers. This is the default place-dialect optimization pass.

Attributes

NameTypeDefaultDescription
namestr'sequential_place'

methodunsafe_runsource

bloqade.lanes.passes.SequentialPlacePass.unsafe_run

def unsafe_run(mt: ir.Method) -> RewriteResult

Parameters

NameTypeDescription
mtir.Method

Returns

RewriteResult

source