Skip to content

RFC: tracking new squin statements #435

@david-pl

Description

@david-pl

We repeatedly run into issues where a new squin statement is added to the dialect without adding all the corresponding implementations in all method tables / rewrites. From a user perspective, I'd expect that any statement available in a dialect works in all places.

@cduck proposed to add a unit test. For example, we could have a kernel that needs to include every single dialect statement (checked by looping over all available statements and checking). Then, we can run this kernel through all required implementations and check the result.
The only disadvantage of this is that it may block PRs that add new statements. Then again, I think this is the only sure-fire way to avoid missing implementations.

We'll also need a list of all the places we need to run the kernel through. Right now, I can think of the following:

  • Noise to StochasticUnitary rewrite rule
  • PyQrack simulation
  • cirq emit
  • SquinToStimPass
  • Address analysis

@johnzl-777 @kaihsin @weinbe58 any other places? I suppose there are some things that need to be tested downstream as well, but this can't be included here.

Metadata

Metadata

Assignees

Labels

rfcRequest for Commentssquinsquin related issues

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions