Jlm
jlm
hls
opt
IOBarrierRemoval.hpp
Go to the documentation of this file.
1
/*
2
* Copyright 2025 Nico Reißmann <nico.reissmann@gmail.com>
3
* See COPYING for terms of redistribution.
4
*/
5
6
#ifndef JLM_HLS_OPT_IOBARRIERREMOVAL_HPP
7
#define JLM_HLS_OPT_IOBARRIERREMOVAL_HPP
8
9
#include <
jlm/rvsdg/Transformation.hpp
>
10
11
namespace
jlm::rvsdg
12
{
13
class
Region;
14
}
15
16
namespace
jlm::hls
17
{
18
29
class
IOBarrierRemoval
final :
public
rvsdg::Transformation
30
{
31
public
:
32
~IOBarrierRemoval
() noexcept override;
33
34
IOBarrierRemoval
()
35
:
Transformation
("
IOBarrierRemoval
")
36
{}
37
38
void
39
Run
(
rvsdg::RvsdgModule
& module,
util::StatisticsCollector
& statisticsCollector)
override
;
40
41
private
:
42
static
void
43
RemoveIOBarrierFromRegion
(
rvsdg::Region
& region);
44
};
45
46
}
47
48
#endif
// JLM_HLS_OPT_IOBARRIERREMOVAL_HPP
Transformation.hpp
jlm::hls::IOBarrierRemoval
Removes all IOBarrier nodes from the RVSDG.
Definition:
IOBarrierRemoval.hpp:30
jlm::hls::IOBarrierRemoval::Run
void Run(rvsdg::RvsdgModule &module, util::StatisticsCollector &statisticsCollector) override
Perform RVSDG transformation.
Definition:
IOBarrierRemoval.cpp:18
jlm::hls::IOBarrierRemoval::RemoveIOBarrierFromRegion
static void RemoveIOBarrierFromRegion(rvsdg::Region ®ion)
Definition:
IOBarrierRemoval.cpp:24
jlm::hls::IOBarrierRemoval::~IOBarrierRemoval
~IOBarrierRemoval() noexcept override
jlm::rvsdg::Region
Represent acyclic RVSDG subgraphs.
Definition:
region.hpp:213
jlm::rvsdg::RvsdgModule
Definition:
RvsdgModule.hpp:20
jlm::rvsdg::Transformation
Represents an RVSDG transformation.
Definition:
Transformation.hpp:21
jlm::util::StatisticsCollector
Definition:
Statistics.hpp:432
jlm::hls
Definition:
FirrtlToVerilogConverter.cpp:18
jlm::rvsdg
Definition:
add-sinks.hpp:12
Generated by
1.9.1