feat: simply cfg immediately before flattening#9275
feat: simply cfg immediately before flattening#9275TomAFrench merged 5 commits intomv/array-get-side-effectsfrom
Conversation
Changes to Brillig bytecode sizes
🧾 Summary (10% most significant diffs)
Full diff report 👇
|
Changes to number of Brillig opcodes executed
🧾 Summary (10% most significant diffs)
Full diff report 👇
|
Changes to circuit sizes
🧾 Summary (10% most significant diffs)
Full diff report 👇
|
vezenovm
left a comment
There was a problem hiding this comment.
I didn't see much benefit for the no_predicates_numeric_generic_poseidon test you had mentioned in #9232 and it looks like the reports confirm that. However, I am good with this change as it still provides benefits and simplify CFG is a more lightweight pass.
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: 476bb4b | Previous: 3c18e33 | Ratio |
|---|---|---|---|
sha512-100-bytes |
0.102 s |
0.056 s |
1.82 |
This comment was automatically generated by workflow using github-action-benchmark.
CC: @TomAFrench
|
I'm not seeing a change in |
Co-authored-by: Maxim Vezenov <mvezenov@gmail.com>
Co-authored-by: Maxim Vezenov <mvezenov@gmail.com>
There was a problem hiding this comment.
⚠️ 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: 476bb4b | Previous: 3c18e33 | Ratio |
|---|---|---|---|
test_report_AztecProtocol_aztec-packages_noir-projects_aztec-nr |
132 s |
5 s |
26.40 |
test_report_AztecProtocol_aztec-packages_noir-projects_noir-contracts |
152 s |
42 s |
3.62 |
test_report_AztecProtocol_aztec-packages_noir-projects_noir-protocol-circuits_crates_blob |
180 s |
3 s |
60 |
test_report_AztecProtocol_aztec-packages_noir-projects_noir-protocol-circuits_crates_private-kernel-lib |
266 s |
1 s |
266 |
test_report_AztecProtocol_aztec-packages_noir-projects_noir-protocol-circuits_crates_reset-kernel-lib |
35 s |
2 s |
17.50 |
test_report_AztecProtocol_aztec-packages_noir-projects_noir-protocol-circuits_crates_rollup-lib |
718 s |
3 s |
239.33 |
test_report_AztecProtocol_aztec-packages_noir-projects_noir-protocol-circuits_crates_types |
126 s |
1 s |
126 |
test_report_zkpassport_noir-ecdsa_ |
118 s |
3 s |
39.33 |
This comment was automatically generated by workflow using github-action-benchmark.
CC: @TomAFrench
|
Ok, the issue is that we have control flow in the This then results in us having a |
Description
Problem*
Resolves
Summary*
This PR adds another simplification pass immediately before cfg flattening. I've also added a pre-check to flattening which asserts that there are no constant condition jmpifs.
Additional Context
Documentation*
Check one:
PR Checklist*
cargo fmton default settings.