Skip to content

Preserve captured HighC loads across memory assignments - #610

Merged
NeverSightAI merged 2 commits into
devfrom
dot/daily-static-review-2026-10-07
Oct 7, 2026
Merged

NeverSightAI merged 2 commits into
devfrom
dot/daily-static-review-2026-10-07

Conversation

@gmh5225

@gmh5225 gmh5225 commented Oct 7, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Fix a statically demonstrated HighC miscompile: an Assign statement with a Load destination writes memory, but the value-forwarding clobber check did not recognize it.
  • Route that write form through the existing address/overlap policy, using the destination access width.
  • Add HighValueForward.SlotLoadStaysBeforeAnAssignmentToItsSlot to the already-registered NeverDHighControlFlowTests target.
  • Refresh only English PROGRESS.md; preserve the complete previous 135,547-character tracker verbatim.

Static evidence

The sequence store(slot, x); t1 = load(slot); assign(load(slot), 5); return t1 could fold the captured load past the overwrite. Existing statement emission supports this write form; earlier immutable-slot forwarding refuses it and liveness retains it. The fix preserves the original captured value and does not change shared IR or LLVMC.

Code commit: a6468b8.
Report commit: 550608a.
Reviewed dev range: 6f885eb → db18af3.
Inventory: 198 commits / 557 paths; 196 / 556 excluding the two report-only commits and PROGRESS path. This is not exhaustive audit coverage.

Verification and limits

Strictly static. No project execution, build, test, benchmark, repository script, formatter/linter or CI dispatch/rerun.
The new regression declares emitted-C checks at O0/O2 using the existing helper; it has not been executed. No compilation/runtime/formatting pass is claimed.
Remote source/test readbacks equal intended content. The code commit changes exactly two files, 26 additions/3 deletions; its remote diff was inspected. Report readback is exact and preserves all prior history; its separate commit changes only PROGRESS.md with zero deleted lines.

Existing qualification blockers

At October 7 01:01:56 UTC, pinned dev has 19 checks: four success, two failure, three running, ten skipped. Linux cannot compile four Darwin initializer lists; all four repairs already exist in unmerged #589, whose default Linux build passed but later Mach-O tests failed. No duplicate patch is included.
Pinned dev mobile macOS fails on unsupported preprocessor directives, and all real-application jobs are skipped. Existing #605 has failed remote CI and mergeability false. Local author reports remain separate from remote results.
The full report records exact heads, jobs, sample times, missing-test denominators, open work and bounded next priorities.

No other documentation, dependency, security setting, issue state, merge or deployment changed. No CI-skip markers; ordinary automatic checks may run. This draft does not authorize merging.

@NeverSightAI
NeverSightAI marked this pull request as ready for review October 7, 2026 13:28
@NeverSightAI
NeverSightAI merged commit 89aa889 into dev Oct 7, 2026
5 of 10 checks passed
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.

2 participants