Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(ssa): Hoist add and mul binary ops using known induction variables #6910

Merged
merged 3 commits into from
Jan 2, 2025

Conversation

vezenovm
Copy link
Contributor

@vezenovm vezenovm commented Dec 21, 2024

Description

Problem*

Followup to #6848 whose largest regression was in brillig opcodes executed #6848 (comment).

Summary*

In #6848 we marked certain binary ops as not being able to be hoisted due to the overflow checks inside of ACIR gen and Brillig gen. However, if a binary operation has one variable that is from an outer loop's induction variable we can determine whether or not there would be an overflow. This re-uses logic introduced in #6639.

This PR currently just tries to hoist add and mul instructions as they are simpler. For example, Sub overflows depends on if the induction variable is on the lhs or the rhs (e.g. if it is the rhs we should check the induction variable's upper bound but if it is the lhs we should check the lower bound). These can be done in follow-ups if we are comfortable with this approach.

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
Contributor

github-actions bot commented Dec 21, 2024

Changes to Brillig bytecode sizes

Generated at commit: 6929ac3b93eab10080caa0ddbff637b8241edf12, compared to commit: 03b58fa2dfcc8acc8cf5198b1b23b55676fbdb02

🧾 Summary (10% most significant diffs)

Program Brillig opcodes (+/-) %
poseidonsponge_x5_254 -10 ✅ -0.23%
sha2_byte -8 ✅ -0.29%

Full diff report 👇
Program Brillig opcodes (+/-) %
hashmap 21,798 (-12) -0.06%
uhashmap 14,001 (-15) -0.11%
poseidon_bn254_hash 5,425 (-10) -0.18%
poseidon_bn254_hash_width_3 5,425 (-10) -0.18%
regression_5252 4,594 (-10) -0.22%
poseidonsponge_x5_254 4,254 (-10) -0.23%
sha2_byte 2,767 (-8) -0.29%

Copy link
Contributor

github-actions bot commented Dec 21, 2024

Changes to number of Brillig opcodes executed

Generated at commit: 6929ac3b93eab10080caa0ddbff637b8241edf12, compared to commit: 03b58fa2dfcc8acc8cf5198b1b23b55676fbdb02

🧾 Summary (10% most significant diffs)

Program Brillig opcodes (+/-) %
sha256_regression -9,606 ✅ -7.49%
sha256_var_size_regression -1,326 ✅ -7.49%
brillig_cow_regression -64,620 ✅ -11.07%
ram_blowup_regression -98,719 ✅ -11.25%

Full diff report 👇
Program Brillig opcodes (+/-) %
uhashmap 145,546 (-62) -0.04%
hashmap 54,140 (-62) -0.11%
poseidon_bn254_hash 162,594 (-1,599) -0.97%
poseidon_bn254_hash_width_3 162,594 (-1,599) -0.97%
poseidonsponge_x5_254 183,753 (-2,274) -1.22%
regression_5252 915,026 (-11,370) -1.23%
regression_6674_3 1,615 (-30) -1.82%
keccak256 34,777 (-700) -1.97%
conditional_1 5,717 (-201) -3.40%
loop_invariant_regression 1,164 (-42) -3.48%
array_dynamic_nested_blackbox_input 4,550 (-180) -3.81%
sha2_byte 47,309 (-2,223) -4.49%
sha256 14,996 (-720) -4.58%
sha256_var_witness_const_regression 7,200 (-360) -4.76%
conditional_regression_short_circuit 7,528 (-402) -5.07%
6 7,450 (-402) -5.12%
ecdsa_secp256k1 6,789 (-369) -5.16%
array_dynamic_blackbox_input 18,209 (-990) -5.16%
sha256_brillig_performance_regression 23,194 (-1,524) -6.17%
sha256_var_padding_regression 222,216 (-15,066) -6.35%
regression_4449 200,857 (-14,070) -6.55%
sha256_regression 118,704 (-9,606) -7.49%
sha256_var_size_regression 16,377 (-1,326) -7.49%
brillig_cow_regression 519,086 (-64,620) -11.07%
ram_blowup_regression 778,650 (-98,719) -11.25%

Copy link
Contributor

github-actions bot commented Dec 21, 2024

Compilation Sample

Program Compilation Time %
sha256_regression 1.373s 3%
regression_4709 0.780s 0%
ram_blowup_regression 15.472s 1%
rollup-base-public 116.085s 1%
rollup-base-private 95.825s -2%
private-kernel-tail 1.078s 5%
private-kernel-reset 7.137s -2%
private-kernel-inner 2.192s 4%
parity-root 0.713s -8%
noir-contracts 87.283s 1%

Copy link
Contributor

github-actions bot commented Dec 21, 2024

Execution Sample

Program Execution Time %
sha256_regression 0.618s 0%
regression_4709 0.391s 3%
ram_blowup_regression 4.451s 0%
rollup-base-public 21.356s 0%
rollup-base-private 19.487s 0%
private-kernel-tail 0.691s -1%
private-kernel-reset 1.468s -2%
private-kernel-inner 0.973s 1%
parity-root 0.527s -5%

Copy link
Contributor

github-actions bot commented Dec 21, 2024

Peak Memory Sample

Program Peak Memory
keccak256 78.48M
workspace 123.81M
regression_4709 422.91M
ram_blowup_regression 1.58G
private-kernel-tail 201.60M
private-kernel-reset 716.87M
private-kernel-inner 291.67M
parity-root 171.93M

@vezenovm vezenovm marked this pull request as ready for review December 21, 2024 01:34
@vezenovm vezenovm requested a review from a team December 21, 2024 01:34
Copy link
Contributor

@jfecher jfecher left a comment

Choose a reason for hiding this comment

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

👍

@TomAFrench TomAFrench added this pull request to the merge queue Jan 2, 2025
Merged via the queue into master with commit ebc4d2c Jan 2, 2025
87 checks passed
@TomAFrench TomAFrench deleted the mv/host-bin-ops-w-induction-var branch January 2, 2025 21:52
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Jan 2, 2025
…tion variables (noir-lang/noir#6910)

chore: fix warning (noir-lang/noir#6927)
chore(ci): Memory reports for execution (noir-lang/noir#6907)
chore: use ssa parser in flattening pass tests (noir-lang/noir#6868)
feat(LSP): suggest trait methods from where clauses (noir-lang/noir#6915)
feat: warn on trait method visibility (noir-lang/noir#6923)
feat!: Switch to using `jsonrpsee` for foreign calls; refactor `run_test`; foreign call layering (noir-lang/noir#6849)
chore: add rollup circuits to memory reports (noir-lang/noir#6897)
chore: remove unused dependency (noir-lang/noir#6922)
chore: add if/loop tip (separate from no-predicate #5657) (noir-lang/noir#6806)
chore: move implementation of print foreign call into `nargo` (noir-lang/noir#6865)
chore: document format strings (noir-lang/noir#6920)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Jan 3, 2025
…tion variables (noir-lang/noir#6910)

chore: fix warning (noir-lang/noir#6927)
chore(ci): Memory reports for execution (noir-lang/noir#6907)
chore: use ssa parser in flattening pass tests (noir-lang/noir#6868)
feat(LSP): suggest trait methods from where clauses (noir-lang/noir#6915)
feat: warn on trait method visibility (noir-lang/noir#6923)
feat!: Switch to using `jsonrpsee` for foreign calls; refactor `run_test`; foreign call layering (noir-lang/noir#6849)
chore: add rollup circuits to memory reports (noir-lang/noir#6897)
chore: remove unused dependency (noir-lang/noir#6922)
chore: add if/loop tip (separate from no-predicate #5657) (noir-lang/noir#6806)
chore: move implementation of print foreign call into `nargo` (noir-lang/noir#6865)
chore: document format strings (noir-lang/noir#6920)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Jan 3, 2025
…es (noir-lang/noir#6910)

chore: fix warning (noir-lang/noir#6927)
chore(ci): Memory reports for execution (noir-lang/noir#6907)
chore: use ssa parser in flattening pass tests (noir-lang/noir#6868)
feat(LSP): suggest trait methods from where clauses (noir-lang/noir#6915)
feat: warn on trait method visibility (noir-lang/noir#6923)
feat!: Switch to using `jsonrpsee` for foreign calls; refactor `run_test`; foreign call layering (noir-lang/noir#6849)
chore: add rollup circuits to memory reports (noir-lang/noir#6897)
chore: remove unused dependency (noir-lang/noir#6922)
chore: add if/loop tip (separate from no-predicate #5657) (noir-lang/noir#6806)
chore: move implementation of print foreign call into `nargo` (noir-lang/noir#6865)
chore: document format strings (noir-lang/noir#6920)
TomAFrench added a commit to AztecProtocol/aztec-packages that referenced this pull request Jan 3, 2025
Automated pull of development from the
[noir](https://github.com/noir-lang/noir) programming language, a
dependency of Aztec.
BEGIN_COMMIT_OVERRIDE
feat(ssa): Hoist add and mul binary ops using known induction variables
(noir-lang/noir#6910)
chore: fix warning (noir-lang/noir#6927)
chore(ci): Memory reports for execution
(noir-lang/noir#6907)
chore: use ssa parser in flattening pass tests
(noir-lang/noir#6868)
feat(LSP): suggest trait methods from where clauses
(noir-lang/noir#6915)
feat: warn on trait method visibility
(noir-lang/noir#6923)
feat!: Switch to using `jsonrpsee` for foreign calls; refactor
`run_test`; foreign call layering
(noir-lang/noir#6849)
chore: add rollup circuits to memory reports
(noir-lang/noir#6897)
chore: remove unused dependency
(noir-lang/noir#6922)
chore: add if/loop tip (separate from no-predicate #5657)
(noir-lang/noir#6806)
chore: move implementation of print foreign call into `nargo`
(noir-lang/noir#6865)
chore: document format strings
(noir-lang/noir#6920)
END_COMMIT_OVERRIDE

---------

Co-authored-by: Tom French <[email protected]>
TomAFrench pushed a commit to AztecProtocol/aztec-packages that referenced this pull request Jan 3, 2025
🤖 I have created a release *beep* *boop*
---


<details><summary>aztec-package: 0.69.0</summary>

##
[0.69.0](aztec-package-v0.68.2...aztec-package-v0.69.0)
(2025-01-03)


### Miscellaneous

* Add version number when starting sandbox
([#10935](#10935))
([c8dcd8f](c8dcd8f))
* Cl/ci3.2
([#10919](#10919))
([49dacc3](49dacc3))
</details>

<details><summary>barretenberg.js: 0.69.0</summary>

##
[0.69.0](barretenberg.js-v0.68.2...barretenberg.js-v0.69.0)
(2025-01-03)


### Miscellaneous

* Cl/ci3.2
([#10919](#10919))
([49dacc3](49dacc3))
</details>

<details><summary>aztec-packages: 0.69.0</summary>

##
[0.69.0](aztec-packages-v0.68.2...aztec-packages-v0.69.0)
(2025-01-03)


### ⚠ BREAKING CHANGES

* Switch to using `jsonrpsee` for foreign calls; refactor `run_test`;
foreign call layering (noir-lang/noir#6849)

### Features

* **docs:** Algolia -&gt; typesense
([#9698](#9698))
([e082063](e082063))
* Encapsulated UltraHonk Vanilla IVC
([#10900](#10900))
([fd5f611](fd5f611))
* **LSP:** Suggest trait methods from where clauses
(noir-lang/noir#6915)
([dc12c2b](dc12c2b))
* **ssa:** Hoist add and mul binary ops using known induction variables
(noir-lang/noir#6910)
([dc12c2b](dc12c2b))
* Switch to using `jsonrpsee` for foreign calls; refactor `run_test`;
foreign call layering (noir-lang/noir#6849)
([dc12c2b](dc12c2b))
* Use full IPA recursive verifier in root rollup
([#10962](#10962))
([37095ce](37095ce))
* Warn on trait method visibility
(noir-lang/noir#6923)
([dc12c2b](dc12c2b))


### Bug Fixes

* Bigint builtins are foreigns
(noir-lang/noir#6892)
([2d3805a](2d3805a))
* **ci:** Acir bench
([#11021](#11021))
([9eaa109](9eaa109))
* Consistent file_id across installation paths
(noir-lang/noir#6912)
([2d3805a](2d3805a))
* Remove unnecessary cast in bit-shift
(noir-lang/noir#6890)
([2d3805a](2d3805a))
* Revert "feat(docs): algolia -&gt; typesense" also fix boxes-test
([#11016](#11016))
([a1a4d76](a1a4d76))
* Small fixes for sepolia deployments
([#10915](#10915))
([37d69bf](37d69bf))
* Update prompted foundry install command
([#10995](#10995))
([cd59f2e](cd59f2e))
* Use explicit read transactions
([#10911](#10911))
([2a8e01c](2a8e01c))


### Miscellaneous

* Add `Instruction::Noop` (noir-lang/noir#6899)
([2d3805a](2d3805a))
* Add `rollup_root` and `rollup_block_merge` to tracked protocol
circuits (noir-lang/noir#6903)
([2d3805a](2d3805a))
* Add if/loop tip (separate from no-predicate
[#5657](#5657))
(noir-lang/noir#6806)
([dc12c2b](dc12c2b))
* Add rollup circuits to memory reports
(noir-lang/noir#6897)
([dc12c2b](dc12c2b))
* Add spypsy to nightly canary
([#10961](#10961))
([4dca8f5](4dca8f5))
* Add version number when starting sandbox
([#10935](#10935))
([c8dcd8f](c8dcd8f))
* Bump rc1 tps
([#11012](#11012))
([52176f7](52176f7))
* **ci:** Memory reports for execution
(noir-lang/noir#6907)
([dc12c2b](dc12c2b))
* Cl/ci3.2
([#10919](#10919))
([49dacc3](49dacc3))
* Clean up translator circuit builder function definitions
([#10944](#10944))
([f6fef05](f6fef05))
* Disable broken honk test
([#11010](#11010))
([8ad239a](8ad239a))
* Disable tt test
([#10999](#10999))
([d9d64c3](d9d64c3))
* Document format strings (noir-lang/noir#6920)
([dc12c2b](dc12c2b))
* Fix flake in e2e-block-build
([#11002](#11002))
([2a2932e](2a2932e))
* Fix mac build
([#10963](#10963))
([158afc4](158afc4))
* Fix warning (noir-lang/noir#6927)
([dc12c2b](dc12c2b))
* Fix warnings in avm transpiler
([#11001](#11001))
([07c5b7f](07c5b7f))
* Move implementation of print foreign call into `nargo`
(noir-lang/noir#6865)
([dc12c2b](dc12c2b))
* Prover.tomls fix
([#11011](#11011))
([565a67b](565a67b))
* Redo typo PR by Anon-im
([#11009](#11009))
([2044c58](2044c58))
* Redo typo PR by Hack666r
([#10992](#10992))
([018f11e](018f11e))
* Redo typo PR by MonkeyKing44
([#10996](#10996))
([faca458](faca458))
* Redo typo PR by panditdhamdhere
([#11026](#11026))
([8a6de5b](8a6de5b))
* Redo typo PR by petryshkaCODE
([#10993](#10993))
([0c6a4be](0c6a4be))
* Redo typo PR by VitalikBerashvili
([#10994](#10994))
([da36da4](da36da4))
* Redo typo PR by whitetechna
([#10997](#10997))
([89a2bd7](89a2bd7))
* Release Noir(1.0.0-beta.1)
(noir-lang/noir#6622)
([2d3805a](2d3805a))
* Remove unused dependency (noir-lang/noir#6922)
([dc12c2b](dc12c2b))
* Replace relative paths to noir-protocol-circuits
([6b34449](6b34449))
* Replace relative paths to noir-protocol-circuits
([11f8a42](11f8a42))
* Use ssa parser in flattening pass tests
(noir-lang/noir#6868)
([dc12c2b](dc12c2b))


### Documentation

* Remove links to (outdated) protocol specs
([#10831](#10831))
([4874d95](4874d95))
</details>

<details><summary>barretenberg: 0.69.0</summary>

##
[0.69.0](barretenberg-v0.68.2...barretenberg-v0.69.0)
(2025-01-03)


### Features

* Encapsulated UltraHonk Vanilla IVC
([#10900](#10900))
([fd5f611](fd5f611))
* Use full IPA recursive verifier in root rollup
([#10962](#10962))
([37095ce](37095ce))


### Bug Fixes

* Bigint builtins are foreigns
(noir-lang/noir#6892)
([2d3805a](2d3805a))
* **ci:** Acir bench
([#11021](#11021))
([9eaa109](9eaa109))
* Consistent file_id across installation paths
(noir-lang/noir#6912)
([2d3805a](2d3805a))
* Remove unnecessary cast in bit-shift
(noir-lang/noir#6890)
([2d3805a](2d3805a))


### Miscellaneous

* Add `Instruction::Noop` (noir-lang/noir#6899)
([2d3805a](2d3805a))
* Add `rollup_root` and `rollup_block_merge` to tracked protocol
circuits (noir-lang/noir#6903)
([2d3805a](2d3805a))
* Cl/ci3.2
([#10919](#10919))
([49dacc3](49dacc3))
* Clean up translator circuit builder function definitions
([#10944](#10944))
([f6fef05](f6fef05))
* Disable broken honk test
([#11010](#11010))
([8ad239a](8ad239a))
* Fix mac build
([#10963](#10963))
([158afc4](158afc4))
* Redo typo PR by Anon-im
([#11009](#11009))
([2044c58](2044c58))
* Redo typo PR by Hack666r
([#10992](#10992))
([018f11e](018f11e))
* Redo typo PR by MonkeyKing44
([#10996](#10996))
([faca458](faca458))
* Redo typo PR by petryshkaCODE
([#10993](#10993))
([0c6a4be](0c6a4be))
* Redo typo PR by VitalikBerashvili
([#10994](#10994))
([da36da4](da36da4))
* Release Noir(1.0.0-beta.1)
(noir-lang/noir#6622)
([2d3805a](2d3805a))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
TomAFrench added a commit to winderica/noir that referenced this pull request Jan 3, 2025
* master:
  feat(ssa): Hoist add and mul binary ops using known induction variables (noir-lang#6910)
  chore: fix warning (noir-lang#6927)
  chore(ci): Memory reports for execution (noir-lang#6907)
  chore: use ssa parser in flattening pass tests (noir-lang#6868)
  feat(LSP): suggest trait methods from where clauses (noir-lang#6915)
  feat: warn on trait method visibility (noir-lang#6923)
  feat!: Switch to using `jsonrpsee` for foreign calls; refactor `run_test`; foreign call layering (noir-lang#6849)
  chore: add rollup circuits to memory reports (noir-lang#6897)
  chore: remove unused dependency (noir-lang#6922)
TomAFrench added a commit that referenced this pull request Jan 3, 2025
* master: (47 commits)
  chore: delete a bunch of dead code from `noirc_evaluator` (#6939)
  feat: require trait function calls (`Foo::bar()`) to have the trait in scope (imported) (#6882)
  chore: Bump arkworks to version `0.5.0` (#6871)
  feat(ssa): Hoist add and mul binary ops using known induction variables (#6910)
  chore: fix warning (#6927)
  chore(ci): Memory reports for execution (#6907)
  chore: use ssa parser in flattening pass tests (#6868)
  feat(LSP): suggest trait methods from where clauses (#6915)
  feat: warn on trait method visibility (#6923)
  feat!: Switch to using `jsonrpsee` for foreign calls; refactor `run_test`; foreign call layering (#6849)
  chore: add rollup circuits to memory reports (#6897)
  chore: remove unused dependency (#6922)
  chore: add if/loop tip (separate from no-predicate #5657) (#6806)
  chore: move implementation of print foreign call into `nargo` (#6865)
  chore: document format strings (#6920)
  chore: add `rollup_root` and `rollup_block_merge` to tracked protocol circuits (#6903)
  fix: consistent file_id across installation paths (#6912)
  fix: bigint builtins are foreigns (#6892)
  fix: remove unnecessary cast in bit-shift (#6890)
  chore: Release Noir(1.0.0-beta.1) (#6622)
  ...
AztecBot added a commit to AztecProtocol/barretenberg that referenced this pull request Jan 4, 2025
🤖 I have created a release *beep* *boop*
---


<details><summary>aztec-package: 0.69.0</summary>

##
[0.69.0](AztecProtocol/aztec-packages@aztec-package-v0.68.2...aztec-package-v0.69.0)
(2025-01-03)


### Miscellaneous

* Add version number when starting sandbox
([#10935](AztecProtocol/aztec-packages#10935))
([c8dcd8f](AztecProtocol/aztec-packages@c8dcd8f))
* Cl/ci3.2
([#10919](AztecProtocol/aztec-packages#10919))
([49dacc3](AztecProtocol/aztec-packages@49dacc3))
</details>

<details><summary>barretenberg.js: 0.69.0</summary>

##
[0.69.0](AztecProtocol/aztec-packages@barretenberg.js-v0.68.2...barretenberg.js-v0.69.0)
(2025-01-03)


### Miscellaneous

* Cl/ci3.2
([#10919](AztecProtocol/aztec-packages#10919))
([49dacc3](AztecProtocol/aztec-packages@49dacc3))
</details>

<details><summary>aztec-packages: 0.69.0</summary>

##
[0.69.0](AztecProtocol/aztec-packages@aztec-packages-v0.68.2...aztec-packages-v0.69.0)
(2025-01-03)


### ⚠ BREAKING CHANGES

* Switch to using `jsonrpsee` for foreign calls; refactor `run_test`;
foreign call layering (noir-lang/noir#6849)

### Features

* **docs:** Algolia -&gt; typesense
([#9698](AztecProtocol/aztec-packages#9698))
([e082063](AztecProtocol/aztec-packages@e082063))
* Encapsulated UltraHonk Vanilla IVC
([#10900](AztecProtocol/aztec-packages#10900))
([fd5f611](AztecProtocol/aztec-packages@fd5f611))
* **LSP:** Suggest trait methods from where clauses
(noir-lang/noir#6915)
([dc12c2b](AztecProtocol/aztec-packages@dc12c2b))
* **ssa:** Hoist add and mul binary ops using known induction variables
(noir-lang/noir#6910)
([dc12c2b](AztecProtocol/aztec-packages@dc12c2b))
* Switch to using `jsonrpsee` for foreign calls; refactor `run_test`;
foreign call layering (noir-lang/noir#6849)
([dc12c2b](AztecProtocol/aztec-packages@dc12c2b))
* Use full IPA recursive verifier in root rollup
([#10962](AztecProtocol/aztec-packages#10962))
([37095ce](AztecProtocol/aztec-packages@37095ce))
* Warn on trait method visibility
(noir-lang/noir#6923)
([dc12c2b](AztecProtocol/aztec-packages@dc12c2b))


### Bug Fixes

* Bigint builtins are foreigns
(noir-lang/noir#6892)
([2d3805a](AztecProtocol/aztec-packages@2d3805a))
* **ci:** Acir bench
([#11021](AztecProtocol/aztec-packages#11021))
([9eaa109](AztecProtocol/aztec-packages@9eaa109))
* Consistent file_id across installation paths
(noir-lang/noir#6912)
([2d3805a](AztecProtocol/aztec-packages@2d3805a))
* Remove unnecessary cast in bit-shift
(noir-lang/noir#6890)
([2d3805a](AztecProtocol/aztec-packages@2d3805a))
* Revert "feat(docs): algolia -&gt; typesense" also fix boxes-test
([#11016](AztecProtocol/aztec-packages#11016))
([a1a4d76](AztecProtocol/aztec-packages@a1a4d76))
* Small fixes for sepolia deployments
([#10915](AztecProtocol/aztec-packages#10915))
([37d69bf](AztecProtocol/aztec-packages@37d69bf))
* Update prompted foundry install command
([#10995](AztecProtocol/aztec-packages#10995))
([cd59f2e](AztecProtocol/aztec-packages@cd59f2e))
* Use explicit read transactions
([#10911](AztecProtocol/aztec-packages#10911))
([2a8e01c](AztecProtocol/aztec-packages@2a8e01c))


### Miscellaneous

* Add `Instruction::Noop` (noir-lang/noir#6899)
([2d3805a](AztecProtocol/aztec-packages@2d3805a))
* Add `rollup_root` and `rollup_block_merge` to tracked protocol
circuits (noir-lang/noir#6903)
([2d3805a](AztecProtocol/aztec-packages@2d3805a))
* Add if/loop tip (separate from no-predicate
[#5657](AztecProtocol/aztec-packages#5657))
(noir-lang/noir#6806)
([dc12c2b](AztecProtocol/aztec-packages@dc12c2b))
* Add rollup circuits to memory reports
(noir-lang/noir#6897)
([dc12c2b](AztecProtocol/aztec-packages@dc12c2b))
* Add spypsy to nightly canary
([#10961](AztecProtocol/aztec-packages#10961))
([4dca8f5](AztecProtocol/aztec-packages@4dca8f5))
* Add version number when starting sandbox
([#10935](AztecProtocol/aztec-packages#10935))
([c8dcd8f](AztecProtocol/aztec-packages@c8dcd8f))
* Bump rc1 tps
([#11012](AztecProtocol/aztec-packages#11012))
([52176f7](AztecProtocol/aztec-packages@52176f7))
* **ci:** Memory reports for execution
(noir-lang/noir#6907)
([dc12c2b](AztecProtocol/aztec-packages@dc12c2b))
* Cl/ci3.2
([#10919](AztecProtocol/aztec-packages#10919))
([49dacc3](AztecProtocol/aztec-packages@49dacc3))
* Clean up translator circuit builder function definitions
([#10944](AztecProtocol/aztec-packages#10944))
([f6fef05](AztecProtocol/aztec-packages@f6fef05))
* Disable broken honk test
([#11010](AztecProtocol/aztec-packages#11010))
([8ad239a](AztecProtocol/aztec-packages@8ad239a))
* Disable tt test
([#10999](AztecProtocol/aztec-packages#10999))
([d9d64c3](AztecProtocol/aztec-packages@d9d64c3))
* Document format strings (noir-lang/noir#6920)
([dc12c2b](AztecProtocol/aztec-packages@dc12c2b))
* Fix flake in e2e-block-build
([#11002](AztecProtocol/aztec-packages#11002))
([2a2932e](AztecProtocol/aztec-packages@2a2932e))
* Fix mac build
([#10963](AztecProtocol/aztec-packages#10963))
([158afc4](AztecProtocol/aztec-packages@158afc4))
* Fix warning (noir-lang/noir#6927)
([dc12c2b](AztecProtocol/aztec-packages@dc12c2b))
* Fix warnings in avm transpiler
([#11001](AztecProtocol/aztec-packages#11001))
([07c5b7f](AztecProtocol/aztec-packages@07c5b7f))
* Move implementation of print foreign call into `nargo`
(noir-lang/noir#6865)
([dc12c2b](AztecProtocol/aztec-packages@dc12c2b))
* Prover.tomls fix
([#11011](AztecProtocol/aztec-packages#11011))
([565a67b](AztecProtocol/aztec-packages@565a67b))
* Redo typo PR by Anon-im
([#11009](AztecProtocol/aztec-packages#11009))
([2044c58](AztecProtocol/aztec-packages@2044c58))
* Redo typo PR by Hack666r
([#10992](AztecProtocol/aztec-packages#10992))
([018f11e](AztecProtocol/aztec-packages@018f11e))
* Redo typo PR by MonkeyKing44
([#10996](AztecProtocol/aztec-packages#10996))
([faca458](AztecProtocol/aztec-packages@faca458))
* Redo typo PR by panditdhamdhere
([#11026](AztecProtocol/aztec-packages#11026))
([8a6de5b](AztecProtocol/aztec-packages@8a6de5b))
* Redo typo PR by petryshkaCODE
([#10993](AztecProtocol/aztec-packages#10993))
([0c6a4be](AztecProtocol/aztec-packages@0c6a4be))
* Redo typo PR by VitalikBerashvili
([#10994](AztecProtocol/aztec-packages#10994))
([da36da4](AztecProtocol/aztec-packages@da36da4))
* Redo typo PR by whitetechna
([#10997](AztecProtocol/aztec-packages#10997))
([89a2bd7](AztecProtocol/aztec-packages@89a2bd7))
* Release Noir(1.0.0-beta.1)
(noir-lang/noir#6622)
([2d3805a](AztecProtocol/aztec-packages@2d3805a))
* Remove unused dependency (noir-lang/noir#6922)
([dc12c2b](AztecProtocol/aztec-packages@dc12c2b))
* Replace relative paths to noir-protocol-circuits
([6b34449](AztecProtocol/aztec-packages@6b34449))
* Replace relative paths to noir-protocol-circuits
([11f8a42](AztecProtocol/aztec-packages@11f8a42))
* Use ssa parser in flattening pass tests
(noir-lang/noir#6868)
([dc12c2b](AztecProtocol/aztec-packages@dc12c2b))


### Documentation

* Remove links to (outdated) protocol specs
([#10831](AztecProtocol/aztec-packages#10831))
([4874d95](AztecProtocol/aztec-packages@4874d95))
</details>

<details><summary>barretenberg: 0.69.0</summary>

##
[0.69.0](AztecProtocol/aztec-packages@barretenberg-v0.68.2...barretenberg-v0.69.0)
(2025-01-03)


### Features

* Encapsulated UltraHonk Vanilla IVC
([#10900](AztecProtocol/aztec-packages#10900))
([fd5f611](AztecProtocol/aztec-packages@fd5f611))
* Use full IPA recursive verifier in root rollup
([#10962](AztecProtocol/aztec-packages#10962))
([37095ce](AztecProtocol/aztec-packages@37095ce))


### Bug Fixes

* Bigint builtins are foreigns
(noir-lang/noir#6892)
([2d3805a](AztecProtocol/aztec-packages@2d3805a))
* **ci:** Acir bench
([#11021](AztecProtocol/aztec-packages#11021))
([9eaa109](AztecProtocol/aztec-packages@9eaa109))
* Consistent file_id across installation paths
(noir-lang/noir#6912)
([2d3805a](AztecProtocol/aztec-packages@2d3805a))
* Remove unnecessary cast in bit-shift
(noir-lang/noir#6890)
([2d3805a](AztecProtocol/aztec-packages@2d3805a))


### Miscellaneous

* Add `Instruction::Noop` (noir-lang/noir#6899)
([2d3805a](AztecProtocol/aztec-packages@2d3805a))
* Add `rollup_root` and `rollup_block_merge` to tracked protocol
circuits (noir-lang/noir#6903)
([2d3805a](AztecProtocol/aztec-packages@2d3805a))
* Cl/ci3.2
([#10919](AztecProtocol/aztec-packages#10919))
([49dacc3](AztecProtocol/aztec-packages@49dacc3))
* Clean up translator circuit builder function definitions
([#10944](AztecProtocol/aztec-packages#10944))
([f6fef05](AztecProtocol/aztec-packages@f6fef05))
* Disable broken honk test
([#11010](AztecProtocol/aztec-packages#11010))
([8ad239a](AztecProtocol/aztec-packages@8ad239a))
* Fix mac build
([#10963](AztecProtocol/aztec-packages#10963))
([158afc4](AztecProtocol/aztec-packages@158afc4))
* Redo typo PR by Anon-im
([#11009](AztecProtocol/aztec-packages#11009))
([2044c58](AztecProtocol/aztec-packages@2044c58))
* Redo typo PR by Hack666r
([#10992](AztecProtocol/aztec-packages#10992))
([018f11e](AztecProtocol/aztec-packages@018f11e))
* Redo typo PR by MonkeyKing44
([#10996](AztecProtocol/aztec-packages#10996))
([faca458](AztecProtocol/aztec-packages@faca458))
* Redo typo PR by petryshkaCODE
([#10993](AztecProtocol/aztec-packages#10993))
([0c6a4be](AztecProtocol/aztec-packages@0c6a4be))
* Redo typo PR by VitalikBerashvili
([#10994](AztecProtocol/aztec-packages#10994))
([da36da4](AztecProtocol/aztec-packages@da36da4))
* Release Noir(1.0.0-beta.1)
(noir-lang/noir#6622)
([2d3805a](AztecProtocol/aztec-packages@2d3805a))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
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.

3 participants