|
Jlm
|
TopDown Traverser. More...
#include <traverser.hpp>
Public Types | |
| using | NodeType = std::conditional_t< IsConst, const Node, Node > |
| using | RegionType = std::conditional_t< IsConst, const Region, Region > |
| using | ObserverType = ForwardingObserver< TopDownTraverserGeneric > |
| using | iterator = TraverserIterator< TopDownTraverserGeneric, NodeType > |
Public Member Functions | |
| ~TopDownTraverserGeneric () noexcept | |
| TopDownTraverserGeneric (RegionType *region) | |
| NodeType * | next () |
| iterator | begin () |
| iterator | end () |
Private Member Functions | |
| bool | isOutputActivated (const Output &output) const |
| void | markAsVisited (NodeType &node) |
| void | onNodeCreate (NodeType *node) |
| void | onNodeDestroy (NodeType *node) |
| void | onInputCreate (Input *input) |
| void | onInputChange (Input *in, Output *old_origin, Output *new_origin) |
| void | onInputDestroy (Input *input) |
Private Attributes | |
| TraversalTracker< NodeType > | tracker_ |
| ObserverType | observer_ |
| Node::Id | nodeIdCutoff_ |
Friends | |
| class | ForwardingObserver< TopDownTraverserGeneric > |
TopDown Traverser.
The top down traverser visits all nodes in a region, starting at the nodes that have no inputs besides graph arguments, i.e. from the topmost nodes to the nodes at the bottom. Nodes created during traversal are not visited.
An alternative to traversing all nodes using next() is the utilization of begin() and end().
Definition at line 181 of file traverser.hpp.
| using jlm::rvsdg::detail::TopDownTraverserGeneric< IsConst >::iterator = TraverserIterator<TopDownTraverserGeneric, NodeType> |
Definition at line 187 of file traverser.hpp.
| using jlm::rvsdg::detail::TopDownTraverserGeneric< IsConst >::NodeType = std::conditional_t<IsConst, const Node, Node> |
Definition at line 184 of file traverser.hpp.
| using jlm::rvsdg::detail::TopDownTraverserGeneric< IsConst >::ObserverType = ForwardingObserver<TopDownTraverserGeneric> |
Definition at line 186 of file traverser.hpp.
| using jlm::rvsdg::detail::TopDownTraverserGeneric< IsConst >::RegionType = std::conditional_t<IsConst, const Region, Region> |
Definition at line 185 of file traverser.hpp.
|
defaultnoexcept |
|
explicit |
Definition at line 78 of file traverser.cpp.
|
inline |
Definition at line 199 of file traverser.hpp.
|
inline |
Definition at line 205 of file traverser.hpp.
|
private |
Definition at line 101 of file traverser.cpp.
|
private |
Definition at line 114 of file traverser.cpp.
| TopDownTraverserGeneric< IsConst >::NodeType * jlm::rvsdg::detail::TopDownTraverserGeneric< IsConst >::next |
Definition at line 131 of file traverser.cpp.
|
private |
Definition at line 202 of file traverser.cpp.
|
private |
Definition at line 184 of file traverser.cpp.
|
private |
Definition at line 233 of file traverser.cpp.
|
private |
Definition at line 151 of file traverser.cpp.
|
private |
Definition at line 176 of file traverser.cpp.
|
friend |
Definition at line 169 of file traverser.hpp.
|
private |
Definition at line 235 of file traverser.hpp.
|
private |
Definition at line 233 of file traverser.hpp.
|
private |
Definition at line 232 of file traverser.hpp.