docc 0.8.3 (0d44999b)
C++ API Reference
Loading...
Searching...
No Matches
rpc_scheduling_pass.h
Go to the documentation of this file.
1#pragma once
2
3#include <sdfg/passes/pass.h>
5#include <string>
8
9namespace sdfg {
10namespace transformations {
11class Recorder;
12}
13namespace passes {
14namespace scheduler {
15
16class RpcOptimizationPass : public Pass {
17private:
18 std::shared_ptr<rpc::RpcContext> rpc_context_;
20 sdfg::PassReportConsumer* report_ = nullptr;
21 bool enable_fusion_ = true;
22 bool schedule_loops_ = true;
23
24public:
26 std::shared_ptr<rpc::RpcContext> rpc_context,
28 bool enable_fusion = true,
29 bool schedule_loops = true,
30 sdfg::PassReportConsumer* report = nullptr
31 )
32 : rpc_context_(rpc_context), options_(std::move(options)), report_(report), enable_fusion_(enable_fusion),
33 schedule_loops_(schedule_loops) {}
34 ~RpcOptimizationPass() override = default;
35
37
38 std::string name() override { return "RpcOptimizationPass"; }
39};
40
41
42} // namespace scheduler
43} // namespace passes
44} // namespace sdfg
Definition pass_report_consumer.h:9
Definition analysis.h:53
Note: Even though the class references unique_ptr, it will never delete an SDFG it has a reference to...
Definition structured_sdfg_builder.h:44
virtual std::vector< OptionSpec > options()
Definition pass.h:23
bool run_pass(builder::StructuredSDFGBuilder &builder, analysis::AnalysisManager &analysis_manager) override
std::string name() override
Definition rpc_scheduling_pass.h:38
RpcOptimizationPass(std::shared_ptr< rpc::RpcContext > rpc_context, docc::target::TargetOptions options, bool enable_fusion=true, bool schedule_loops=true, sdfg::PassReportConsumer *report=nullptr)
Definition rpc_scheduling_pass.h:25
Records transformation history for replay and analysis.
Definition recorder.h:32
Definition function_builder.h:10
Definition loop_scheduler.h:13
Definition approximate_math.h:12
Definition loop_parallelization.h:8
Definition analysis.h:7
Definition targets.h:14