Conversation
bettinaheim
left a comment
There was a problem hiding this comment.
I haven't made it through the entire PR yet. I'll come back to it in a couple of hours.
All in all things are coming along nicely! I think this is starting to look pretty clean!
…ction lifting to the classical-control specific lifting transformation.
bettinaheim
left a comment
There was a problem hiding this comment.
I finished looking through it. Overall this is looking really nice, well done!
I added a few more comments. The three most important ones are:
- potentially supporting lifing in functions
- having the logic for determining whether a block should be lifted live in one place
Also, I'd go with a slightly different choice for what to expose and what not. The easiest rather than commenting here is probably for me to make a PR into your branch that you can look at.
…/qsharp-compiler into sccarda/GeneralLifting
Allowing custom TransformationState for inheriting transformations
Changes to BuiltIn Records
ScottCarda-MS
left a comment
There was a problem hiding this comment.
I would like to hold off on implementing the lifting of functions until we have a use-case for that feature, and a concrete code path to test that feature in. I don't want to create this functionality without the ability to see concretely that it works as intended.
bettinaheim
left a comment
There was a problem hiding this comment.
I created to clean-up tasks; one for supporting lifting in functions, the other for absorbing the logic for determining whether something can be lifted into LiftContent.
Co-Authored-By: bettinaheim <34236215+bettinaheim@users.noreply.github.com>
Separates out the lifting (hoisting) logic of the classical control transformation into its own transformation that can be used by future features.
Adds IsSelfAdjointable to the BuiltIn record so it can be used in the new transformation logic to accurately create references to these built-in operations.
Trailing whitespace was removed in the relevant files. (You may want to hide whitespace changes when reviewing)