diff options
| author | Cliff Click <cliffc@acm.org> | 2024-10-04 13:05:54 -0700 |
|---|---|---|
| committer | Cliff Click <cliffc@acm.org> | 2024-10-06 08:56:22 -0700 |
| commit | a417a50f8f7fefbd40bb39866b8d7db2cbd691c2 (patch) | |
| tree | b18c46076a150934a388e91554773a5c26db4092 /chapter15/src/main/java/com | |
| parent | 9edb193559f48f78f3040d96147d0baea84abde7 (diff) | |
| download | Simple-a417a50f8f7fefbd40bb39866b8d7db2cbd691c2.tar.gz Simple-a417a50f8f7fefbd40bb39866b8d7db2cbd691c2.zip | |
Fix broken dead-diamond peep
Diffstat (limited to 'chapter15/src/main/java/com')
| -rw-r--r-- | chapter15/src/main/java/com/seaofnodes/simple/node/RegionNode.java | 5 |
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) ) { |
