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

fix: remove unnecessary cast in bit-shift #6890

Merged
merged 1 commit into from
Dec 23, 2024
Merged

fix: remove unnecessary cast in bit-shift #6890

merged 1 commit into from
Dec 23, 2024

Conversation

guipublic
Copy link
Contributor

Description

Problem*

Resolves #6788

Summary*

Since bit shift are now forced to be done with u8 rhs operand, we do not need to cast it to unsigned type anymore.

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

Changes to circuit sizes

Generated at commit: 48b78007243bd8c3f0764161f681339378a9ebdf, compared to commit: 5c00a79d2c93056d07330c350bf7b6efbf81d477

🧾 Summary (10% most significant diffs)

Program ACIR opcodes (+/-) % Circuit size (+/-) %
binary_operator_overloading -158 ✅ -56.03% -198 ✅ -4.44%
bit_shifts_runtime -478 ✅ -62.24% -601 ✅ -13.19%

Full diff report 👇
Program ACIR opcodes (+/-) % Circuit size (+/-) %
u16_support 71 (-78) -52.35% 2,894 (-97) -3.24%
u128 517 (-120) -18.84% 4,478 (-152) -3.28%
binary_operator_overloading 124 (-158) -56.03% 4,265 (-198) -4.44%
bit_shifts_runtime 290 (-478) -62.24% 3,956 (-601) -13.19%

Copy link
Contributor

Peak Memory Sample

Program Peak Memory
keccak256 78.48M
workspace 123.79M
regression_4709 422.91M
ram_blowup_regression 1.58G
private-kernel-tail 201.60M
private-kernel-reset 716.87M
private-kernel-inner 291.68M
parity-root 171.94M

Copy link
Contributor

Execution Sample

Program Execution Time %
sha256_regression 0.612s -3%
regression_4709 0.389s -2%
ram_blowup_regression 4.481s -2%
rollup-base-public 21.592s -1%
rollup-base-private 19.617s -1%
private-kernel-tail 0.695s 0%
private-kernel-reset 1.485s -5%
private-kernel-inner 0.969s -1%
parity-root 0.524s -3%

Copy link
Contributor

Compilation Sample

Program Compilation Time %
sha256_regression 1.315s -6%
regression_4709 0.771s -5%
ram_blowup_regression 15.123s -2%
rollup-base-public 117.561s 4%
rollup-base-private 94.722s -3%
private-kernel-tail 1.065s 0%
private-kernel-reset 7.260s -12%
private-kernel-inner 2.107s -3%
parity-root 0.728s -2%
noir-contracts 88.609s 0%

@TomAFrench
Copy link
Member

TomAFrench commented Dec 20, 2024

I'm surprised that we don't automatically remove noop casts when we're inserting them into the dfg. Can you add this to the simplify function?

@jfecher
Copy link
Contributor

jfecher commented Dec 20, 2024

