From bd0ef17d0f9563ed9579fe060b785211e8378006 Mon Sep 17 00:00:00 2001 From: Cliff Click Date: Thu, 1 Oct 2026 15:47:15 -0700 Subject: Restore missing anti-dependence walk --- .../simple/codegen/GlobalCodeMotion.java | 25 +++++++++++++--------- 1 file changed, 15 insertions(+), 10 deletions(-) (limited to 'chapter25/src/main/java/com/seaofnodes') diff --git a/chapter25/src/main/java/com/seaofnodes/simple/codegen/GlobalCodeMotion.java b/chapter25/src/main/java/com/seaofnodes/simple/codegen/GlobalCodeMotion.java index 484bcaa9..8eebc15b 100644 --- a/chapter25/src/main/java/com/seaofnodes/simple/codegen/GlobalCodeMotion.java +++ b/chapter25/src/main/java/com/seaofnodes/simple/codegen/GlobalCodeMotion.java @@ -266,22 +266,22 @@ public abstract class GlobalCodeMotion { switch( mem ) { case MemOpNode st: assert late[st._nid]!=null; - lca = anti_dep(load,late[st._nid],lca,st,anti); + lca = anti_dep(load,late[st._nid],st.cfg0(),lca,st,anti); break; case EscapeNode st: assert late[st._nid]!=null; - lca = anti_dep(load,late[st._nid],lca,st,anti); + lca = anti_dep(load,late[st._nid],st.cfg0(),lca,st,anti); break; case CallNode call: assert late[call._nid]!=null; - lca = anti_dep(load,late[call._nid],lca,call,anti); + lca = anti_dep(load,late[call._nid],call.cfg0(),lca,call,anti); break; case PhiNode phi: // Repeat anti-dep for matching Phi inputs. // No anti-dep edges but may raise the LCA. for( int i=1; i