Jlm
add-sinks.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_ADD_SINKS_HPP
7 #define JLM_HLS_BACKEND_RVSDG2RHLS_ADD_SINKS_HPP
8 
10 
11 namespace jlm::rvsdg
12 {
13 class Region;
14 }
15 
16 namespace jlm::hls
17 {
18 
23 {
24 public:
25  ~SinkInsertion() noexcept override;
26 
29  {}
30 
31  void
32  Run(rvsdg::RvsdgModule & module, util::StatisticsCollector & statisticsCollector) override;
33 
34  static void
35  CreateAndRun(rvsdg::RvsdgModule & module, util::StatisticsCollector & statisticsCollector);
36 
37 private:
38  static void
40 
41  static void
43 };
44 
45 }
46 
47 #endif // JLM_HLS_BACKEND_RVSDG2RHLS_ADD_SINKS_HPP
void Run(rvsdg::RvsdgModule &module, util::StatisticsCollector &statisticsCollector) override
Perform RVSDG transformation.
Definition: add-sinks.cpp:16
static void AddSinksToRegion(rvsdg::Region &region)
Definition: add-sinks.cpp:46
~SinkInsertion() noexcept override
static void HandleRootRegion(rvsdg::Region &region)
Definition: add-sinks.cpp:31
static void CreateAndRun(rvsdg::RvsdgModule &module, util::StatisticsCollector &statisticsCollector)
Definition: add-sinks.cpp:22
Represent acyclic RVSDG subgraphs.
Definition: region.hpp:213
Represents an RVSDG transformation.