Skip to content

chore: pull out interpreter binary evaluation logic into pure functions#9665

Merged
TomAFrench merged 2 commits intomasterfrom
tf/make-intepreter-binary-evaluation-pure
Aug 28, 2025
Merged

chore: pull out interpreter binary evaluation logic into pure functions#9665
TomAFrench merged 2 commits intomasterfrom
tf/make-intepreter-binary-evaluation-pure

Conversation

@TomAFrench
Copy link
Member

@TomAFrench TomAFrench commented Aug 28, 2025

Description

Problem*

Resolves

Summary*

A quick PR from looking into #9661 so that we can test how the interpreter does arithmetic more easily.

Additional Context

Documentation*

Check one:

  • No documentation needed.
  • Documentation included in this PR.
  • [For Experimental Features] Documentation to be submitted in a separate PR.

PR Checklist*

  • I have tested the changes locally.
  • I have formatted the changes with Prettier and/or cargo fmt on default settings.

@TomAFrench TomAFrench requested a review from a team August 28, 2025 13:06
Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Performance Alert ⚠️

Possible performance regression was detected for benchmark 'Test Suite Duration'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.20.

Benchmark suite Current: dd49a57 Previous: 3906847 Ratio
test_report_zkpassport_noir_rsa_ 1 s 0 s +∞

This comment was automatically generated by workflow using github-action-benchmark.

CC: @TomAFrench

