feat: mark instructions after invalid array operations as unreachable#9212
feat: mark instructions after invalid array operations as unreachable#9212TomAFrench wants to merge 6 commits intomasterfrom
Conversation
There was a problem hiding this comment.
⚠️ Performance Alert ⚠️
Possible performance regression was detected for benchmark 'Execution Memory'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.20.
| Benchmark suite | Current: 73d2340 | Previous: e7a98f2 | Ratio |
|---|---|---|---|
private-kernel-reset |
449.77 MB |
237.94 MB |
1.89 |
This comment was automatically generated by workflow using github-action-benchmark.
CC: @TomAFrench
16736b1 to
73d2340
Compare
|
Let's merge this after #9211 as it'll cause conflicts and that one has more of an immediate impact. |
|
This merge was janky and likely incorrect. |
Changes to circuit sizes
🧾 Summary (10% most significant diffs)
Full diff report 👇
|
compiler/noirc_evaluator/src/ssa/opt/remove_unreachable_instructions.rs
Outdated
Show resolved
Hide resolved
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: e8a4fd7 | Previous: 92f56e7 | Ratio |
|---|---|---|---|
test_report_zkpassport_noir_rsa_ |
2 s |
1 s |
2 |
This comment was automatically generated by workflow using github-action-benchmark.
CC: @TomAFrench
Description
Problem*
Resolves
Summary*
Currently we don't mark array operations as "always failing" under any circumstances. We can however do this if we know that the index points past the end of the array at compile time or that the array has length zero.
This PR then marks these instructions as always failing.
Additional Context
Documentation*
Check one:
PR Checklist*
cargo fmton default settings.