|
Jlm
|
BottomUp 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< BottomUpTraverserGeneric > |
| using | iterator = TraverserIterator< BottomUpTraverserGeneric, NodeType > |
Public Member Functions | |
| ~BottomUpTraverserGeneric () noexcept | |
| BottomUpTraverserGeneric (RegionType *region) | |
| NodeType * | next () |
| iterator | begin () |
| iterator | end () |
Private Member Functions | |
| bool | isInputActivated (const Input &input) const |
| void | markAsVisited (NodeType &node) |
| void | onNodeCreate (NodeType *node) |
| void | onNodeDestroy (NodeType *node) |
| void | onInputCreate (Input *input) |
| void | onInputChange (Input *input, Output *oldOrigin, Output *newOrigin) |
| void | onInputDestroy (Input *input) |
Private Attributes | |
| TraversalTracker< NodeType > | tracker_ |
| ObserverType | observer_ |
Friends | |
| class | ForwardingObserver< BottomUpTraverserGeneric > |
BottomUp Traverser.
The bottom up traverser visits all nodes in a region, starting at the nodes that have no users besides graph results, i.e. from the bottommost nodes to the nodes at the top. Nodes created during traversal are never visited.
An alternative to traversing all nodes using next() is the utilization of begin() and end().
Definition at line 247 of file traverser.hpp.
| using jlm::rvsdg::detail::BottomUpTraverserGeneric< IsConst >::iterator = TraverserIterator<BottomUpTraverserGeneric, NodeType> |
Definition at line 253 of file traverser.hpp.
| using jlm::rvsdg::detail::BottomUpTraverserGeneric< IsConst >::NodeType = std::conditional_t<IsConst, const Node, Node> |
Definition at line 250 of file traverser.hpp.
| using jlm::rvsdg::detail::BottomUpTraverserGeneric< IsConst >::ObserverType = ForwardingObserver<BottomUpTraverserGeneric> |
Definition at line 252 of file traverser.hpp.
| using jlm::rvsdg::detail::BottomUpTraverserGeneric< IsConst >::RegionType = std::conditional_t<IsConst, const Region, Region> |
Definition at line 251 of file traverser.hpp.
|
defaultnoexcept |
|
explicit |
Definition at line 256 of file traverser.cpp.
|
inline |
Definition at line 265 of file traverser.hpp.
|
inline |
Definition at line 271 of file traverser.hpp.
|
private |
Definition at line 275 of file traverser.cpp.
|
private |
Definition at line 288 of file traverser.cpp.
| BottomUpTraverserGeneric< IsConst >::NodeType * jlm::rvsdg::detail::BottomUpTraverserGeneric< IsConst >::next |
Definition at line 302 of file traverser.cpp.
|
private |
Definition at line 362 of file traverser.cpp.
|
private |
Definition at line 344 of file traverser.cpp.
|
private |
Definition at line 397 of file traverser.cpp.
|
private |
Definition at line 314 of file traverser.cpp.
|
private |
Definition at line 322 of file traverser.cpp.
|
friend |
Definition at line 235 of file traverser.hpp.
|
private |
Definition at line 299 of file traverser.hpp.
|
private |
Definition at line 298 of file traverser.hpp.