Skip to content

Preserve writes observed by dynamic array reads - #675

Draft
1sgtpepper wants to merge 5 commits into
project-llzk:mainfrom
1sgtpepper:fix/dynamic-array-read-write-observation
Draft

Preserve writes observed by dynamic array reads#675
1sgtpepper wants to merge 5 commits into
project-llzk:mainfrom
1sgtpepper:fix/dynamic-array-read-write-observation

Conversation

@1sgtpepper

@1sgtpepper 1sgtpepper commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Summary

Fixes #673 by preserving writes that a live dynamic-index array read may observe, while keeping tree-shaped write candidates local to their region. Region joins now conservatively drop value facts with no common subtree instead of retaining a null tree.

Related issues

Fixes #673.

Changes

  • Preserve prior writes that a live dynamic-index array read may observe.
  • Keep tree-shaped write candidates local to their region and drop value facts when a region join has no common subtree.
  • Add regression coverage for zero-index replacement and dynamic reads across regions.

Testing

Hosted CI is green on the checks. The exact-head FileCheck replay passed; the transformed fixtures include complete generated FileCheck output, including the zero-index replacement regression.

Submission checklist

  • If I am an external contributor, this PR has a linked issue marked approved; otherwise, this does not apply.
  • I added or updated tests for all relevant behavior, or explained above why tests are not needed.
  • I updated the relevant TableGen or other documentation, or explained above why documentation is not needed.
  • I added a changelog entry describing user-visible changes.
  • I enabled Allow edits from maintainers.

AI assistance

  • No AI tools contributed to this PR.
  • AI tools contributed to this PR.

Tools used: Codex

How the tools contributed: Implementation and code review.

How I verified the contribution: Final changes reviewed.

@1sgtpepper
1sgtpepper force-pushed the fix/dynamic-array-read-write-observation branch 7 times, most recently from 204bf1a to 44c33ca Compare August 12, 2026 02:38
@1sgtpepper
1sgtpepper force-pushed the fix/dynamic-array-read-write-observation branch from 44c33ca to ff97297 Compare August 12, 2026 02:56
@1sgtpepper
1sgtpepper marked this pull request as ready for review August 12, 2026 12:25
@1sgtpepper
1sgtpepper requested a review from a team as a code owner August 12, 2026 12:25
@tim-hoffman

Copy link
Copy Markdown
Member

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ff97297fd1

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread lib/Transforms/LLZKRedundantReadAndWriteEliminationPass.cpp Outdated
@1sgtpepper
1sgtpepper marked this pull request as draft August 13, 2026 02:01
@1sgtpepper

Copy link
Copy Markdown
Contributor Author

Fixed by dropping null common subtrees at the region-state intersection; the zero-index replacement regression now has complete FileCheck output. Hosted CI is green, and the exact-head replay passed: https://github.com/1sgtpepper/llzk-lib/actions/runs/31666906248

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.

[Bug]: Dynamic array reads do not protect prior writes

2 participants