Skip to content

feat: mark instructions after invalid array operations as unreachable#9212

Closed
TomAFrench wants to merge 6 commits intomasterfrom
tf/mark-instructions-after-bad-array-ops-as-unreachable
Closed

feat: mark instructions after invalid array operations as unreachable#9212
TomAFrench wants to merge 6 commits intomasterfrom
tf/mark-instructions-after-bad-array-ops-as-unreachable

Conversation

@TomAFrench
Copy link
Member

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:

  • 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.

@TomAFrench TomAFrench requested a review from a team July 15, 2025 17:14
Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

⚠️ 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

@TomAFrench TomAFrench force-pushed the tf/mark-instructions-after-bad-array-ops-as-unreachable branch from 16736b1 to 73d2340 Compare July 15, 2025 17:40
@TomAFrench
Copy link
Member Author

Let's merge this after #9211 as it'll cause conflicts and that one has more of an immediate impact.

@TomAFrench
Copy link
Member Author

This merge was janky and likely incorrect.

@github-actions
Copy link
Contributor

github-actions bot commented Jul 16, 2025

Changes to circuit sizes

Generated at commit: 8dac11029686c1045db4d2f3856410cfbf166819, compared to commit: 92f56e7128abe06cb92ed4d824ebf950f2e415e9

🧾 Summary (10% most significant diffs)

Program ACIR opcodes (+/-) % Circuit size (+/-) %
conditional_1 -115 ✅ -4.18% -137 ✅ -1.68%

Full diff report 👇
Program ACIR opcodes (+/-) % Circuit size (+/-) %
conditional_1 2,639 (-115) -4.18% 8,003 (-137) -1.68%

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

⚠️ 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

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