Jlm
alloca-conv.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_ALLOCA_CONV_HPP
7 #define JLM_BACKEND_HLS_RVSDG2RHLS_ALLOCA_CONV_HPP
8 
10 
11 namespace jlm::hls
12 {
13 
15 {
16 public:
17  ~AllocaNodeConversion() noexcept override;
18 
20 
22 
24  operator=(const AllocaNodeConversion &) = delete;
25 
26  void
27  Run(rvsdg::RvsdgModule & rvsdgModule, util::StatisticsCollector & statisticsCollector) override;
28 
29  static void
30  CreateAndRun(rvsdg::RvsdgModule & rvsdgModule, util::StatisticsCollector & statisticsCollector)
31  {
32  AllocaNodeConversion allocaNodeConversion;
33  allocaNodeConversion.Run(rvsdgModule, statisticsCollector);
34  }
35 };
36 
37 } // namespace jlm::hls
38 
39 #endif // JLM_BACKEND_HLS_RVSDG2RHLS_ALLOCA_CONV_HPP
static void CreateAndRun(rvsdg::RvsdgModule &rvsdgModule, util::StatisticsCollector &statisticsCollector)
Definition: alloca-conv.hpp:30
void Run(rvsdg::RvsdgModule &rvsdgModule, util::StatisticsCollector &statisticsCollector) override
Perform RVSDG transformation.
~AllocaNodeConversion() noexcept override
Represents an RVSDG transformation.