Skip to content

feat(fuzz): Add comptime_vs_brillig_direct target#8924

Merged
rkarabut merged 22 commits intomasterfrom
rk/comptime_vs_brillig_direct
Jun 20, 2025
Merged

feat(fuzz): Add comptime_vs_brillig_direct target#8924
rkarabut merged 22 commits intomasterfrom
rk/comptime_vs_brillig_direct

Conversation

@rkarabut
Copy link
Copy Markdown
Contributor

Description

Reworks the AST fuzzer comptime runner to add the comptime_vs_brillig_direct target, bypassing Nargo to call the interpreter directly. This significantly reduces overhead speeding up the fuzzing process, but at the moment runs into a few problems arising from the elaborator, preventing from running certain code which Nargo is fine with.

Problem

Summary

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.

@rkarabut rkarabut requested a review from aakoshh June 16, 2025 11:49
Copy link
Copy Markdown
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: 35d184f Previous: 2cfc786 Ratio
rollup-merge 0.004 s 0.003 s 1.33

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

CC: @TomAFrench

Copy link
Copy Markdown
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: 35d184f Previous: 3838c69 Ratio
test_report_AztecProtocol_aztec-packages_noir-projects_noir-protocol-circuits_crates_blob 177 s 141 s 1.26

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

CC: @TomAFrench

Copy link
Copy Markdown
Contributor

@aakoshh aakoshh left a comment

Choose a reason for hiding this comment

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

This must have been a fun deep dive into the elaborator 😃

Copy link
Copy Markdown
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 'Compilation Time'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.20.

Benchmark suite Current: 8356502 Previous: 71ab596 Ratio
rollup-root 1.856 s 1.294 s 1.43

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

CC: @TomAFrench

@rkarabut rkarabut requested a review from aakoshh June 19, 2025 14:04
Copy link
Copy Markdown
Contributor

@aakoshh aakoshh left a comment

Choose a reason for hiding this comment

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

Tidy darts!

