|
Jlm
|
#include <IOStateElimination.hpp>


Public Member Functions | |
| ~IOStateElimination () noexcept override | |
| IOStateElimination () | |
| IOStateElimination (const IOStateElimination &)=delete | |
| IOStateElimination & | operator= (const IOStateElimination &)=delete |
| 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 Private Member Functions | |
| static void | eliminateIOStates (rvsdg::Region ®ion, rvsdg::Output &ioStateArgument) |
This pass ensures that all IO state outputs in the graph become dead by making the IO state inputs of all nodes directly dependent on the IO state argument of the lambda nodes. This effectively renders all nodes independent with respect to IO states.
FIXME: This pass is misnamed. FIXME: We might want to merge this pass with the jlm::hls::IOBarrierRemoval transformation
Definition at line 28 of file IOStateElimination.hpp.
|
overridedefaultnoexcept |
|
inline |
Definition at line 33 of file IOStateElimination.hpp.
|
delete |
|
staticprivate |
Definition at line 14 of file IOStateElimination.cpp.
|
delete |
|
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 43 of file IOStateElimination.cpp.