Jlm
merge-gamma.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_BACKEND_HLS_RVSDG2RHLS_MERGE_GAMMA_HPP
7 #define JLM_BACKEND_HLS_RVSDG2RHLS_MERGE_GAMMA_HPP
8 
10 
11 namespace jlm::hls
12 {
13 
14 class GammaMerge final : public rvsdg::Transformation
15 {
16 public:
17  ~GammaMerge() noexcept override;
18 
19  GammaMerge();
20 
21  GammaMerge(const GammaMerge &) = delete;
22 
23  GammaMerge(GammaMerge &&) = delete;
24 
25  GammaMerge &
26  operator=(const GammaMerge &) = delete;
27 
28  GammaMerge &
29  operator=(GammaMerge &&) = delete;
30 
31  void
32  Run(rvsdg::RvsdgModule & rvsdgModule, util::StatisticsCollector & statisticsCollector) override;
33 
34  static void
35  CreateAndRun(rvsdg::RvsdgModule & rvsdgModule, util::StatisticsCollector & statisticsCollector)
36  {
37  GammaMerge gammaMerge;
38  gammaMerge.Run(rvsdgModule, statisticsCollector);
39  }
40 };
41 
42 }
43 
44 #endif // JLM_BACKEND_HLS_RVSDG2RHLS_MERGE_GAMMA_HPP
void Run(rvsdg::RvsdgModule &rvsdgModule, util::StatisticsCollector &statisticsCollector) override
Perform RVSDG transformation.
~GammaMerge() noexcept override
static void CreateAndRun(rvsdg::RvsdgModule &rvsdgModule, util::StatisticsCollector &statisticsCollector)
Definition: merge-gamma.hpp:35
Represents an RVSDG transformation.