Jlm
UnusedStateRemoval.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_UNUSEDSTATEREMOVAL_HPP
7 #define JLM_HLS_BACKEND_RVSDG2RHLS_UNUSEDSTATEREMOVAL_HPP
8 
10 
11 namespace jlm::hls
12 {
13 
22 {
23 public:
24  ~UnusedStateRemoval() noexcept override;
25 
27 
29 
31 
33  operator=(const UnusedStateRemoval &) = delete;
34 
36  operator=(UnusedStateRemoval &&) = delete;
37 
38  void
39  Run(rvsdg::RvsdgModule & rvsdgModule, util::StatisticsCollector & statisticsCollector) override;
40 
41  static void
42  CreateAndRun(rvsdg::RvsdgModule & rvsdgModule, util::StatisticsCollector & statisticsCollector)
43  {
44  UnusedStateRemoval unusedStateRemoval;
45  unusedStateRemoval.Run(rvsdgModule, statisticsCollector);
46  }
47 };
48 
49 }
50 
51 #endif // JLM_HLS_BACKEND_RVSDG2RHLS_UNUSEDSTATEREMOVAL_HPP
~UnusedStateRemoval() noexcept override
void Run(rvsdg::RvsdgModule &rvsdgModule, util::StatisticsCollector &statisticsCollector) override
Perform RVSDG transformation.
static void CreateAndRun(rvsdg::RvsdgModule &rvsdgModule, util::StatisticsCollector &statisticsCollector)
Represents an RVSDG transformation.