Mercurial > hg > graal-jvmci-8
changeset 5297:1e3d4518813e
don't remove empty if - merge constructs if there are guards depending on the BeginNodes
author | Lukas Stadler <lukas.stadler@jku.at> |
---|---|
date | Wed, 25 Apr 2012 12:13:15 +0200 |
parents | 796917d3bfc9 |
children | 05217985063f |
files | graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java |
diffstat | 1 files changed, 1 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java Wed Apr 25 11:33:47 2012 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java Wed Apr 25 12:13:15 2012 +0200 @@ -122,7 +122,7 @@ EndNode trueEnd = (EndNode) trueSuccessor().next(); EndNode falseEnd = (EndNode) falseSuccessor().next(); MergeNode merge = trueEnd.merge(); - if (merge == falseEnd.merge() && merge.forwardEndCount() == 2) { + if (merge == falseEnd.merge() && merge.forwardEndCount() == 2 && trueSuccessor().anchored().isEmpty() && falseSuccessor().anchored().isEmpty()) { Iterator<PhiNode> phis = merge.phis().iterator(); if (!phis.hasNext()) { // empty if construct with no phis: remove it