summaryrefslogtreecommitdiff
path: root/chapter13/README.md
diff options
context:
space:
mode:
authorCliff Click <cliffc@acm.org>2026-10-18 22:09:58 -0700
committerCliff Click <cliffc@acm.org>2026-10-18 22:09:58 -0700
commit300d2a9c3672acacc8bdd8d5370a424651a00571 (patch)
treef33d895f6ec4e08692efa4c090c681257553097d /chapter13/README.md
parent0be52f8dd82f70d4c557fe916d47dc425401f848 (diff)
downloadSimple-300d2a9c3672acacc8bdd8d5370a424651a00571.tar.gz
Simple-300d2a9c3672acacc8bdd8d5370a424651a00571.zip
Cleanup & backportclinit
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.
Diffstat (limited to 'chapter13/README.md')
-rw-r--r--chapter13/README.md8
1 files changed, 8 insertions, 0 deletions
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)