@rkarabut rkarabut enabled auto-merge June 20, 2025 10:06
@rkarabut rkarabut added this pull request to the merge queue Jun 20, 2025
Merged via the queue into master with commit 1478114 Jun 20, 2025
119 checks passed
@rkarabut rkarabut deleted the rk/comptime_vs_brillig_direct branch June 20, 2025 12:23
github-merge-queue bot pushed a commit to AztecProtocol/aztec-packages that referenced this pull request Jun 23, 2025
Automated pull of nightly from the
[noir](https://github.com/noir-lang/noir) programming language, a
dependency of Aztec.
BEGIN_COMMIT_OVERRIDE
fix: increment reference counts when deduplicating calls which return
arrays (noir-lang/noir#8757)
fix: Add a aliased check for last stores
(noir-lang/noir#8955)
fix(LICM): Consider negative loop bounds before hoisting `div <const>
<induction-var>` (noir-lang/noir#8986)
fix: check "negate with overflow" in comptime code + allow u1 to be used
in comptime code (noir-lang/noir#8969)
fix: better package name validation and error messages for nargo
new/init (noir-lang/noir#8978)
feat(fuzz): Add comptime_vs_brillig_direct target
(noir-lang/noir#8924)
fix(expand): show references to ModuleDefId recursing on parents
(noir-lang/noir#8977)
feat(ssa_fuzzer): loops + signed
(noir-lang/noir#8881)
fix(fuzz): Do not take a mutable reference over immutable vars which
contain a mutable ref (noir-lang/noir#8971)
fix(fuzz): Avoid negating `i8::MIN` into `i8::MAX+1` which won't compile
(noir-lang/noir#8972)
END_COMMIT_OVERRIDE

---------

Co-authored-by: AztecBot <tech@aztecprotocol.com>
Co-authored-by: Tom French <15848336+TomAFrench@users.noreply.github.com>
github-merge-queue bot pushed a commit to AztecProtocol/aztec-packages that referenced this pull request Jun 23, 2025
Automated pull of nightly from the
[noir](https://github.com/noir-lang/noir) programming language, a
dependency of Aztec.
BEGIN_COMMIT_OVERRIDE
fix: increment reference counts when deduplicating calls which return
arrays (noir-lang/noir#8757)
fix: Add a aliased check for last stores
(noir-lang/noir#8955)
fix(LICM): Consider negative loop bounds before hoisting `div <const>
<induction-var>` (noir-lang/noir#8986)
fix: check "negate with overflow" in comptime code + allow u1 to be used
in comptime code (noir-lang/noir#8969)
fix: better package name validation and error messages for nargo
new/init (noir-lang/noir#8978)
feat(fuzz): Add comptime_vs_brillig_direct target
(noir-lang/noir#8924)
fix(expand): show references to ModuleDefId recursing on parents
(noir-lang/noir#8977)
feat(ssa_fuzzer): loops + signed
(noir-lang/noir#8881)
fix(fuzz): Do not take a mutable reference over immutable vars which
contain a mutable ref (noir-lang/noir#8971)
fix(fuzz): Avoid negating `i8::MIN` into `i8::MAX+1` which won't compile
(noir-lang/noir#8972)
END_COMMIT_OVERRIDE

---------

Co-authored-by: AztecBot <tech@aztecprotocol.com>
Co-authored-by: Tom French <15848336+TomAFrench@users.noreply.github.com>
github-merge-queue bot pushed a commit to AztecProtocol/aztec-packages that referenced this pull request Jun 23, 2025
Automated pull of nightly from the
[noir](https://github.com/noir-lang/noir) programming language, a
dependency of Aztec.
BEGIN_COMMIT_OVERRIDE
fix: increment reference counts when deduplicating calls which return
arrays (noir-lang/noir#8757)
fix: Add a aliased check for last stores
(noir-lang/noir#8955)
fix(LICM): Consider negative loop bounds before hoisting `div <const>
<induction-var>` (noir-lang/noir#8986)
fix: check "negate with overflow" in comptime code + allow u1 to be used
in comptime code (noir-lang/noir#8969)
fix: better package name validation and error messages for nargo
new/init (noir-lang/noir#8978)
feat(fuzz): Add comptime_vs_brillig_direct target
(noir-lang/noir#8924)
fix(expand): show references to ModuleDefId recursing on parents
(noir-lang/noir#8977)
feat(ssa_fuzzer): loops + signed
(noir-lang/noir#8881)
fix(fuzz): Do not take a mutable reference over immutable vars which
contain a mutable ref (noir-lang/noir#8971)
fix(fuzz): Avoid negating `i8::MIN` into `i8::MAX+1` which won't compile
(noir-lang/noir#8972)
END_COMMIT_OVERRIDE

---------

Co-authored-by: AztecBot <tech@aztecprotocol.com>
Co-authored-by: Tom French <15848336+TomAFrench@users.noreply.github.com>
github-merge-queue bot pushed a commit to AztecProtocol/aztec-packages that referenced this pull request Jun 23, 2025
Automated pull of nightly from the
[noir](https://github.com/noir-lang/noir) programming language, a
dependency of Aztec.
BEGIN_COMMIT_OVERRIDE
fix: increment reference counts when deduplicating calls which return
arrays (noir-lang/noir#8757)
fix: Add a aliased check for last stores
(noir-lang/noir#8955)
fix(LICM): Consider negative loop bounds before hoisting `div <const>
<induction-var>` (noir-lang/noir#8986)
fix: check "negate with overflow" in comptime code + allow u1 to be used
in comptime code (noir-lang/noir#8969)
fix: better package name validation and error messages for nargo
new/init (noir-lang/noir#8978)
feat(fuzz): Add comptime_vs_brillig_direct target
(noir-lang/noir#8924)
fix(expand): show references to ModuleDefId recursing on parents
(noir-lang/noir#8977)
feat(ssa_fuzzer): loops + signed
(noir-lang/noir#8881)
fix(fuzz): Do not take a mutable reference over immutable vars which
contain a mutable ref (noir-lang/noir#8971)
fix(fuzz): Avoid negating `i8::MIN` into `i8::MAX+1` which won't compile
(noir-lang/noir#8972)
END_COMMIT_OVERRIDE

---------

Co-authored-by: AztecBot <tech@aztecprotocol.com>
Co-authored-by: Tom French <15848336+TomAFrench@users.noreply.github.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
fix: increment reference counts when deduplicating calls which return
arrays (noir-lang/noir#8757)
fix: Add a aliased check for last stores
(noir-lang/noir#8955)
fix(LICM): Consider negative loop bounds before hoisting `div <const>
<induction-var>` (noir-lang/noir#8986)
fix: check "negate with overflow" in comptime code + allow u1 to be used
in comptime code (noir-lang/noir#8969)
fix: better package name validation and error messages for nargo
new/init (noir-lang/noir#8978)
feat(fuzz): Add comptime_vs_brillig_direct target
(noir-lang/noir#8924)
fix(expand): show references to ModuleDefId recursing on parents
(noir-lang/noir#8977)
feat(ssa_fuzzer): loops + signed
(noir-lang/noir#8881)
fix(fuzz): Do not take a mutable reference over immutable vars which
contain a mutable ref (noir-lang/noir#8971)
fix(fuzz): Avoid negating `i8::MIN` into `i8::MAX+1` which won't compile
(noir-lang/noir#8972)
END_COMMIT_OVERRIDE

---------

Co-authored-by: AztecBot <tech@aztecprotocol.com>
Co-authored-by: Tom French <15848336+TomAFrench@users.noreply.github.com>
AztecBot added a commit to AztecProtocol/barretenberg that referenced this pull request Dec 3, 2025
Automated pull of nightly from the
[noir](https://github.com/noir-lang/noir) programming language, a
dependency of Aztec.
BEGIN_COMMIT_OVERRIDE
fix: increment reference counts when deduplicating calls which return
arrays (noir-lang/noir#8757)
fix: Add a aliased check for last stores
(noir-lang/noir#8955)
fix(LICM): Consider negative loop bounds before hoisting `div <const>
<induction-var>` (noir-lang/noir#8986)
fix: check "negate with overflow" in comptime code + allow u1 to be used
in comptime code (noir-lang/noir#8969)
fix: better package name validation and error messages for nargo
new/init (noir-lang/noir#8978)
feat(fuzz): Add comptime_vs_brillig_direct target
(noir-lang/noir#8924)
fix(expand): show references to ModuleDefId recursing on parents
(noir-lang/noir#8977)
feat(ssa_fuzzer): loops + signed
(noir-lang/noir#8881)
fix(fuzz): Do not take a mutable reference over immutable vars which
contain a mutable ref (noir-lang/noir#8971)
fix(fuzz): Avoid negating `i8::MIN` into `i8::MAX+1` which won't compile
(noir-lang/noir#8972)
END_COMMIT_OVERRIDE

---------

Co-authored-by: AztecBot <tech@aztecprotocol.com>
Co-authored-by: Tom French <15848336+TomAFrench@users.noreply.github.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