Skip to content

bloqade.squin.analysis.schedule.DagScheduleAnalysis

← Module overview

classDagScheduleAnalysissource

bloqade.squin.analysis.schedule.DagScheduleAnalysis

Bases: Forward[GateSchedule]

Signature
class DagScheduleAnalysis(address_analysis: Dict[ir.SSAValue, address.Address])

Parameters

NameTypeDescription
address_analysisDict[ir.SSAValue, address.Address]

Attributes

NameTypeDefaultDescription
keys—['qasm2.schedule.dag']
lattice—GateSchedule
address_analysisDict[ir.SSAValue, address.Address]required
use_defDict[int, ir.Statement]field(init=False)
stmt_dagStmtDagfield(init=False)
stmt_dagsDict[ir.Block, StmtDag]field(init=False)

methodinitializesource

bloqade.squin.analysis.schedule.DagScheduleAnalysis.initialize

def initialize()
source

methodpush_current_dagsource

bloqade.squin.analysis.schedule.DagScheduleAnalysis.push_current_dag

def push_current_dag(block: ir.Block)

Parameters

NameTypeDescription
blockir.Block
source

methodmethod_selfsource

bloqade.squin.analysis.schedule.DagScheduleAnalysis.method_self

def method_self(method: ir.Method) -> GateSchedule

Parameters

NameTypeDescription
methodir.Method

Returns

GateSchedule

source

methodeval_fallbacksource

bloqade.squin.analysis.schedule.DagScheduleAnalysis.eval_fallback

def eval_fallback(frame: ForwardFrame, node: ir.Statement)

Parameters

NameTypeDescription
frameForwardFrame
nodeir.Statement
source

methodupdate_dagsource

bloqade.squin.analysis.schedule.DagScheduleAnalysis.update_dag

def update_dag(stmt: ir.Statement, args: Sequence[ir.SSAValue])

Parameters

NameTypeDescription
stmtir.Statement
argsSequence[ir.SSAValue]
source

methodget_dagssource

bloqade.squin.analysis.schedule.DagScheduleAnalysis.get_dags

def get_dags(mt: ir.Method, args=None, kwargs=None)

Parameters

NameTypeDefaultDescription
mtir.Methodrequired
args—None
kwargs—None
source