#include <remove-redundant-buf.hpp>
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.
◆ ~RedundantBufferElimination()
| jlm::hls::RedundantBufferElimination::~RedundantBufferElimination |
( |
| ) |
|
|
overridedefaultnoexcept |
◆ RedundantBufferElimination()
| jlm::hls::RedundantBufferElimination::RedundantBufferElimination |
( |
| ) |
|
|
inline |
◆ CanTraceToLoadOrStore()
| bool jlm::hls::RedundantBufferElimination::CanTraceToLoadOrStore |
( |
const rvsdg::Output & |
output | ) |
|
|
staticprivate |
◆ CreateAndRun()
◆ HandleRegion()
| void jlm::hls::RedundantBufferElimination::HandleRegion |
( |
rvsdg::Region & |
region | ) |
|
|
staticprivate |
◆ Run()
Perform RVSDG transformation.
- Note
- This method is expected to be called multiple times. An implementation is required to reset the objects' internal state to ensure correct behavior after every invocation.
- Parameters
-
| 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.
The documentation for this class was generated from the following files: