✨ Preserve classical control through target mapping - #2179
Conversation
Cpp-Linter Report
|
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
fea3035 to
0569b67
Compare
|
Important Approval pendingCodeRabbit has no unresolved comments, but it has not reviewed the latest commit. Use the checkbox below to review the latest commit. CodeRabbit will approve the changes if it finds no blocking issues.
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
🤖 AI text below 🤖 pre-commit.ci run |
|
This PR now somehow includes an old state of #2162. |
|
Hm. I wanted to disentangle the series from here on out from the lower chain. Might be that something went wrong with that. I'll try to fix that up once the main PR series gets closer to mergable. |
Add opt-in target capabilities, reject unsupported runtime control before mapping, and fold constant QCO index switches. Keep tensor scalarization and exporter support for follow-up changes. Assisted-by: Codex Signed-off-by: Simon Hofmann <simon.t.hofmann@tum.de>
Scalarize supported qco.if tensor inputs, keep structured control as a routing boundary, and preserve CBit and memref access order when restoring dominance. Assisted-by: Codex Signed-off-by: Simon Hofmann <simon.t.hofmann@tum.de>
Detect complete connectivity in runOnOperation, use identity root placement, and skip initial-layout search and hot routing. Retain zero-SWAP previews on sparse topologies and update the replayed tests to current shared MQT attributes. Assisted-by: GPT-5.6 Sol via Codex
Recognize qubit vectors in the classical-control preflight and keep structured-control fixtures linear under the checked QCO boundary. Assisted-by: Codex
0569b67 to
9f7a0eb
Compare
🤖 AI text below 🤖
Description
qco.ifand reject unsupported forms before mapping.This PR now starts an independent stack on
main. It no longer depends on the payload-compilation stack.Stack
Overlap
Open pull request #1956 also changes
Mapping.cppand theLayoutAPI. Its routing work is independent, but this PR must be rebased and the complete mapping suite rerun if #1956 lands first.Testing
mqt-core-mlir-unittest-mapping: 91 passed.mqt-core-mlir-unittests-compiler: 145 passed.mqt-core-mlir-unittest-qco-ir: 493 passed.mqt-core-mlir-unittest-qco-utils: 115 passed.uvx nox -s lint, andgit diff --check: passed.AI assistance: Codex assisted with implementation, review, testing, stack construction, and this description.
Checklist
If PR contains AI-assisted content:
🤖 *AI text below* 🤖(titles are exempt).