Search in sources :

Example 1 with StatelessPostOrderNodeIterator

use of org.graalvm.compiler.phases.graph.StatelessPostOrderNodeIterator in project graal by oracle.

the class GraphOrder method createOrder.

private static List<Node> createOrder(StructuredGraph graph) {
    final ArrayList<Node> nodes = new ArrayList<>();
    final NodeBitMap visited = graph.createNodeBitMap();
    new StatelessPostOrderNodeIterator(graph.start()) {

        @Override
        protected void node(FixedNode node) {
            visitForward(nodes, visited, node, false);
        }
    }.apply();
    return nodes;
}
Also used : NodeBitMap(org.graalvm.compiler.graph.NodeBitMap) StatelessPostOrderNodeIterator(org.graalvm.compiler.phases.graph.StatelessPostOrderNodeIterator) ConstantNode(org.graalvm.compiler.nodes.ConstantNode) AbstractMergeNode(org.graalvm.compiler.nodes.AbstractMergeNode) LoopBeginNode(org.graalvm.compiler.nodes.LoopBeginNode) FixedNode(org.graalvm.compiler.nodes.FixedNode) VirtualObjectNode(org.graalvm.compiler.nodes.virtual.VirtualObjectNode) AbstractEndNode(org.graalvm.compiler.nodes.AbstractEndNode) ValueNode(org.graalvm.compiler.nodes.ValueNode) LoopExitNode(org.graalvm.compiler.nodes.LoopExitNode) Node(org.graalvm.compiler.graph.Node) EndNode(org.graalvm.compiler.nodes.EndNode) FullInfopointNode(org.graalvm.compiler.nodes.FullInfopointNode) PhiNode(org.graalvm.compiler.nodes.PhiNode) ProxyNode(org.graalvm.compiler.nodes.ProxyNode) ArrayList(java.util.ArrayList) FixedNode(org.graalvm.compiler.nodes.FixedNode)

Aggregations

ArrayList (java.util.ArrayList)1 Node (org.graalvm.compiler.graph.Node)1 NodeBitMap (org.graalvm.compiler.graph.NodeBitMap)1 AbstractEndNode (org.graalvm.compiler.nodes.AbstractEndNode)1 AbstractMergeNode (org.graalvm.compiler.nodes.AbstractMergeNode)1 ConstantNode (org.graalvm.compiler.nodes.ConstantNode)1 EndNode (org.graalvm.compiler.nodes.EndNode)1 FixedNode (org.graalvm.compiler.nodes.FixedNode)1 FullInfopointNode (org.graalvm.compiler.nodes.FullInfopointNode)1 LoopBeginNode (org.graalvm.compiler.nodes.LoopBeginNode)1 LoopExitNode (org.graalvm.compiler.nodes.LoopExitNode)1 PhiNode (org.graalvm.compiler.nodes.PhiNode)1 ProxyNode (org.graalvm.compiler.nodes.ProxyNode)1 ValueNode (org.graalvm.compiler.nodes.ValueNode)1 VirtualObjectNode (org.graalvm.compiler.nodes.virtual.VirtualObjectNode)1 StatelessPostOrderNodeIterator (org.graalvm.compiler.phases.graph.StatelessPostOrderNodeIterator)1