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

daisytuner / sdfglib / 15142284085

20 May 2025 03:58PM UTC coverage: 60.528% (-0.02%) from 60.543%
15142284085

push

github

web-flow
Merge pull request #23 from daisytuner/loops

LoopTrees and Instrumentation Strategies

80 of 182 new or added lines in 17 files covered. (43.96%)

11 existing lines in 6 files now uncovered.

7928 of 13098 relevant lines covered (60.53%)

104.16 hits per line

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

0.0
/src/codegen/instrumentation/outermost_loops_instrumentation.cpp
1
#include "sdfg/codegen/instrumentation/outermost_loops_instrumentation.h"
2

3
#include "sdfg/analysis/loop_tree_analysis.h"
4

5
namespace sdfg {
6
namespace codegen {
7

NEW
8
OutermostLoopsInstrumentation::OutermostLoopsInstrumentation(Schedule& schedule)
×
NEW
9
    : Instrumentation(schedule) {
×
NEW
10
        auto& analysis_manager = schedule.analysis_manager();
×
NEW
11
        auto& loop_tree_analysis = analysis_manager.get<analysis::LoopTreeAnalysis>();
×
NEW
12
        auto ols = loop_tree_analysis.outermost_loops();
×
NEW
13
        for (auto loop : ols) {
×
NEW
14
            this->outermost_loops_.insert(loop);
×
15
        }
NEW
16
    }
×
17

NEW
18
bool OutermostLoopsInstrumentation::should_instrument(const structured_control_flow::ControlFlowNode& node) const {
×
NEW
19
    return this->outermost_loops_.count(&node);
×
20
}
21

NEW
22
void OutermostLoopsInstrumentation::begin_instrumentation(const structured_control_flow::ControlFlowNode& node, PrettyPrinter& stream) const {
×
NEW
23
    stream << "__daisy_instrument_enter();" << std::endl;
×
NEW
24
}
×
25

NEW
26
void OutermostLoopsInstrumentation::end_instrumentation(const structured_control_flow::ControlFlowNode& node, PrettyPrinter& stream) const {
×
NEW
27
    stream << "__daisy_instrument_exit(";
×
NEW
28
    stream << "\"" << schedule_.sdfg().name() << "_" << node.name() << "\", ";
×
NEW
29
    stream << "\"" << node.debug_info().filename() << "\", ";
×
NEW
30
    stream << node.debug_info().start_line() << ", ";
×
NEW
31
    stream << node.debug_info().end_line() << ", ";
×
NEW
32
    stream << node.debug_info().start_column() << ", ";
×
NEW
33
    stream << node.debug_info().end_column() << ");" << std::endl;
×
NEW
34
}
×
35

36
}
37
}
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