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 +++++++++++++--------- .../java/com/seaofnodes/simple/Chapter21Test.java | 18 ++++++++++++++++ 2 files changed, 33 insertions(+), 10 deletions(-) (limited to 'chapter23/src') diff --git a/chapter23/src/main/java/com/seaofnodes/simple/codegen/GlobalCodeMotion.java b/chapter23/src/main/java/com/seaofnodes/simple/codegen/GlobalCodeMotion.java index 1d802cae..80d5d9bb 100644 --- a/chapter23/src/main/java/com/seaofnodes/simple/codegen/GlobalCodeMotion.java +++ b/chapter23/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 CallNode 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 PhiNode phi: // Repeat anti-dep for matching Phi inputs. // No anti-dep edges but may raise the LCA. for( int i=1; i