|
Jlm
|
#include <remove-redundant-buf.hpp>


Public Member Functions | |
| ~RedundantBufferElimination () noexcept override | |
| RedundantBufferElimination () | |
| void | Run (rvsdg::RvsdgModule &module, util::StatisticsCollector &statisticsCollector) override |
| Perform RVSDG transformation. | |
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. | |
Static Public Member Functions | |
| static void | CreateAndRun (rvsdg::RvsdgModule &module, util::StatisticsCollector &statisticsCollector) |
Static Private Member Functions | |
| static void | HandleRegion (rvsdg::Region ®ion) |
| static bool | CanTraceToLoadOrStore (const rvsdg::Output &output) |
Replace BufferOperation nodes with jlm::llvm::MemoryStateType operands that can be traced to a LoadOperation, LocalLoadOperation, StoreOperation, or LocalStoreOperation with a passthrough BufferOperation node.
FIXME: This pass should be renamed as it technically does not eliminate BufferOperations, but just converts them to passthrough BufferOperations
Definition at line 28 of file remove-redundant-buf.hpp.
|
overridedefaultnoexcept |
|
inline |
Definition at line 33 of file remove-redundant-buf.hpp.
|
staticprivate |
Definition at line 69 of file remove-redundant-buf.cpp.
|
static |
Definition at line 22 of file remove-redundant-buf.cpp.
|
staticprivate |
Definition at line 31 of file remove-redundant-buf.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 16 of file remove-redundant-buf.cpp.