14 std::unique_ptr<analysis::LoopAnalysis> loop_analysis_;
16 bool allow_init_hoist_;
18 bool allow_prod_into_cons_;
24 bool allow_init_hoist =
true,
25 bool allow_prod_into_cons =
true
28 static std::string
name() {
37 bool allow_init_hoist_;
38 bool allow_prod_into_cons_;
41 MapFusionPass(
bool allow_init_hoist =
true,
bool allow_prod_into_cons =
true)
42 : allow_init_hoist_(allow_init_hoist), allow_prod_into_cons_(allow_prod_into_cons) {
45 std::string
name()
override {
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
bool run_pass(builder::StructuredSDFGBuilder &builder, analysis::AnalysisManager &analysis_manager) override
Definition map_fusion.h:49
std::string name() override
Definition map_fusion.h:45
MapFusionPass(bool allow_init_hoist=true, bool allow_prod_into_cons=true)
Definition map_fusion.h:41
Definition map_fusion.h:13
MapFusion(builder::StructuredSDFGBuilder &builder, analysis::AnalysisManager &analysis_manager, bool allow_init_hoist=true, bool allow_prod_into_cons=true)
bool accept(structured_control_flow::Sequence &node) override
static std::string name()
Definition map_fusion.h:28
A sequential container of control flow nodes.
Definition sequence.h:52
Definition structured_sdfg_visitor.h:53
Definition function_builder.h:10
Definition loop_normal_form.h:8
Definition approximate_math.h:12
Definition control_flow_node.h:16