There is:

} else if *dst_typ == dfg.type_of_value(value) {
   SimplifiedTo(value)

already in simplify_cast. We should investigate why this isn't sufficient (are we returning before that else if?).

I wonder if I'm reading the description of this PR wrong. It seems the rhs was casted to a u8 before, but now it is an unsigned type to begin with (of any size?). Are we calling pow with a non-u8 rhs now, like a u32?

@guipublic
Copy link
Contributor Author

Cast are properly simplified, the issue was that the number of bits to shift was casted to the type of the number to be shifted. This is because originally:

  1. the shift operation required operands to be of the same type
  2. In case of signed operands, we were converting the number of bits to unsigned value for internal computation (the power operation)

When we shifted to u8 operand, the unsigned cast was left, which does not add any constraint per-se but change the type of the operand which indirectly affected the power operation (in the to_bits() function).

@guipublic guipublic added this pull request to the merge queue Dec 23, 2024
Merged via the queue into master with commit 011fbc1 Dec 23, 2024
85 checks passed
@guipublic guipublic deleted the gd/issue_6788 branch December 23, 2024 16:07
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Dec 24, 2024
…ked protocol circuits (noir-lang/noir#6903)

fix: consistent file_id across installation paths (noir-lang/noir#6912)
fix: bigint builtins are foreigns (noir-lang/noir#6892)
fix: remove unnecessary cast in bit-shift (noir-lang/noir#6890)
chore: Release Noir(1.0.0-beta.1) (noir-lang/noir#6622)
chore: Add `Instruction::Noop` (noir-lang/noir#6899)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Dec 24, 2024
… circuits (noir-lang/noir#6903)

fix: consistent file_id across installation paths (noir-lang/noir#6912)
fix: bigint builtins are foreigns (noir-lang/noir#6892)
fix: remove unnecessary cast in bit-shift (noir-lang/noir#6890)
chore: Release Noir(1.0.0-beta.1) (noir-lang/noir#6622)
chore: Add `Instruction::Noop` (noir-lang/noir#6899)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Dec 25, 2024
…ked protocol circuits (noir-lang/noir#6903)

fix: consistent file_id across installation paths (noir-lang/noir#6912)
fix: bigint builtins are foreigns (noir-lang/noir#6892)
fix: remove unnecessary cast in bit-shift (noir-lang/noir#6890)
chore: Release Noir(1.0.0-beta.1) (noir-lang/noir#6622)
chore: Add `Instruction::Noop` (noir-lang/noir#6899)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Dec 25, 2024
… circuits (noir-lang/noir#6903)

fix: consistent file_id across installation paths (noir-lang/noir#6912)
fix: bigint builtins are foreigns (noir-lang/noir#6892)
fix: remove unnecessary cast in bit-shift (noir-lang/noir#6890)
chore: Release Noir(1.0.0-beta.1) (noir-lang/noir#6622)
chore: Add `Instruction::Noop` (noir-lang/noir#6899)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Dec 26, 2024
…ked protocol circuits (noir-lang/noir#6903)

fix: consistent file_id across installation paths (noir-lang/noir#6912)
fix: bigint builtins are foreigns (noir-lang/noir#6892)
fix: remove unnecessary cast in bit-shift (noir-lang/noir#6890)
chore: Release Noir(1.0.0-beta.1) (noir-lang/noir#6622)
chore: Add `Instruction::Noop` (noir-lang/noir#6899)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Dec 26, 2024
… circuits (noir-lang/noir#6903)

fix: consistent file_id across installation paths (noir-lang/noir#6912)
fix: bigint builtins are foreigns (noir-lang/noir#6892)
fix: remove unnecessary cast in bit-shift (noir-lang/noir#6890)
chore: Release Noir(1.0.0-beta.1) (noir-lang/noir#6622)
chore: Add `Instruction::Noop` (noir-lang/noir#6899)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Dec 27, 2024
…ked protocol circuits (noir-lang/noir#6903)

fix: consistent file_id across installation paths (noir-lang/noir#6912)
fix: bigint builtins are foreigns (noir-lang/noir#6892)
fix: remove unnecessary cast in bit-shift (noir-lang/noir#6890)
chore: Release Noir(1.0.0-beta.1) (noir-lang/noir#6622)
chore: Add `Instruction::Noop` (noir-lang/noir#6899)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Dec 27, 2024
… circuits (noir-lang/noir#6903)

fix: consistent file_id across installation paths (noir-lang/noir#6912)
fix: bigint builtins are foreigns (noir-lang/noir#6892)
fix: remove unnecessary cast in bit-shift (noir-lang/noir#6890)
chore: Release Noir(1.0.0-beta.1) (noir-lang/noir#6622)
chore: Add `Instruction::Noop` (noir-lang/noir#6899)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Dec 28, 2024
…ked protocol circuits (noir-lang/noir#6903)

fix: consistent file_id across installation paths (noir-lang/noir#6912)
fix: bigint builtins are foreigns (noir-lang/noir#6892)
fix: remove unnecessary cast in bit-shift (noir-lang/noir#6890)
chore: Release Noir(1.0.0-beta.1) (noir-lang/noir#6622)
chore: Add `Instruction::Noop` (noir-lang/noir#6899)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Dec 28, 2024
… circuits (noir-lang/noir#6903)

fix: consistent file_id across installation paths (noir-lang/noir#6912)
fix: bigint builtins are foreigns (noir-lang/noir#6892)
fix: remove unnecessary cast in bit-shift (noir-lang/noir#6890)
chore: Release Noir(1.0.0-beta.1) (noir-lang/noir#6622)
chore: Add `Instruction::Noop` (noir-lang/noir#6899)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Dec 29, 2024
…ked protocol circuits (noir-lang/noir#6903)

fix: consistent file_id across installation paths (noir-lang/noir#6912)
fix: bigint builtins are foreigns (noir-lang/noir#6892)
fix: remove unnecessary cast in bit-shift (noir-lang/noir#6890)
chore: Release Noir(1.0.0-beta.1) (noir-lang/noir#6622)
chore: Add `Instruction::Noop` (noir-lang/noir#6899)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Dec 29, 2024
… circuits (noir-lang/noir#6903)

fix: consistent file_id across installation paths (noir-lang/noir#6912)
fix: bigint builtins are foreigns (noir-lang/noir#6892)
fix: remove unnecessary cast in bit-shift (noir-lang/noir#6890)
chore: Release Noir(1.0.0-beta.1) (noir-lang/noir#6622)
chore: Add `Instruction::Noop` (noir-lang/noir#6899)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Dec 30, 2024
…ked protocol circuits (noir-lang/noir#6903)

fix: consistent file_id across installation paths (noir-lang/noir#6912)
fix: bigint builtins are foreigns (noir-lang/noir#6892)
fix: remove unnecessary cast in bit-shift (noir-lang/noir#6890)
chore: Release Noir(1.0.0-beta.1) (noir-lang/noir#6622)
chore: Add `Instruction::Noop` (noir-lang/noir#6899)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Dec 30, 2024
… circuits (noir-lang/noir#6903)

fix: consistent file_id across installation paths (noir-lang/noir#6912)
fix: bigint builtins are foreigns (noir-lang/noir#6892)
fix: remove unnecessary cast in bit-shift (noir-lang/noir#6890)
chore: Release Noir(1.0.0-beta.1) (noir-lang/noir#6622)
chore: Add `Instruction::Noop` (noir-lang/noir#6899)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Dec 31, 2024
…ked protocol circuits (noir-lang/noir#6903)

fix: consistent file_id across installation paths (noir-lang/noir#6912)
fix: bigint builtins are foreigns (noir-lang/noir#6892)
fix: remove unnecessary cast in bit-shift (noir-lang/noir#6890)
chore: Release Noir(1.0.0-beta.1) (noir-lang/noir#6622)
chore: Add `Instruction::Noop` (noir-lang/noir#6899)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Dec 31, 2024
… circuits (noir-lang/noir#6903)

fix: consistent file_id across installation paths (noir-lang/noir#6912)
fix: bigint builtins are foreigns (noir-lang/noir#6892)
fix: remove unnecessary cast in bit-shift (noir-lang/noir#6890)
chore: Release Noir(1.0.0-beta.1) (noir-lang/noir#6622)
chore: Add `Instruction::Noop` (noir-lang/noir#6899)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Jan 1, 2025
…ked protocol circuits (noir-lang/noir#6903)

fix: consistent file_id across installation paths (noir-lang/noir#6912)
fix: bigint builtins are foreigns (noir-lang/noir#6892)
fix: remove unnecessary cast in bit-shift (noir-lang/noir#6890)
chore: Release Noir(1.0.0-beta.1) (noir-lang/noir#6622)
chore: Add `Instruction::Noop` (noir-lang/noir#6899)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Jan 1, 2025
… circuits (noir-lang/noir#6903)

fix: consistent file_id across installation paths (noir-lang/noir#6912)
fix: bigint builtins are foreigns (noir-lang/noir#6892)
fix: remove unnecessary cast in bit-shift (noir-lang/noir#6890)
chore: Release Noir(1.0.0-beta.1) (noir-lang/noir#6622)
chore: Add `Instruction::Noop` (noir-lang/noir#6899)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Jan 2, 2025
…ked protocol circuits (noir-lang/noir#6903)

fix: consistent file_id across installation paths (noir-lang/noir#6912)
fix: bigint builtins are foreigns (noir-lang/noir#6892)
fix: remove unnecessary cast in bit-shift (noir-lang/noir#6890)
chore: Release Noir(1.0.0-beta.1) (noir-lang/noir#6622)
chore: Add `Instruction::Noop` (noir-lang/noir#6899)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Jan 2, 2025
… circuits (noir-lang/noir#6903)

fix: consistent file_id across installation paths (noir-lang/noir#6912)
fix: bigint builtins are foreigns (noir-lang/noir#6892)
fix: remove unnecessary cast in bit-shift (noir-lang/noir#6890)
chore: Release Noir(1.0.0-beta.1) (noir-lang/noir#6622)
chore: Add `Instruction::Noop` (noir-lang/noir#6899)
TomAFrench added a commit to AztecProtocol/aztec-packages that referenced this pull request Jan 2, 2025
Automated pull of development from the
[noir](https://github.com/noir-lang/noir) programming language, a
dependency of Aztec.
BEGIN_COMMIT_OVERRIDE
chore: add `rollup_root` and `rollup_block_merge` to tracked protocol
circuits (noir-lang/noir#6903)
fix: consistent file_id across installation paths
(noir-lang/noir#6912)
fix: bigint builtins are foreigns
(noir-lang/noir#6892)
fix: remove unnecessary cast in bit-shift
(noir-lang/noir#6890)
chore: Release Noir(1.0.0-beta.1)
(noir-lang/noir#6622)
chore: Add `Instruction::Noop`
(noir-lang/noir#6899)
END_COMMIT_OVERRIDE

---------

Co-authored-by: Tom French <15848336+TomAFrench@users.noreply.github.com>
AztecBot added a commit to AztecProtocol/barretenberg 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
chore: add `rollup_root` and `rollup_block_merge` to tracked protocol
circuits (noir-lang/noir#6903)
fix: consistent file_id across installation paths
(noir-lang/noir#6912)
fix: bigint builtins are foreigns
(noir-lang/noir#6892)
fix: remove unnecessary cast in bit-shift
(noir-lang/noir#6890)
chore: Release Noir(1.0.0-beta.1)
(noir-lang/noir#6622)
chore: Add `Instruction::Noop`
(noir-lang/noir#6899)
END_COMMIT_OVERRIDE

---------

Co-authored-by: Tom French <15848336+TomAFrench@users.noreply.github.com>
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:
  chore: add if/loop tip (separate from no-predicate noir-lang#5657) (noir-lang#6806)
  chore: move implementation of print foreign call into `nargo` (noir-lang#6865)
  chore: document format strings (noir-lang#6920)
  chore: add `rollup_root` and `rollup_block_merge` to tracked protocol circuits (noir-lang#6903)
  fix: consistent file_id across installation paths (noir-lang#6912)
  fix: bigint builtins are foreigns (noir-lang#6892)
  fix: remove unnecessary cast in bit-shift (noir-lang#6890)
  chore: Release Noir(1.0.0-beta.1) (noir-lang#6622)
  chore: Add `Instruction::Noop` (noir-lang#6899)
  chore: remove malformed functions from brillig reports (noir-lang#6898)
  chore: clean up gates reports script (noir-lang#6896)
  chore: move empty programs to `compile_success_empty` (noir-lang#6891)
  feat: add a warning when using unsafe blocks without safety comments (noir-lang#6860)
  chore: quick docs fix for noir-lang#6839 (noir-lang#6840)
  chore: Avoid duplicate Not instructions during flattening (noir-lang#6886)
  chore: Use smallvec for instruction results (noir-lang#6877)
  chore(ci): Display times in compilation and execution reports only with seconds (noir-lang#6880)
  feat: flatten nested if-else statements with equivalent conditions (noir-lang#6875)
  chore(ci): Take averages for compilation and execution report of small programs (noir-lang#6874)
  fix: don't deduplicate binary math of unsigned types (noir-lang#6848)
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.

Unoptimized BinaryOp::Shl
3 participants