SourceRef and lattice primitives - #648
Draft
iangneal wants to merge 1 commit into
Draft
Conversation
iangneal
force-pushed
the
codex/circom-analysis-1-primitives
branch
from
July 28, 2026 20:07
9dd1050 to
952d52b
Compare
7 tasks
Contributor
iangneal
force-pushed
the
codex/circom-analysis-1-primitives
branch
3 times, most recently
from
July 28, 2026 22:46
f049921 to
458d1ac
Compare
iangneal
force-pushed
the
codex/circom-analysis-1-primitives
branch
from
July 29, 2026 02:20
458d1ac to
d77528c
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.
Summary
Adds the SourceRef and lattice primitives required by the remaining aggregate analyses without introducing Circom-specific behavior. This is PR 1 of 6 in the stacked series.
Related issues
No standalone issue; this is the first independently validated slice of the Circom analysis handoff.
Changes
SourceRef::narrowRanges().@constrainfunction as%self; other function and nested SCF block arguments retain their existing names or%arg…fallback.unittests/Analysis/SourceRefTests.cpp, including multidimensional/ranged writes, unmatched-prefix preservation, constrain-self spelling, nested SCF fallback, and immutable-global classification.changelogs/unreleased/iangneal__source-ref-lattice-primitives.yaml.Testing
git diff --checkSourceRefTestsunit suite and six affected analysis/FileCheck testsnix build -Lon this exact commit: 371 lit tests and 1,308 unit/CAPI tests passedSubmission checklist
approved; otherwise, this does not apply.create-changelogin the Nix development shell creates a template.)AI assistance
Tools used: OpenAI Codex.
How the tools contributed: Codex helped partition the original working-tree change, preserve dependency ordering, add focused regressions and changelog entries, and prepare this draft PR.
How I verified the contribution: Reviewed the isolated diff and ran
git diff --check, the focused analysis regressions through the project test suite, andnix build -Lon this exact commit.