17d299ad4dc0ca26e0017b190b48362ad71328ce4machenbach@chromium.org// Copyright 2013 the V8 project authors. All rights reserved.
27d299ad4dc0ca26e0017b190b48362ad71328ce4machenbach@chromium.org// Use of this source code is governed by a BSD-style license that can be
37d299ad4dc0ca26e0017b190b48362ad71328ce4machenbach@chromium.org// found in the LICENSE file.
47d299ad4dc0ca26e0017b190b48362ad71328ce4machenbach@chromium.org
57d299ad4dc0ca26e0017b190b48362ad71328ce4machenbach@chromium.org#ifndef V8_COMPILER_GRAPH_INL_H_
67d299ad4dc0ca26e0017b190b48362ad71328ce4machenbach@chromium.org#define V8_COMPILER_GRAPH_INL_H_
77d299ad4dc0ca26e0017b190b48362ad71328ce4machenbach@chromium.org
87d299ad4dc0ca26e0017b190b48362ad71328ce4machenbach@chromium.org#include "src/compiler/generic-algorithm-inl.h"
97d299ad4dc0ca26e0017b190b48362ad71328ce4machenbach@chromium.org#include "src/compiler/graph.h"
107d299ad4dc0ca26e0017b190b48362ad71328ce4machenbach@chromium.org
117d299ad4dc0ca26e0017b190b48362ad71328ce4machenbach@chromium.orgnamespace v8 {
127d299ad4dc0ca26e0017b190b48362ad71328ce4machenbach@chromium.orgnamespace internal {
137d299ad4dc0ca26e0017b190b48362ad71328ce4machenbach@chromium.orgnamespace compiler {
147d299ad4dc0ca26e0017b190b48362ad71328ce4machenbach@chromium.org
157d299ad4dc0ca26e0017b190b48362ad71328ce4machenbach@chromium.orgtemplate <class Visitor>
167d299ad4dc0ca26e0017b190b48362ad71328ce4machenbach@chromium.orgvoid Graph::VisitNodeUsesFrom(Node* node, Visitor* visitor) {
175e57059e20217fd540b60c237d326414afe2171emachenbach@chromium.org  GenericGraphVisit::Visit<Visitor, NodeUseIterationTraits<Node> >(
185e57059e20217fd540b60c237d326414afe2171emachenbach@chromium.org      this, zone(), node, visitor);
197d299ad4dc0ca26e0017b190b48362ad71328ce4machenbach@chromium.org}
207d299ad4dc0ca26e0017b190b48362ad71328ce4machenbach@chromium.org
217d299ad4dc0ca26e0017b190b48362ad71328ce4machenbach@chromium.org
227d299ad4dc0ca26e0017b190b48362ad71328ce4machenbach@chromium.orgtemplate <class Visitor>
237d299ad4dc0ca26e0017b190b48362ad71328ce4machenbach@chromium.orgvoid Graph::VisitNodeUsesFromStart(Visitor* visitor) {
247d299ad4dc0ca26e0017b190b48362ad71328ce4machenbach@chromium.org  VisitNodeUsesFrom(start(), visitor);
257d299ad4dc0ca26e0017b190b48362ad71328ce4machenbach@chromium.org}
267d299ad4dc0ca26e0017b190b48362ad71328ce4machenbach@chromium.org
277d299ad4dc0ca26e0017b190b48362ad71328ce4machenbach@chromium.org
287d299ad4dc0ca26e0017b190b48362ad71328ce4machenbach@chromium.orgtemplate <class Visitor>
297d299ad4dc0ca26e0017b190b48362ad71328ce4machenbach@chromium.orgvoid Graph::VisitNodeInputsFromEnd(Visitor* visitor) {
307d299ad4dc0ca26e0017b190b48362ad71328ce4machenbach@chromium.org  GenericGraphVisit::Visit<Visitor, NodeInputIterationTraits<Node> >(
315e57059e20217fd540b60c237d326414afe2171emachenbach@chromium.org      this, zone(), end(), visitor);
327d299ad4dc0ca26e0017b190b48362ad71328ce4machenbach@chromium.org}
337d299ad4dc0ca26e0017b190b48362ad71328ce4machenbach@chromium.org}
347d299ad4dc0ca26e0017b190b48362ad71328ce4machenbach@chromium.org}
357d299ad4dc0ca26e0017b190b48362ad71328ce4machenbach@chromium.org}  // namespace v8::internal::compiler
367d299ad4dc0ca26e0017b190b48362ad71328ce4machenbach@chromium.org
377d299ad4dc0ca26e0017b190b48362ad71328ce4machenbach@chromium.org#endif  // V8_COMPILER_GRAPH_INL_H_
38