summaryrefslogtreecommitdiff
path: root/chapter23/src/main/java/com/seaofnodes
diff options
context:
space:
mode:
authorCliff Click <cliffc@acm.org>2025-08-09 08:57:24 -0700
committerCliff Click <cliffc@acm.org>2025-08-09 08:57:24 -0700
commitbe3236449aaf7f64d92c4b518229cb05d2e8b886 (patch)
tree178297c1da86321bd0965abdd61d32f46c1d51a6 /chapter23/src/main/java/com/seaofnodes
parent41f0cff35451eb7ef81f1e5f955f63f0aa49b29f (diff)
downloadSimple-be3236449aaf7f64d92c4b518229cb05d2e8b886.tar.gz
Simple-be3236449aaf7f64d92c4b518229cb05d2e8b886.zip
phi-cloning needs to widen mintype
Diffstat (limited to 'chapter23/src/main/java/com/seaofnodes')
-rw-r--r--chapter23/src/main/java/com/seaofnodes/simple/node/AddNode.java2
1 files changed, 1 insertions, 1 deletions
diff --git a/chapter23/src/main/java/com/seaofnodes/simple/node/AddNode.java b/chapter23/src/main/java/com/seaofnodes/simple/node/AddNode.java
index f1615f70..c5ba14de 100644
--- a/chapter23/src/main/java/com/seaofnodes/simple/node/AddNode.java
+++ b/chapter23/src/main/java/com/seaofnodes/simple/node/AddNode.java
@@ -126,7 +126,7 @@ public class AddNode extends ArithNode {
for( int i=1; i<ns.length; i++ )
ns[i] = op.copy(lphi.in(i), rhs instanceof PhiNode ? rhs.in(i) : rhs).peephole();
String label = lphi._label + (rhs instanceof PhiNode rphi ? rphi._label : "");
- Node phi = new PhiNode(label,lphi._minType,ns).peephole();
+ Node phi = new PhiNode(label,lphi._minType.meet(op._type),ns).peephole();
// Rotate needs another op, otherwise just the phi
return lhs==lphi ? phi : op.copy(lhs.in(1),phi);
}