docc 0.8.3 (0d44999b)
C++ API Reference
Loading...
Searching...
No Matches
readonly_transfer_hoisting_pass.h
Go to the documentation of this file.
1#pragma once
2
3#include <cstddef>
4#include <set>
5#include <string>
6#include <utility>
7
10#include "sdfg/passes/pass.h"
14
15namespace sdfg {
16namespace passes {
17
19private:
20 std::pair<structured_control_flow::Sequence*, size_t> get_first_location(
22 analysis::AnalysisManager& analysis_manager,
23 const std::string& container
24 );
25
26 bool move_readonly_transfer(
28 analysis::AnalysisManager& analysis_manager,
29 const std::string& container,
31 size_t index,
32 std::set<size_t>& visisted
33 );
34
35 long long find_matching_free_block(
38 offloading::DataOffloadingNode* offloading_node
39 );
40
41 std::pair<structured_control_flow::Sequence*, size_t> get_safe_location(
43 analysis::AnalysisManager& analysis_manager,
45 size_t index,
47 offloading::DataOffloadingNode* offloading_node
48 );
49
50 std::pair<structured_control_flow::Sequence*, size_t> correct_location(
52 size_t index,
53 const std::vector<std::pair<structured_control_flow::Sequence*, size_t>>& parents
54 );
55 std::vector<std::pair<structured_control_flow::Sequence*, size_t>> get_parents(structured_control_flow::Block* block);
56
57public:
58 virtual std::string name() override;
59
61};
62
63} // namespace passes
64} // 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
Name does not match current function.
Definition data_offloading_node.h:49
Definition readonly_transfer_hoisting_pass.h:18
virtual bool run_pass(builder::StructuredSDFGBuilder &builder, analysis::AnalysisManager &analysis_manager) override
virtual std::string name() override
A control flow node representing a basic block with dataflow computations.
Definition block.h:42
A sequential container of control flow nodes.
Definition sequence.h:52
Definition function_builder.h:10
Definition approximate_math.h:12
Definition analysis.h:7