docc 0.8.3 (0d44999b)
C++ API Reference
Loading...
Searching...
No Matches
argument_expansion_pass.h
Go to the documentation of this file.
1#pragma once
2
3#include <llvm/IR/Analysis.h>
4#include <llvm/IR/PassManager.h>
5#include <llvm/Transforms/Utils/ModuleUtils.h>
6
9
12
13namespace docc {
14namespace passes {
15
16class ArgumentExpansionPass : public llvm::PassInfoMixin<ArgumentExpansionPass> {
17private:
18 bool expand_arguments(
20 sdfg::analysis::AnalysisManager& analysis_manager,
21 const std::string& callee_name,
22 const docc::analysis::Attributes& attributes,
23 const std::string& target = "EXTERNAL"
24 );
25
26public:
30
31 llvm::PreservedAnalyses run(llvm::Module& Module, llvm::ModuleAnalysisManager& MAM, analysis::AnalysisManager& AM);
32};
33
34} // namespace passes
35} // namespace docc
Definition analysis.h:25
static bool is_link_time(AnalysisManager &WPAM)
Definition argument_expansion_pass.h:16
static bool available(analysis::AnalysisManager &AM)
Definition argument_expansion_pass.h:27
llvm::PreservedAnalyses run(llvm::Module &Module, llvm::ModuleAnalysisManager &MAM, analysis::AnalysisManager &AM)
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
Definition code_generation_pass.h:14
Definition targets.h:12
Definition targets.h:8
Definition function_builder.h:10
Definition attributes.h:25