Skip to content

Support control flow in ConsolidateBlocks #9426

@jakelishman

Description

@jakelishman

What should we add?

Part of #9417. Depends on #9425. Will interact with other efforts in #8779.

The ConsolidateBlocks pass is run by default at optimisation level 3, and (albeit very uncommon in practice) is used by the synthesis routing method at all levels. This currently cannot support control-flow, primarily because the data format it reads has no way of representing that knowledge. Once a solution to #9425 is in place, this pass should be upgraded to use that information, and enter control-flow blocks where appropriate.

The implementation of the control-flow parts of this will likely end up looking quite similar to that of CommutativeCancellation: see #9423.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions