Skip to content

CodePushing: Migrate from invalidates to orderedBefore#8745

Merged
tlively merged 4 commits into
mainfrom
code-pushing-ordered-effects
May 22, 2026
Merged

CodePushing: Migrate from invalidates to orderedBefore#8745
tlively merged 4 commits into
mainfrom
code-pushing-ordered-effects

Conversation

@tlively
Copy link
Copy Markdown
Member

@tlively tlively commented May 21, 2026

Replace the coarse invalidates check in CodePushing with orderedBefore.
This allows CodePushing to push expressions (like GC reads) past acquire
loads, while still correctly blocking them from being pushed past release
stores.

Add a lit test to verify the asymmetrical reordering behavior with
release/acquire atomics on shared GC structs and Wasm memory.

tlively added 3 commits May 20, 2026 18:13
Replace the coarse `invalidates` check and the coarse global state check
in LICM with more precise `orderedBefore` checks. This allows LICM to
move memory accesses past release stores, while still correctly blocking
them from moving past acquire loads.

Add a lit test to verify the asymmetrical reordering behavior with
release/acquire atomics on shared memory/GC structs.
Replace the coarse `invalidates` check in `LocalCSE` with `orderedBefore`.
This allows `LocalCSE` to reuse expression values across release stores,
while still correctly blocking reuse across acquire loads.

Add a lit test to verify the asymmetrical reordering behavior with
release/acquire atomics on shared GC structs and Wasm memory.
Replace the coarse `invalidates` check in `CodePushing` with `orderedBefore`.
This allows `CodePushing` to push expressions (like GC reads) past acquire
loads, while still correctly blocking them from being pushed past release
stores.

Add a lit test to verify the asymmetrical reordering behavior with
release/acquire atomics on shared GC structs and Wasm memory.
@tlively tlively requested a review from a team as a code owner May 21, 2026 04:44
@tlively tlively requested review from kripken and removed request for a team May 21, 2026 04:44
Base automatically changed from local-cse-ordered-effects to main May 22, 2026 02:05
@tlively tlively enabled auto-merge (squash) May 22, 2026 03:53
@tlively tlively merged commit f404918 into main May 22, 2026
16 checks passed
@tlively tlively deleted the code-pushing-ordered-effects branch May 22, 2026 04:15
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