-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Description
What should we add?
Since #8548 we have a dedicated pass for high level synthesis in addition to UnitarySynthesis
and the unroll family of passes to decompose higher level complex objects. Right now this is integrated into the init
stage in our default stage list for the StagedPassManager
. But it might make sense to create a dedicated stage for this kind of synthesis between init
and layout
, this would leave the init
stage for any other logical analysis or transforms that we can perform prior to synthesis. This would also let downstream packages create new plugins for the entire synthesis stage. While we have the plugin interface for high level synthesis and unitary synthesis enabling packages to completely replace all the logical synthesis at once could potentially be useful too (although the synthesis_method
kwarg on transpile() might be a confusing name).
This issue is to track splitting these synthesis stage out into a new stage in the default stages list in the preset pass manager.