fix: handle unconditional break during SSA codegen in all cases#8855
Merged
fix: handle unconditional break during SSA codegen in all cases#8855
Conversation
asterite
commented
Jun 9, 2025
Contributor
There was a problem hiding this comment.
⚠️ 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: 02838a1 | Previous: bc6b68b | Ratio |
|---|---|---|---|
rollup-merge |
0.004 s |
0.003 s |
1.33 |
This comment was automatically generated by workflow using github-action-benchmark.
CC: @TomAFrench
…noir into ab/unconditional-break-take-3
vezenovm
approved these changes
Jun 10, 2025
Contributor
vezenovm
left a comment
There was a problem hiding this comment.
I greatly prefer this approach to threading an Option as in #8849. However, I still wonder whether the code would grow very much if this control flow divergence was explicitly part of a new Values enum and then we wouldn't be mixing errors and valid return values.
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Problem
Resolves #8836
Summary
Alternative to #8849 that implements this: #8849 (comment)
Additional Context
In the end this is much simpler, and it's just a handful of cases that we need to handle.
Documentation
Check one:
PR Checklist
cargo fmton default settings.