diff options
| author | Cliff Click <cliffc@acm.org> | 2025-08-09 08:57:24 -0700 |
|---|---|---|
| committer | Cliff Click <cliffc@acm.org> | 2025-08-09 08:57:24 -0700 |
| commit | be3236449aaf7f64d92c4b518229cb05d2e8b886 (patch) | |
| tree | 178297c1da86321bd0965abdd61d32f46c1d51a6 /chapter23/src/main/java | |
| parent | 41f0cff35451eb7ef81f1e5f955f63f0aa49b29f (diff) | |
| download | Simple-be3236449aaf7f64d92c4b518229cb05d2e8b886.tar.gz Simple-be3236449aaf7f64d92c4b518229cb05d2e8b886.zip | |
phi-cloning needs to widen mintype
Diffstat (limited to 'chapter23/src/main/java')
| -rw-r--r-- | chapter23/src/main/java/com/seaofnodes/simple/node/AddNode.java | 2 |
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); } |
