summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCliff Click <cliffc@acm.org>2025-05-01 09:46:08 -0700
committerCliff Click <cliffc@acm.org>2025-05-01 09:46:08 -0700
commitc502699f634bca60a0c9a938c343d02f5fad1b75 (patch)
tree6c2bfc67412c20443a901f193e70a6e1a9d3b837
parentff2c72dd5f9b7ccf7f24402e95cc9372e6439dc2 (diff)
downloadSimple-c502699f634bca60a0c9a938c343d02f5fad1b75.tar.gz
Simple-c502699f634bca60a0c9a938c343d02f5fad1b75.zip
Update PhiNode.java
-rw-r--r--chapter22/src/main/java/com/seaofnodes/simple/node/PhiNode.java2
1 files changed, 2 insertions, 0 deletions
diff --git a/chapter22/src/main/java/com/seaofnodes/simple/node/PhiNode.java b/chapter22/src/main/java/com/seaofnodes/simple/node/PhiNode.java
index 79251839..79844816 100644
--- a/chapter22/src/main/java/com/seaofnodes/simple/node/PhiNode.java
+++ b/chapter22/src/main/java/com/seaofnodes/simple/node/PhiNode.java
@@ -121,6 +121,8 @@ public class PhiNode extends Node {
Node op = in(i);
if( in(1).getClass() != op.getClass() || op.in(0)!=null || in(1).nIns() != op.nIns() )
return false; // Wrong class or CFG bound or mismatched inputs
+ if( in(1) instanceof MemOpNode mem && mem._alias != ((MemOpNode)op)._alias )
+ return false;
if( op.nOuts() > 1 ) { // Too many users, but addDep in case lose users
for( Node out : op._outputs )
if( out!=null && out!=this )