|
Jlm
|
Removes all IOBarrier nodes from the RVSDG. More...
#include <IOBarrierRemoval.hpp>


Public Member Functions | |
| ~IOBarrierRemoval () noexcept override | |
| IOBarrierRemoval () | |
| 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 | RemoveIOBarrierFromRegion (rvsdg::Region ®ion) |
Removes all IOBarrier nodes from the RVSDG.
In HLS, we can safely assume that we will not encounter any undefined behavior. However, this means also that we can relax the sequentialization restrictions on certain operations, such as division or modulo operations, with respect to each other. Ultimately, it means that we can remove IOBarrier nodes from the RVSDG when performing HLS.
Definition at line 29 of file IOBarrierRemoval.hpp.
|
overridedefaultnoexcept |
|
inline |
Definition at line 34 of file IOBarrierRemoval.hpp.
|
staticprivate |
Definition at line 24 of file IOBarrierRemoval.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 18 of file IOBarrierRemoval.cpp.