Skip to content

Check that circuit mlir passes do not transform to unsupported gates on the device #1394

Open
@paul0403

Description

@paul0403

We currently do not have such passes, but imagine a pass that performs
--PauliX-- --> --RX(pi/2)--RX(pi/2)--

This is a valid abstract circuit transformation; however, from a device perspective, it implicitly imposes the requirement that the device support the RX gate, despite no such guarantees from the original circuit (RX was not present in the original circuit).

It would be good to have a mechanism to perform such checks, or a "gateset canonicalization pass" that automatically decomposes towards the device's supported gateset every now and then in the pipeline.

This would be quite valuable, since we are starting to consider hardware targeting now.

Metadata

Metadata

Assignees

No one assigned

    Labels

    compilerPull requests that update the compilerenhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions