• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

daisytuner / docc / 23087278095

14 Mar 2026 11:44AM UTC coverage: 63.927% (+0.3%) from 63.617%
23087278095

push

github

web-flow
Merge pull request #568 from daisytuner/dead-data-elimination

Working on memory ownership & escape analysis

475 of 637 new or added lines in 28 files covered. (74.57%)

6 existing lines in 3 files now uncovered.

26010 of 40687 relevant lines covered (63.93%)

402.05 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/sdfg/src/passes/transformations/map_fusion_pass.cpp
1
#include "sdfg/passes/transformations/map_fusion_pass.h"
2

3
#include "sdfg/transformations/map_fusion.h"
4

5
namespace sdfg {
6
namespace passes {
7

8
MapFusion::MapFusion(builder::StructuredSDFGBuilder& builder, analysis::AnalysisManager& analysis_manager)
9
    : visitor::NonStoppingStructuredSDFGVisitor(builder, analysis_manager) {}
×
10

11
bool MapFusion::accept(structured_control_flow::Sequence& node) {
×
12
    bool applied = false;
×
13

14
    if (node.size() < 2) {
×
15
        return applied;
×
16
    }
×
17

18
    // Iterate over sequence looking for consecutive (Map, StructuredLoop) pairs
19
    size_t i = 0;
×
20
    while (i + 1 < node.size()) {
×
21
        auto* first = dynamic_cast<structured_control_flow::Map*>(&node.at(i).first);
×
22
        auto* second = dynamic_cast<structured_control_flow::StructuredLoop*>(&node.at(i + 1).first);
×
23

NEW
24
        if (first && second && first->root().size() > 0 && second->root().size() > 0) {
×
25
            transformations::MapFusion transformation(*first, *second);
×
26
            if (transformation.can_be_applied(builder_, analysis_manager_)) {
×
27
                transformation.apply(builder_, analysis_manager_);
×
28
                applied = true;
×
29
                std::cout << "Applied MapFusion to maps " << first->indvar()->get_name() << " and "
×
30
                          << second->indvar()->get_name() << std::endl;
×
31
            }
×
32
        }
×
33

34
        i++;
×
35
    }
×
36

37
    return applied;
×
38
}
×
39

40
} // namespace passes
41
} // namespace sdfg
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc