docc 0.8.3 (0d44999b)
C++ API Reference
Loading...
Searching...
No Matches
opt_report_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 OPTReportPass : public llvm::PassInfoMixin<OPTReportPass> {
14private:
15 std::shared_ptr<docc::passes::PassReportCollector> report_;
16
17public:
18 explicit OPTReportPass(std::shared_ptr<docc::passes::PassReportCollector> report) : report_(std::move(report)) {
19 }
20
22 return true;
23 }
24
25 llvm::PreservedAnalyses run(llvm::Module& Module, llvm::ModuleAnalysisManager& MAM, analysis::AnalysisManager& AM);
26};
27
28} // namespace passes
29} // namespace docc
Definition analysis.h:25
static bool available(analysis::AnalysisManager &AM)
Definition opt_report_pass.h:21
OPTReportPass(std::shared_ptr< docc::passes::PassReportCollector > report)
Definition opt_report_pass.h:18
llvm::PreservedAnalyses run(llvm::Module &Module, llvm::ModuleAnalysisManager &MAM, analysis::AnalysisManager &AM)
Definition code_generation_pass.h:14
Definition targets.h:8