docc 0.8.3 (0d44999b)
C++ API Reference
Loading...
Searching...
No Matches
dump_attributes_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#include <string>
10
16
17namespace docc {
18namespace passes {
19
20class DumpAttributesPass : public llvm::PassInfoMixin<DumpAttributesPass> {
21public:
23 return true;
24 }
25
26 llvm::PreservedAnalyses run(llvm::Module& Module, llvm::ModuleAnalysisManager& MAM, analysis::AnalysisManager& AM);
27};
28
30private:
32
33 sdfg::data_flow::AccessNode* get_in_access(sdfg::data_flow::CodeNode* node, const std::string& conn);
34 sdfg::data_flow::AccessNode* get_out_access(sdfg::data_flow::CodeNode* node, const std::string& conn);
35
36 void debug_print(const std::string& argument, const analysis::ArgumentAttributes& attrs);
37
38 void set_argument_attributes(
40 const std::string& copy_target,
41 const std::string& copy_buffer,
42 const sdfg::symbolic::Expression& copy_size,
43 bool copy_in,
44 bool copy_out,
45 bool alloc,
46 bool free
47 );
48
49protected:
50 void run(sdfg::analysis::AnalysisManager& analysis_manager) override;
51
52public:
54
55 std::string name() const override;
56
58
60};
61
62} // namespace passes
63} // namespace docc
Access nodes for reading/writing data in the dataflow graph.
Definition analysis.h:25
const analysis::Attributes & get()
static analysis::ArgumentAttributes empty()
AttributesAnalysis(sdfg::StructuredSDFG &sdfg)
void run(sdfg::analysis::AnalysisManager &analysis_manager) override
std::string name() const override
Definition dump_attributes_pass.h:20
llvm::PreservedAnalyses run(llvm::Module &Module, llvm::ModuleAnalysisManager &MAM, analysis::AnalysisManager &AM)
static bool available(analysis::AnalysisManager &AM)
Definition dump_attributes_pass.h:22
Definition structured_sdfg.h:30
Definition analysis.h:53
Definition analysis.h:12
Node representing access to a data container in the dataflow graph.
Definition access_node.h:84
Base class for computational nodes with inputs and outputs.
Definition code_node.h:88
Base class for computational nodes in the dataflow graph.
SymEngine::RCP< const SymEngine::Basic > Expression
Reference-counted pointer to a symbolic expression (SymEngine Basic).
Definition symbolic.h:83
Definition code_generation_pass.h:14
Definition targets.h:8
Definition analysis.h:7
Definition attributes.h:15
Definition attributes.h:25
Symbolic system for integer-based symbol analysis.