docc 0.8.3 (0d44999b)
C++ API Reference
Loading...
Searching...
No Matches
allocation_management.h
Go to the documentation of this file.
1#pragma once
2
3#include "sdfg/passes/pass.h"
5
6namespace sdfg {
7namespace passes {
8
10private:
11 bool can_be_applied_allocation(data_flow::DataFlowGraph& graph, data_flow::LibraryNode& library_node);
12
13 void apply_allocation(data_flow::DataFlowGraph& graph, data_flow::LibraryNode& library_node);
14
15 bool can_be_applied_deallocation(data_flow::DataFlowGraph& graph, data_flow::LibraryNode& library_node);
16
17 void apply_deallocation(data_flow::DataFlowGraph& graph, data_flow::LibraryNode& library_node);
18
19public:
21
22 static std::string name() {
23 return "AllocationManagement";
24 };
25
27};
28
30
31} // namespace passes
32} // namespace sdfg
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 data_flow_graph.h:29
Base class for all library nodes in the dataflow graph.
Definition library_node.h:106
static std::string name()
Definition allocation_management.h:22
bool accept(structured_control_flow::Block &node) override
AllocationManagement(builder::StructuredSDFGBuilder &builder, analysis::AnalysisManager &analysis_manager)
Definition pass.h:55
A control flow node representing a basic block with dataflow computations.
Definition block.h:42
Definition structured_sdfg_visitor.h:53
Definition function_builder.h:10
Definition graph.h:22
Definition approximate_math.h:12
VisitorPass< AllocationManagement > AllocationManagementPass
Definition allocation_management.h:29
Definition analysis.h:7