Skip to content

Add dedicated stage for high level synthesis to default stages on StagedPassManager #8936

@mtreinish

Description

@mtreinish

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions