-
-
Notifications
You must be signed in to change notification settings - Fork 59
✨ Improve Static Qubit Handling #1569
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
Merged
Merged
Changes from all commits
Commits
Show all changes
60 commits
Select commit
Hold shift + click to select a range
3e9099e
✨ Update QCO operations to reflect memory effects and enhance dealloc…
simon1hofmann 6c77dbb
✨ Add `staticQubitWithOp` function to allocate a static qubit and app…
simon1hofmann 646cf3e
✅ Add test cases for `staticQubitWithOp` across various dialects (QC,…
simon1hofmann ea7b675
🔧 Add missing include for LLVM casting support in QCOToQC.cpp
simon1hofmann b824284
✨ Rename `staticQubitWithOp` to `staticQubitsWithOps` and update rela…
simon1hofmann c2d414f
🔧 Enhance `ConvertFuncReturnOp` to exclude escaped qubits from the li…
simon1hofmann 0b81e9c
✨ Enhance QubitType to support static and dynamic qubits, updating re…
simon1hofmann 0221058
✨ Update QubitType handling in QCO and QC dialects to support static …
simon1hofmann a5ffdef
🔧 Refactor QCO and QC dialects: remove unnecessary includes, simplify…
simon1hofmann 6af63db
✨ Introduce StaticQubit type in QC and QCO dialects, enhance StaticOp…
simon1hofmann 08410f6
🔧 Update QCO and QC dialects: add missing LLVM casting includes, enha…
simon1hofmann 893a746
Merge branch 'main' into static_qubit_handling
simon1hofmann ec4f2fa
🔧 Update StaticOp to output StaticQubit type and remove unnecessary v…
simon1hofmann 6ff64e4
🔧 Refactor QubitType definitions in QC dialect: reintroduce DynamicQu…
simon1hofmann e0689dc
🔧 Add DynamicQubit and StaticQubit type definitions in QCO dialect, u…
simon1hofmann c624c3d
🔧 Update AllocOp to return DynamicQubit type, refactor ConvertFuncRet…
simon1hofmann 8499977
🔧 Enhance QCO operations with type verification: add input-output typ…
simon1hofmann a16da14
Apply suggestions from code review
simon1hofmann adb5192
🔧 Refactor QCO operations to improve static qubit handling: update St…
simon1hofmann 34a6ffe
Merge branch 'main' into static_qubit_handling
simon1hofmann ea8b155
🎨 pre-commit fixes
pre-commit-ci[bot] 95970d6
🔧 Implement synchronizeMappedQubitTypes function to align qubit resul…
simon1hofmann 0ed81fa
🔧 Update conversion patterns in QCO, QC, and QIR dialects to ensure c…
simon1hofmann c9d1b8f
🔧 Add missing includes in QCOToQC and Mapping.
simon1hofmann acdc0cb
🔧 Refactor qubit mapping in QCToQCO conversion patterns to use per-re…
simon1hofmann c3e1b2a
🐧 Fix compile error on Linux due to missing link library
burgholzer 3dcb30a
✏️ Rename SSABeforeForDeallocOrder to SSAOrder and tweak docstring
burgholzer 417857a
🎨 Replace two-qubit gate programs with gate that is less likely to be…
burgholzer 4c8c0f9
🚨 Fix use of outdated rewrite method
burgholzer d6ad7c4
🎨 Refine static qubit handling to require less casting
burgholzer 9c807b7
🩹 Mark result of `qc.alloc` as dynamic qubit
burgholzer ef2bdaa
🎨 one cast less
burgholzer bf3b82e
🎨 Incremental code quality improvements to the QCToQCO conversion
burgholzer 57e150a
♻️ Streamline QCToQCO conversion by introducing helper functions
burgholzer 2b6f808
🚨 Fix clang-tidy warnings
burgholzer 20a7e6a
🐛 Fix the logic in `synchronizeMappedQubitTypes` and add dedicated tests
burgholzer 3166aa0
✨ Update mapping pass to use `IRRewriter`.
simon1hofmann 01e9861
✨ clang-tidy and coderabbit comments.
simon1hofmann bc04365
Merge branch 'main' into static_qubit_handling
simon1hofmann a202cd7
🎨 pre-commit fixes
pre-commit-ci[bot] 4fdd34f
🔀 Resolve changes after merge
simon1hofmann 5b52511
🔄 Rename `dealloc` to `sink` in QCO dialect for qubit management
simon1hofmann 6fe5d43
🔧 Refactor QubitType handling in QC and QCO dialects
simon1hofmann 22791f4
🔧 Refactor QCO operations to simplify type handling and remove redund…
simon1hofmann ead5c13
🔧 Move `QubitMode` enum and `inferQubitMode` function to a more appro…
simon1hofmann 45800cc
🐇 Address rabbit's comments
simon1hofmann 0ceb41d
🔧 Mark `inferQubitMode` as static to limit its linkage scope
simon1hofmann 8c100e7
📝 Enhance documentation for `ConvertQCOSinkOp` to clarify transformat…
simon1hofmann 888c53e
⏪ Revert adding cast
burgholzer d8dfec5
🎨 Simplify QCO to QC conversion by avoiding walking the entire program
burgholzer 50c79fa
🚸 Add convenience functions for getting control and target ranges thr…
burgholzer 7988993
♻️ Simplify QC to QCO conversion and drop sorting
burgholzer cd18772
🔥 Drop the programs for mixing dynamic and static qubits
burgholzer 810322b
🎨 streamline QCO program builder
burgholzer da8c30e
⏪ Revert changes based on different type assumption
burgholzer 4e92611
✏️ Adjust docstring
burgholzer b7be1cb
⏪ Cleanup PR diff
burgholzer fa20138
🚨 cleanup
burgholzer 701e5e8
🚸 Add convenience functions for getting parameter ranges through the …
burgholzer ac68ee4
♻️ Adjust semantics of QC `InvOp`
burgholzer File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.