@TomAFrench TomAFrench enabled auto-merge August 28, 2025 13:42
@TomAFrench TomAFrench added this pull request to the merge queue Aug 28, 2025
Merged via the queue into master with commit f2c6d3d Aug 28, 2025
122 checks passed
@TomAFrench TomAFrench deleted the tf/make-intepreter-binary-evaluation-pure branch August 28, 2025 14:11
AztecBot pushed a commit to AztecProtocol/aztec-packages that referenced this pull request Sep 2, 2025
Automated pull of nightly from the [noir](https://github.com/noir-lang/noir) programming language, a dependency of Aztec.
BEGIN_COMMIT_OVERRIDE
chore: remove duplicated frontend tests (noir-lang/noir#9706)
chore: remove playwright workaround (noir-lang/noir#9704)
fix(licm): Use `Loop::header` in `Loop::is_fully_executed` (noir-lang/noir#9700)
chore: show which type is invalid as program input (noir-lang/noir#9701)
chore: bump deps (noir-lang/noir#9698)
chore: bump external pinned commits (noir-lang/noir#9693)
chore(licm): Break things up further in LICM (noir-lang/noir#9683)
chore(docs): spinning out bb docs (noir-lang/noir#9402)
fix(ssa)!: Signed shift overflow checks rhs < bit_size (noir-lang/noir#9685)
chore: add extra bitshifts tests (noir-lang/noir#9680)
feat: Propagate purities using SCCs (noir-lang/noir#9672)
chore: break `NodeInterner` into chunks (noir-lang/noir#9674)
fix(formatter): don't revert indentation increase after popping it (noir-lang/noir#9673)
feat: hoist safe casts from loops (noir-lang/noir#9645)
chore: fix clippy warnings (noir-lang/noir#9675)
chore(ssa): Refactor flattening (noir-lang/noir#9663)
chore(ssa): Greenlight `brillig_entry_points` and switch to centralized CallGraph (noir-lang/noir#9668)
chore: add two mem2reg regression tests where references are returned (noir-lang/noir#9670)
fix(mem2reg): reuse existing expression and add missing alias (noir-lang/noir#9664)
chore: add tests for bounded_vec (noir-lang/noir#9576)
chore: redact debug info and file maps from snapshots (noir-lang/noir#9666)
chore: pull out interpreter binary evaluation logic into pure functions (noir-lang/noir#9665)
feat: brillig functions can be pure if they are not entry points (noir-lang/noir#9659)
END_COMMIT_OVERRIDE

Co-authored-by: Tom French <15848336+TomAFrench@users.noreply.github.com>
AztecBot pushed a commit to AztecProtocol/aztec-packages that referenced this pull request Sep 2, 2025
Automated pull of nightly from the [noir](https://github.com/noir-lang/noir) programming language, a dependency of Aztec.
BEGIN_COMMIT_OVERRIDE
chore: remove duplicated frontend tests (noir-lang/noir#9706)
chore: remove playwright workaround (noir-lang/noir#9704)
fix(licm): Use `Loop::header` in `Loop::is_fully_executed` (noir-lang/noir#9700)
chore: show which type is invalid as program input (noir-lang/noir#9701)
chore: bump deps (noir-lang/noir#9698)
chore: bump external pinned commits (noir-lang/noir#9693)
chore(licm): Break things up further in LICM (noir-lang/noir#9683)
chore(docs): spinning out bb docs (noir-lang/noir#9402)
fix(ssa)!: Signed shift overflow checks rhs < bit_size (noir-lang/noir#9685)
chore: add extra bitshifts tests (noir-lang/noir#9680)
feat: Propagate purities using SCCs (noir-lang/noir#9672)
chore: break `NodeInterner` into chunks (noir-lang/noir#9674)
fix(formatter): don't revert indentation increase after popping it (noir-lang/noir#9673)
feat: hoist safe casts from loops (noir-lang/noir#9645)
chore: fix clippy warnings (noir-lang/noir#9675)
chore(ssa): Refactor flattening (noir-lang/noir#9663)
chore(ssa): Greenlight `brillig_entry_points` and switch to centralized CallGraph (noir-lang/noir#9668)
chore: add two mem2reg regression tests where references are returned (noir-lang/noir#9670)
fix(mem2reg): reuse existing expression and add missing alias (noir-lang/noir#9664)
chore: add tests for bounded_vec (noir-lang/noir#9576)
chore: redact debug info and file maps from snapshots (noir-lang/noir#9666)
chore: pull out interpreter binary evaluation logic into pure functions (noir-lang/noir#9665)
feat: brillig functions can be pure if they are not entry points (noir-lang/noir#9659)
END_COMMIT_OVERRIDE
github-merge-queue bot pushed a commit to AztecProtocol/aztec-packages that referenced this pull request Sep 2, 2025
Automated pull of nightly from the
[noir](https://github.com/noir-lang/noir) programming language, a
dependency of Aztec.
BEGIN_COMMIT_OVERRIDE
chore: remove duplicated frontend tests
(noir-lang/noir#9706)
chore: remove playwright workaround
(noir-lang/noir#9704)
fix(licm): Use `Loop::header` in `Loop::is_fully_executed`
(noir-lang/noir#9700)
chore: show which type is invalid as program input
(noir-lang/noir#9701)
chore: bump deps (noir-lang/noir#9698)
chore: bump external pinned commits
(noir-lang/noir#9693)
chore(licm): Break things up further in LICM
(noir-lang/noir#9683)
chore(docs): spinning out bb docs
(noir-lang/noir#9402)
fix(ssa)!: Signed shift overflow checks rhs < bit_size
(noir-lang/noir#9685)
chore: add extra bitshifts tests
(noir-lang/noir#9680)
feat: Propagate purities using SCCs
(noir-lang/noir#9672)
chore: break `NodeInterner` into chunks
(noir-lang/noir#9674)
fix(formatter): don't revert indentation increase after popping it
(noir-lang/noir#9673)
feat: hoist safe casts from loops
(noir-lang/noir#9645)
chore: fix clippy warnings (noir-lang/noir#9675)
chore(ssa): Refactor flattening
(noir-lang/noir#9663)
chore(ssa): Greenlight `brillig_entry_points` and switch to centralized
CallGraph (noir-lang/noir#9668)
chore: add two mem2reg regression tests where references are returned
(noir-lang/noir#9670)
fix(mem2reg): reuse existing expression and add missing alias
(noir-lang/noir#9664)
chore: add tests for bounded_vec
(noir-lang/noir#9576)
chore: redact debug info and file maps from snapshots
(noir-lang/noir#9666)
chore: pull out interpreter binary evaluation logic into pure functions
(noir-lang/noir#9665)
feat: brillig functions can be pure if they are not entry points
(noir-lang/noir#9659)
END_COMMIT_OVERRIDE
mralj pushed a commit to AztecProtocol/aztec-packages that referenced this pull request Oct 13, 2025
Automated pull of nightly from the [noir](https://github.com/noir-lang/noir) programming language, a dependency of Aztec.
BEGIN_COMMIT_OVERRIDE
chore: remove duplicated frontend tests (noir-lang/noir#9706)
chore: remove playwright workaround (noir-lang/noir#9704)
fix(licm): Use `Loop::header` in `Loop::is_fully_executed` (noir-lang/noir#9700)
chore: show which type is invalid as program input (noir-lang/noir#9701)
chore: bump deps (noir-lang/noir#9698)
chore: bump external pinned commits (noir-lang/noir#9693)
chore(licm): Break things up further in LICM (noir-lang/noir#9683)
chore(docs): spinning out bb docs (noir-lang/noir#9402)
fix(ssa)!: Signed shift overflow checks rhs < bit_size (noir-lang/noir#9685)
chore: add extra bitshifts tests (noir-lang/noir#9680)
feat: Propagate purities using SCCs (noir-lang/noir#9672)
chore: break `NodeInterner` into chunks (noir-lang/noir#9674)
fix(formatter): don't revert indentation increase after popping it (noir-lang/noir#9673)
feat: hoist safe casts from loops (noir-lang/noir#9645)
chore: fix clippy warnings (noir-lang/noir#9675)
chore(ssa): Refactor flattening (noir-lang/noir#9663)
chore(ssa): Greenlight `brillig_entry_points` and switch to centralized CallGraph (noir-lang/noir#9668)
chore: add two mem2reg regression tests where references are returned (noir-lang/noir#9670)
fix(mem2reg): reuse existing expression and add missing alias (noir-lang/noir#9664)
chore: add tests for bounded_vec (noir-lang/noir#9576)
chore: redact debug info and file maps from snapshots (noir-lang/noir#9666)
chore: pull out interpreter binary evaluation logic into pure functions (noir-lang/noir#9665)
feat: brillig functions can be pure if they are not entry points (noir-lang/noir#9659)
END_COMMIT_OVERRIDE
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.

2 participants