From 300d2a9c3672acacc8bdd8d5370a424651a00571 Mon Sep 17 00:00:00 2001 From: Cliff Click Date: Sun, 18 Oct 2026 22:09:58 -0700 Subject: Cleanup & backport The phase rework, made new phases explicit and add them to the CodeGen driver. Fix the flag-spilling on X86 and ARM. Fix the GCM conservative anti-deps and backport. --- chapter13/README.md | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'chapter13/README.md') diff --git a/chapter13/README.md b/chapter13/README.md index 7df00642..7794c2eb 100644 --- a/chapter13/README.md +++ b/chapter13/README.md @@ -352,6 +352,14 @@ stores, we do the same - until/unless we find stores with the SAME block as the Load's LCA. Then we add the anti-dependency edge to force ordering within the same block. +For a memory Phi, constrain the paths whose inputs differ from the Load's +memory; paths carrying that memory unchanged do not overwrite it. A different +input can come from a sibling branch, so its dominator chain need not reach +the memory definition's block. Stop the walk when it rises above that block's +depth, or reaches its immediate dominator. Include the boundary depth so +same-block ordering is preserved. The immediate-dominator sentinel also handles +a root with no dominator. + See [`antiUse()`](src/main/java/com/seaofnodes/simple/GlobalCodeMotion.java#L224) for the alias filter, and [`find_anti_dep()`](src/main/java/com/seaofnodes/simple/GlobalCodeMotion.java#L233) -- cgit v1.2.3