-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
Track adding control flow passes for optimization level 1 #8630
Comments
Should we add |
We can put it in the list. I don't think there's any chance of us supporting Sabre for 0.22 when there's control flow. Part of this is working out what (if any) chances to the preset pass-manager logic we need for the initial support, when there's control-flow in the circuit. The general idea being that we can have tweaked preset pass-manager logic if there's control flow or not, while we're building up to full support everywhere, but we want the literal call |
For the timeline of 0.22 it might be better to prioritize a set of non-redundant passes. Since BasicSwap and StochasticSwap have already been started it may be faster to get some other items on the list complete before coming back to implement alternative (even if soon to be default) routing passes. |
@ewinston Can you call out in the list above which passes are easily implementable as recursion over the blocks of each |
@kdk Just saw this comment. Here's which passes might require special handling of blocks, *** SetLayout |
I'll handle all the trivial passes in a PR that I'll post tomorrow. Just a note: |
I found some more transpiler passes while trying to update the preset pass managers, so I've added them to the list. |
What should we add?
This issue is to track the target set of passes to enable control flow handling for transpiler
optimization_level
=1.GatesInBasis
#8823)We also need to update the preset pass managers (esp level 1) to suitably modify the defaults / reject
scheduling_method != None
if a given circuit has control flow:Time permitting:
CheckMap
instead, to avoid adding the questionable "weighting" of control-flow blocks to another pass (add controlflow handling to Layout2qDistance transpiler pass #8733)The text was updated successfully, but these errors were encountered: