Skip to content

Normalize compute and constrain dependencies - #652

Draft
iangneal wants to merge 1 commit into
codex/circom-analysis-4-overlap-cdgfrom
codex/circom-analysis-5-dependency-normalization
Draft

Normalize compute and constrain dependencies#652
iangneal wants to merge 1 commit into
codex/circom-analysis-4-overlap-cdgfrom
codex/circom-analysis-5-dependency-normalization

Conversation

@iangneal

@iangneal iangneal commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Summary

Normalizes compute/constrain dependencies to logical program signals on top of #651. This is PR 5 of 6 in the stacked series.

Related issues

No standalone issue; depends on #651.

Changes

  • Track direct equality aliases separately and prefer logical inputs/component paths over POD and temporary roots.
  • Normalize nondeterministic allocations to written signals.
  • Remove only proven neutral loop-zero initializers while preserving meaningful zero dependencies.
  • Retain distinct logical component paths when alias candidates overlap an output.
  • Add regressions for deferred components, input PODs, child-output rebasing, nondeterministic arrays, and loop accumulation.
  • Add changelogs/unreleased/iangneal__dependency-normalization.yaml.

Testing

  • git diff --check
  • Focused compute/constrain normalization regressions
  • nix build -L on this exact stacked commit (371 lit tests and 1,312 unit/CAPI tests passed)

Submission checklist

  • If I am an external contributor, this PR has a linked issue marked approved; otherwise, this does not apply.
  • I added or updated tests for all relevant behavior, or explained above why tests are not needed.
  • I updated the relevant TableGen or other documentation, or explained above why documentation is not needed.
  • I added a changelog entry describing user-visible changes. (create-changelog in the Nix development shell creates a template.)
  • I enabled Allow edits from maintainers if this PR comes from a fork.

AI assistance

  • No AI tools contributed to this PR.
  • AI tools contributed to this PR.

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, and nix build -L on this exact commit.

@iangneal
iangneal force-pushed the codex/circom-analysis-5-dependency-normalization branch 2 times, most recently from 655c8f3 to d6ab02a Compare July 28, 2026 20:11
@iangneal
iangneal force-pushed the codex/circom-analysis-5-dependency-normalization branch 3 times, most recently from 126c795 to 5cdb280 Compare July 28, 2026 20:26
@github-actions

github-actions Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Test Results

0 tests  ±0   0 ✅ ±0   0s ⏱️ ±0s
0 suites ±0   0 💤 ±0 
0 files   ±0   0 ❌ ±0 

Results for commit 0fc6df7. ± Comparison against base commit 3322a6a.

♻️ This comment has been updated with latest results.

@iangneal
iangneal force-pushed the codex/circom-analysis-5-dependency-normalization branch 5 times, most recently from f733392 to 5299256 Compare July 28, 2026 22:08
@iangneal
iangneal force-pushed the codex/circom-analysis-5-dependency-normalization branch from 5299256 to 93d5bbc Compare July 28, 2026 22:24
@iangneal
iangneal force-pushed the codex/circom-analysis-5-dependency-normalization branch from 93d5bbc to 0a6b60e Compare July 28, 2026 22:46
@iangneal
iangneal force-pushed the codex/circom-analysis-5-dependency-normalization branch from 0a6b60e to 0fc6df7 Compare July 29, 2026 02:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant