Jlm
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 
10 
11 namespace jlm::rvsdg
12 {
13 class Region;
14 }
15 
16 namespace jlm::hls
17 {
18 
30 {
31 public:
32  ~IOBarrierRemoval() noexcept override;
33 
36  {}
37 
38  void
39  Run(rvsdg::RvsdgModule & module, util::StatisticsCollector & statisticsCollector) override;
40 
41 private:
42  static void
44 };
45 
46 }
47 
48 #endif // JLM_HLS_OPT_IOBARRIERREMOVAL_HPP
Removes all IOBarrier nodes from the RVSDG.
void Run(rvsdg::RvsdgModule &module, util::StatisticsCollector &statisticsCollector) override
Perform RVSDG transformation.
static void RemoveIOBarrierFromRegion(rvsdg::Region &region)
~IOBarrierRemoval() noexcept override
Represent acyclic RVSDG subgraphs.
Definition: region.hpp:213
Represents an RVSDG transformation.