docc 0.8.3 (0d44999b)
C++ API Reference
Loading...
Searching...
No Matches
scheduling_pass.h
Go to the documentation of this file.
1#pragma once
2
3#include <llvm/IR/PassManager.h>
4#include <llvm/Transforms/Utils/ModuleUtils.h>
5
9
10namespace docc {
11namespace passes {
12
13class SchedulingPass : public llvm::PassInfoMixin<SchedulingPass> {
14private:
15 const sdfg::passes::scheduler::SchedulerRegistry& scheduler_registry_;
16 const bool dump_visualization_;
17 const bool force_synchronous_;
18 bool transfer_opt_;
19 sdfg::PassReportConsumer* const report_ = nullptr;
20
21public:
23 const sdfg::passes::scheduler::SchedulerRegistry& scheduler_registry,
24 bool force_synchronous = false,
25 bool dump_visualization = false,
26 bool transfer_opt = true,
27 sdfg::PassReportConsumer* report = nullptr
28 );
29
31 return true;
32 }
33
34 llvm::PreservedAnalyses run(llvm::Module& Module, llvm::ModuleAnalysisManager& MAM, analysis::AnalysisManager& AM);
35};
36
37} // namespace passes
38} // namespace docc
Definition analysis.h:25
llvm::PreservedAnalyses run(llvm::Module &Module, llvm::ModuleAnalysisManager &MAM, analysis::AnalysisManager &AM)
SchedulingPass(const sdfg::passes::scheduler::SchedulerRegistry &scheduler_registry, bool force_synchronous=false, bool dump_visualization=false, bool transfer_opt=true, sdfg::PassReportConsumer *report=nullptr)
static bool available(analysis::AnalysisManager &AM)
Definition scheduling_pass.h:30
Definition pass_report_consumer.h:9
Definition scheduler_registry.h:13
Definition code_generation_pass.h:14
Definition targets.h:8