changeset 7304:eb82b2d1af62

Bugfix: GraphOrder did not process all nodes of loops
author Christian Wimmer <christian.wimmer@oracle.com>
date Mon, 07 Jan 2013 19:03:29 -0800
parents 7952e3cfa6ed
children cd205ca515dd
files graal/com.oracle.graal.phases/src/com/oracle/graal/phases/util/GraphOrder.java
diffstat 1 files changed, 6 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/util/GraphOrder.java	Mon Jan 07 19:02:39 2013 -0800
+++ b/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/util/GraphOrder.java	Mon Jan 07 19:03:29 2013 -0800
@@ -92,6 +92,12 @@
             for (Node input : node.inputs()) {
                 visitForward(visited, input);
             }
+            if (node instanceof LoopBeginNode) {
+                LoopBeginNode loopBegin = (LoopBeginNode) node;
+                for (LoopEndNode loopEnd : loopBegin.loopEnds()) {
+                    visitForward(visited, loopEnd);
+                }
+            }
             nodes.add(node);
         }
     }