summaryrefslogtreecommitdiff
path: root/chapter15/src
diff options
context:
space:
mode:
authorCliff Click <cliffc@acm.org>2024-10-04 13:05:54 -0700
committerCliff Click <cliffc@acm.org>2024-10-06 08:56:22 -0700
commita417a50f8f7fefbd40bb39866b8d7db2cbd691c2 (patch)
treeb18c46076a150934a388e91554773a5c26db4092 /chapter15/src
parent9edb193559f48f78f3040d96147d0baea84abde7 (diff)
downloadSimple-a417a50f8f7fefbd40bb39866b8d7db2cbd691c2.tar.gz
Simple-a417a50f8f7fefbd40bb39866b8d7db2cbd691c2.zip
Fix broken dead-diamond peep
Diffstat (limited to 'chapter15/src')
-rw-r--r--chapter15/src/main/java/com/seaofnodes/simple/node/RegionNode.java5
1 files changed, 2 insertions, 3 deletions
diff --git a/chapter15/src/main/java/com/seaofnodes/simple/node/RegionNode.java b/chapter15/src/main/java/com/seaofnodes/simple/node/RegionNode.java
index 0c7cd1e4..bd05ce01 100644
--- a/chapter15/src/main/java/com/seaofnodes/simple/node/RegionNode.java
+++ b/chapter15/src/main/java/com/seaofnodes/simple/node/RegionNode.java
@@ -66,14 +66,13 @@ public class RegionNode extends CFGNode {
// If a CFG diamond with no merging, delete: "if( pred ) {} else {};"
if( !hasPhi() && // No Phi users, just a control user
- in(1) instanceof ProjNode p1 &&
- in(2) instanceof ProjNode p2 &&
+ in(1) instanceof CProjNode p1 &&
+ in(2) instanceof CProjNode p2 &&
p1.in(0)==p2.in(0) &&
p1.in(0) instanceof IfNode iff )
return iff.ctrl();
-
// Look for direct uses of a guarded expression, and replace with the guard result.
if( !(idom() instanceof StartNode) && // Dead or dying
!(this instanceof LoopNode) ) {