# HG changeset patch # User Christian Humer # Date 1409749133 -7200 # Node ID ff0ec169843b834d7ad249f01d6c9cf1804f09ed # Parent 7b45e33b79861e34e5e08abb67f61e0b0171d18b Fixed loop phis with itself as single back value did not canonicalize. (contributed by Lukas Stadler) diff -r 7b45e33b7986 -r ff0ec169843b graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PhiNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PhiNode.java Wed Sep 03 14:58:53 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PhiNode.java Wed Sep 03 14:58:53 2014 +0200 @@ -193,7 +193,13 @@ @Override public void simplify(SimplifierTool tool) { - ValueNode singleValue = singleValue(); + ValueNode singleValue; + + if (isLoopPhi() && singleBackValue() == this) { + singleValue = firstValue(); + } else { + singleValue = singleValue(); + } if (singleValue != MULTIPLE_VALUES) { for (Node node : usages().snapshot()) {