Skip to content

Commit 8a17bed

Browse files
committed
Discard gate dialect AFTER rewrite to native is done
1 parent bd8e2af commit 8a17bed

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

src/bloqade/native/upstream/squin2native.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -62,16 +62,18 @@ def emit(self, mt: ir.Method, *, no_raise=True) -> ir.Method:
6262
all_dialects = chain.from_iterable(
6363
ker.dialects.data for kers in old_callgraph.defs.values() for ker in kers
6464
)
65-
new_dialects = (
66-
mt.dialects.union(all_dialects).discard(gate_dialect).union(kernel)
67-
)
65+
combined_dialects = mt.dialects.union(all_dialects).union(kernel)
6866

69-
out = mt.similar(new_dialects)
70-
UpdateDialectsOnCallGraph(new_dialects, no_raise=no_raise)(out)
71-
CallGraphPass(new_dialects, rewrite.Walk(GateRule()), no_raise=no_raise)(out)
72-
# verify all kernels in the callgraph
67+
out = mt.similar(combined_dialects)
68+
UpdateDialectsOnCallGraph(combined_dialects, no_raise=no_raise)(out)
69+
CallGraphPass(combined_dialects, rewrite.Walk(GateRule()), no_raise=no_raise)(
70+
out
71+
)
72+
# verify all kernels in the callgraph and discard gate dialect
73+
out.dialects.discard(gate_dialect)
7374
new_callgraph = CallGraph(out)
7475
for ker in new_callgraph.edges.keys():
76+
ker.dialects.discard(gate_dialect)
7577
ker.verify()
7678

7779
return out

0 commit comments

Comments
 (0)