37 bool applied_ =
false;
38 bool require_consecutive_ =
true;
42 bool allow_init_hoist_ =
true;
44 bool allow_prod_into_cons_;
47 std::vector<passes::loop_fusion::FusionRegCandidate> fusion_candidates_;
50 std::vector<structured_control_flow::StructuredLoop*> producer_loops_;
54 std::vector<structured_control_flow::StructuredLoop*> consumer_loops_;
61 bool init_hoist_ =
false;
73 bool find_write_location(
75 const std::string& container,
76 std::vector<structured_control_flow::StructuredLoop*>& loops,
89 bool find_read_location(
91 const std::string& container,
92 std::vector<structured_control_flow::StructuredLoop*>& loops,
108 bool require_consecutive =
true,
109 bool allow_init_hoist =
true,
110 bool allow_prod_into_cons =
true
119 virtual std::string
name()
const override;
146 virtual void to_json(nlohmann::json& j)
const override;
160 std::unordered_map<std::string, const data_flow::Subset*>& target_containers_;
161 std::unordered_map<std::string, std::vector<data_flow::Subset>> unique_subsets_per_container_;
184 const std::vector<passes::loop_fusion::FusionRegCandidate>& fusion_candidates_;
185 const std::vector<std::string>& candidate_temps_;
190 const std::vector<passes::loop_fusion::FusionRegCandidate>& fusion_candidates,
191 const std::vector<std::string>& candidate_temps
Symbol assumptions for reasoning about bounds, constness, and evolution.
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
FusionDirection
Definition loop_fusion_by_accesses.h:15
A control flow node representing a basic block with dataflow computations.
Definition block.h:42
Represents a conditional if-else control flow node with multiple cases.
Definition if_else.h:47
Represents a parallel map loop with configurable scheduling.
Definition map.h:47
A sequential container of control flow nodes.
Definition sequence.h:52
Base class for structured loop constructs.
Definition structured_loop.h:244
Visitor for Structured SDFG (not a builder).
Definition structured_sdfg_visitor.h:71
Definition function_builder.h:10