-
Notifications
You must be signed in to change notification settings - Fork 294
New pass to expand veqs into individual arguments when used as controls #1829
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
CLA Assistant Lite bot All Contributors have signed the CLA. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work, Adam. Let's see if we can't deploy this using rewrite patterns.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great and quick work. Thanks for doing this, Adam.
A few minor nits.
|
Looks like it'll need a clang-format run on the .cpp file. |
Co-authored-by: Eric Schweitz <eschweitz@nvidia.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good. We should move ahead with merging it.
Command Bot: Processing... |
|
CUDA Quantum Docs Bot: A preview of the documentation can be found here. |
Head branch was pushed to by a user without write access
Command Bot: Processing... |
Description
Adds a pass
expand-control-veqsto expand veqs used as controls into individual control qubits.For example, given an operation of the form
quake.any [%veq] %r : (!quake.veq<n>, !quake.ref) -> (), this pass will extract each qubit from%veq%and explicitly provide them as qubits: