Mercurial > hg > graal-jvmci-8
changeset 11414:ec21e399e4be
Create new IfNode in IfNode simplification
author | Gilles Duboscq <duboscq@ssw.jku.at> |
---|---|
date | Sun, 25 Aug 2013 16:23:52 +0200 |
parents | 2c3ca4b71965 |
children | c355f6b32fa6 |
files | graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java |
diffstat | 1 files changed, 5 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java Sun Aug 25 15:18:57 2013 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java Sun Aug 25 16:23:52 2013 +0200 @@ -140,16 +140,15 @@ @Override public void simplify(SimplifierTool tool) { if (condition() instanceof LogicNegationNode) { - LogicNegationNode negation = (LogicNegationNode) condition(); - setCondition(negation.getInput()); - AbstractBeginNode trueSucc = trueSuccessor(); AbstractBeginNode falseSucc = falseSuccessor(); setTrueSuccessor(null); setFalseSuccessor(null); - setTrueSuccessor(falseSucc); - setFalseSuccessor(trueSucc); - setTrueSuccessorProbability(1 - trueSuccessorProbability); + LogicNegationNode negation = (LogicNegationNode) condition(); + IfNode newIfNode = graph().add(new IfNode(negation.getInput(), falseSucc, trueSucc, 1 - trueSuccessorProbability)); + predecessor().replaceFirstSuccessor(this, newIfNode); + this.safeDelete(); + return; } if (condition() instanceof LogicConstantNode) {