Skip to content

chore: add return value to every execution_success program that produces an output#8882

Merged
TomAFrench merged 2 commits intomasterfrom
ab/execution_success_return
Jun 11, 2025
Merged

chore: add return value to every execution_success program that produces an output#8882
TomAFrench merged 2 commits intomasterfrom
ab/execution_success_return

Conversation

@asterite
Copy link
Collaborator

Description

Problem

No issue.

Summary

Given that the SSA interpreter might have some bugs, I thought it would be nice to run it against all "execution_success" test programs. Ideally we'd check that the circuit output produced by the SSA interpreter is the same as the one produced by nargo execute. Initially I though we could run nargo execute, get the output, the run the SSA interpreter and compare the output. However, it might be easier for the SSA interpreter to check the return value against the return value in "Prover.toml". Given that this is missing from most "execution_success" tests, this PR adds those as an initial step towards that.

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.

Copy link
Member

@TomAFrench TomAFrench left a comment

Choose a reason for hiding this comment

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

LGTM

@TomAFrench TomAFrench enabled auto-merge June 11, 2025 14:45
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 'Execution Time'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.20.

Benchmark suite Current: be793a3 Previous: 9580a12 Ratio
rollup-merge 0.004 s 0.003 s 1.33

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

CC: @TomAFrench

@asterite
Copy link
Collaborator Author

@TomAFrench I forgot to commit a change in execute.rs that requires a Prover.toml (and a return value) to be there for programs that produce output... in case you'd like to review that last commit.

