diff options
Diffstat (limited to 'chapter23/src/main/java')
| -rw-r--r-- | chapter23/src/main/java/com/seaofnodes/simple/node/RegionNode.java | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/chapter23/src/main/java/com/seaofnodes/simple/node/RegionNode.java b/chapter23/src/main/java/com/seaofnodes/simple/node/RegionNode.java index e25c2380..2b467a8c 100644 --- a/chapter23/src/main/java/com/seaofnodes/simple/node/RegionNode.java +++ b/chapter23/src/main/java/com/seaofnodes/simple/node/RegionNode.java @@ -57,8 +57,8 @@ public class RegionNode extends CFGNode { return delDef(2); } - // Flatten stack regions (no loops involved) - if( getClass() == RegionNode.class ) { + // Flatten stacked regions (no loops involved) + if( getClass() == RegionNode.class && nIns()>2 ) { for( int i=1; i<nIns(); i++ ) if( cfg(i) instanceof RegionNode region && region.getClass() == RegionNode.class && region.nIns()>2 && !hasMidUser(region) ) { assert !region.inProgress(); |
