Jlm
rhls-dne.hpp
Go to the documentation of this file.
1 /*
2  * Copyright 2021 David Metz <david.c.metz@ntnu.no>
3  * See COPYING for terms of redistribution.
4  */
5 
6 #ifndef JLM_HLS_BACKEND_RVSDG2RHLS_RHLS_DNE_HPP
7 #define JLM_HLS_BACKEND_RVSDG2RHLS_RHLS_DNE_HPP
8 
10 
11 namespace jlm::hls
12 {
13 
15 {
16 public:
17  ~RhlsDeadNodeElimination() noexcept override;
18 
20 
22 
24  operator=(const RhlsDeadNodeElimination &) = delete;
25 
26  void
27  Run(rvsdg::RvsdgModule & rvsdgModule, util::StatisticsCollector & statisticsCollector) override;
28 
29  bool
30  Run(rvsdg::Region & region, util::StatisticsCollector & statisticsCollector);
31 
32  static void
33  CreateAndRun(rvsdg::RvsdgModule & rvsdgModule, util::StatisticsCollector & statisticsCollector)
34  {
35  RhlsDeadNodeElimination deadNoneElimination;
36  deadNoneElimination.Run(rvsdgModule, statisticsCollector);
37  }
38 };
39 
40 } // namespace jlm::hls
41 
42 #endif // JLM_HLS_BACKEND_RVSDG2RHLS_RHLS_DNE_HPP
~RhlsDeadNodeElimination() noexcept override
void Run(rvsdg::RvsdgModule &rvsdgModule, util::StatisticsCollector &statisticsCollector) override
Perform RVSDG transformation.
Definition: rhls-dne.cpp:516
static void CreateAndRun(rvsdg::RvsdgModule &rvsdgModule, util::StatisticsCollector &statisticsCollector)
Definition: rhls-dne.hpp:33
Represent acyclic RVSDG subgraphs.
Definition: region.hpp:213
Represents an RVSDG transformation.