✨ Let QCOProgramBuilder build additional functions and call them - #2196
Open
DRovara wants to merge 1 commit into
Open
✨ Let QCOProgramBuilder build additional functions and call them#2196DRovara wants to merge 1 commit into
QCOProgramBuilder build additional functions and call them#2196DRovara wants to merge 1 commit into
Conversation
12 tasks
DRovara
force-pushed
the
mlir/builder-call-support
branch
2 times, most recently
from
August 24, 2026 09:33
8b58076 to
6e146d2
Compare
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
DRovara
force-pushed
the
mlir/builder-call-support
branch
from
August 24, 2026 09:52
6e146d2 to
1079b35
Compare
DRovara
force-pushed
the
mlir/builder-call-support
branch
3 times, most recently
from
August 25, 2026 10:48
dbe18b6 to
4a8041f
Compare
burgholzer
force-pushed
the
mlir/builder-call-support
branch
from
August 25, 2026 21:44
4a8041f to
a91b5cd
Compare
DRovara
force-pushed
the
mlir/builder-call-support
branch
from
August 26, 2026 14:08
a91b5cd to
1978be0
Compare
DRovara
force-pushed
the
mlir/builder-call-support
branch
2 times, most recently
from
August 26, 2026 14:34
32e9dba to
14a7cfa
Compare
DRovara
marked this pull request as ready for review
August 26, 2026 14:37
DRovara
force-pushed
the
mlir/builder-call-support
branch
from
August 27, 2026 11:40
14a7cfa to
7e8879c
Compare
DRovara
force-pushed
the
mlir/builder-call-support
branch
from
August 27, 2026 13:16
7e8879c to
7a47486
Compare
DRovara
force-pushed
the
mlir/builder-call-support
branch
2 times, most recently
from
August 28, 2026 08:11
03b4435 to
db2ac3b
Compare
burgholzer
force-pushed
the
mlir/builder-call-support
branch
from
August 28, 2026 12:30
db2ac3b to
0c727ef
Compare
Build additional functions, track linear values across supported calls, and reject callees whose correspondence cannot be derived. Assisted-by: Claude Opus 5 <noreply@anthropic.com> Assisted-by: Codex
burgholzer
force-pushed
the
mlir/builder-call-support
branch
from
August 30, 2026 14:21
0c727ef to
2261fde
Compare
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
🤖 AI text below 🤖
Description
Third of a stack replacing #1970. Builds on #2194.
startFunctionandendFunctionbuild private helper functions, whilecallemits calls to them and transfers the builder's linear-value tracking across
the boundary.
Helper functions must be completed before operations are added to
main. Noproduction consumer in this stack needs to suspend a partially built
main, sothis ordering rule replaces copied caller tracking sets and a function-scope
abstraction with one saved insertion point. It also prevents helper bodies from
capturing values created in
main.At a call, qubit and qubit-tensor operands are paired with the results that
actually continue them using the mappings from #2194. Values kept by the callee
are consumed, results without a continuing operand are newly tracked, and
classical values pass through without linear tracking. Unsupported callee
shapes fail closed.
Simplification audit
The Ponytail review combined operand preparation and validation, unified result
tracking, removed duplicated function-scope state, and deleted a tensor-swap
test that could not distinguish derived from positional pairing. The focused
tests retain each observable success and failure contract.
Testing
one expected skip.
uvx nox -s cpp-lintanduvx nox -s lintpass.AI assistance
Code and this description were produced with Claude Code (Opus 5) and Codex,
acting on my instructions and within the scope I authorized.
Checklist
If PR contains AI-assisted content:
🤖 *AI text below* 🤖(titles are exempt).