@TomAFrench TomAFrench added this pull request to the merge queue Jun 11, 2025
Merged via the queue into master with commit 9458858 Jun 11, 2025
117 checks passed
@TomAFrench TomAFrench deleted the ab/execution_success_return branch June 11, 2025 15:42
github-merge-queue bot pushed a commit to AztecProtocol/aztec-packages that referenced this pull request Jun 12, 2025
Automated pull of nightly from the
[noir](https://github.com/noir-lang/noir) programming language, a
dependency of Aztec.
BEGIN_COMMIT_OVERRIDE
chore: interpret all execution_success programs
(noir-lang/noir#8887)
fix: always error if integer literal doesn't fit its type on the fron…
(noir-lang/noir#8885)
fix: Count array copies for slice functions
(noir-lang/noir#8867)
chore(ssa): Simplify truncate when the bit size we are truncating to is
greater than the value's max bit size
(noir-lang/noir#8875)
fix(ssa): Validate field to integer cast
(noir-lang/noir#8799)
feat: SSA interpreter checks return value
(noir-lang/noir#8883)
chore: add return value to every execution_success program that produces
an output (noir-lang/noir#8882)
chore(fuzz): Run fuzzing deterministically on CI
(noir-lang/noir#8868)
fix: (SSA interpreter) check requires_acir_gen_predicate for
enable_side_effects (noir-lang/noir#8869)
feat: allow printing each SSA interpreter definition
(noir-lang/noir#8865)
fix: handle unconditional break during SSA codegen in all cases
(noir-lang/noir#8855)
fix: update external lib commit tdd.nr
(noir-lang/noir#8823)
chore: bump dependencies (noir-lang/noir#8838)
chore(fuzz): Enable SSA Interpreter fuzzing on all passes
(noir-lang/noir#8610)
chore: Prune changelog older than ~1 year (<0.32.0)
(noir-lang/noir#8856)
chore(docs): Add links to awesome-noir in sidebar
(noir-lang/noir#8854)
chore: add a regression test for #8727
(noir-lang/noir#8851)
chore(fuzz): Handle overflows in comptime fuzzing
(noir-lang/noir#8847)
END_COMMIT_OVERRIDE

---------

Co-authored-by: AztecBot <tech@aztecprotocol.com>
github-merge-queue bot pushed a commit to AztecProtocol/aztec-packages that referenced this pull request Jun 12, 2025
Automated pull of nightly from the
[noir](https://github.com/noir-lang/noir) programming language, a
dependency of Aztec.
BEGIN_COMMIT_OVERRIDE
chore: interpret all execution_success programs
(noir-lang/noir#8887)
fix: always error if integer literal doesn't fit its type on the fron…
(noir-lang/noir#8885)
fix: Count array copies for slice functions
(noir-lang/noir#8867)
chore(ssa): Simplify truncate when the bit size we are truncating to is
greater than the value's max bit size
(noir-lang/noir#8875)
fix(ssa): Validate field to integer cast
(noir-lang/noir#8799)
feat: SSA interpreter checks return value
(noir-lang/noir#8883)
chore: add return value to every execution_success program that produces
an output (noir-lang/noir#8882)
chore(fuzz): Run fuzzing deterministically on CI
(noir-lang/noir#8868)
fix: (SSA interpreter) check requires_acir_gen_predicate for
enable_side_effects (noir-lang/noir#8869)
feat: allow printing each SSA interpreter definition
(noir-lang/noir#8865)
fix: handle unconditional break during SSA codegen in all cases
(noir-lang/noir#8855)
fix: update external lib commit tdd.nr
(noir-lang/noir#8823)
chore: bump dependencies (noir-lang/noir#8838)
chore(fuzz): Enable SSA Interpreter fuzzing on all passes
(noir-lang/noir#8610)
chore: Prune changelog older than ~1 year (<0.32.0)
(noir-lang/noir#8856)
chore(docs): Add links to awesome-noir in sidebar
(noir-lang/noir#8854)
chore: add a regression test for #8727
(noir-lang/noir#8851)
chore(fuzz): Handle overflows in comptime fuzzing
(noir-lang/noir#8847)
END_COMMIT_OVERRIDE

---------

Co-authored-by: AztecBot <tech@aztecprotocol.com>
danielntmd pushed a commit to danielntmd/aztec-packages that referenced this pull request Jul 16, 2025
Automated pull of nightly from the
[noir](https://github.com/noir-lang/noir) programming language, a
dependency of Aztec.
BEGIN_COMMIT_OVERRIDE
chore: interpret all execution_success programs
(noir-lang/noir#8887)
fix: always error if integer literal doesn't fit its type on the fron…
(noir-lang/noir#8885)
fix: Count array copies for slice functions
(noir-lang/noir#8867)
chore(ssa): Simplify truncate when the bit size we are truncating to is
greater than the value's max bit size
(noir-lang/noir#8875)
fix(ssa): Validate field to integer cast
(noir-lang/noir#8799)
feat: SSA interpreter checks return value
(noir-lang/noir#8883)
chore: add return value to every execution_success program that produces
an output (noir-lang/noir#8882)
chore(fuzz): Run fuzzing deterministically on CI
(noir-lang/noir#8868)
fix: (SSA interpreter) check requires_acir_gen_predicate for
enable_side_effects (noir-lang/noir#8869)
feat: allow printing each SSA interpreter definition
(noir-lang/noir#8865)
fix: handle unconditional break during SSA codegen in all cases
(noir-lang/noir#8855)
fix: update external lib commit tdd.nr
(noir-lang/noir#8823)
chore: bump dependencies (noir-lang/noir#8838)
chore(fuzz): Enable SSA Interpreter fuzzing on all passes
(noir-lang/noir#8610)
chore: Prune changelog older than ~1 year (<0.32.0)
(noir-lang/noir#8856)
chore(docs): Add links to awesome-noir in sidebar
(noir-lang/noir#8854)
chore: add a regression test for AztecProtocol#8727
(noir-lang/noir#8851)
chore(fuzz): Handle overflows in comptime fuzzing
(noir-lang/noir#8847)
END_COMMIT_OVERRIDE

---------

Co-authored-by: AztecBot <tech@aztecprotocol.com>
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