|
Jlm
|
#include <add-forks.hpp>


Public Member Functions | |
| ~ForkInsertion () noexcept override | |
| ForkInsertion () | |
| void | Run (rvsdg::RvsdgModule &module, util::StatisticsCollector &statisticsCollector) override |
| Perform RVSDG transformation. More... | |
Public Member Functions inherited from jlm::rvsdg::Transformation | |
| virtual | ~Transformation () noexcept |
| Transformation (std::string_view Name) | |
| const std::string_view & | GetName () const noexcept |
| void | Run (RvsdgModule &module) |
| Perform RVSDG transformation. More... | |
Static Public Member Functions | |
| static void | CreateAndRun (rvsdg::RvsdgModule &module, util::StatisticsCollector &statisticsCollector) |
Static Private Member Functions | |
| static void | AddForksToRegion (rvsdg::Region ®ion) |
| static void | AddForkToOutput (rvsdg::Output &output) |
| static bool | IsConstantFork (const rvsdg::Output &output) |
Adds fork nodes for every output that has multiple users to ensure that each output has at most a single user. The original output is connected to the fork's input and each user is connected to one of the fork's outputs.
Definition at line 21 of file add-forks.hpp.
|
overridedefaultnoexcept |
|
inline |
Definition at line 26 of file add-forks.hpp.
|
staticprivate |
Definition at line 30 of file add-forks.cpp.
|
staticprivate |
Definition at line 63 of file add-forks.cpp.
|
static |
Definition at line 21 of file add-forks.cpp.
|
staticprivate |
Definition at line 89 of file add-forks.cpp.
|
overridevirtual |
Perform RVSDG transformation.
| module | RVSDG module the transformation is performed on. |
| statisticsCollector | Statistics collector for collecting transformation statistics. |
Implements jlm::rvsdg::Transformation.
Definition at line 15 of file add-forks.cpp.