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

daisytuner / docc / 30543265435

30 Jul 2026 12:36PM UTC coverage: 64.549% (-0.2%) from 64.738%
30543265435

Pull #913

github

web-flow
Merge 6970d8cbe into 4a519a416
Pull Request #913: delegates instrumentation event type decision to specific node dispat…

17 of 236 new or added lines in 25 files covered. (7.2%)

7 existing lines in 7 files now uncovered.

44347 of 68703 relevant lines covered (64.55%)

714.95 hits per line

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

70.97
/sdfg/src/codegen/dispatchers/node_dispatcher.cpp
1
#include "sdfg/codegen/dispatchers/node_dispatcher.h"
2

3
#include "sdfg/analysis/loop_analysis.h"
4
#include "sdfg/codegen/instrumentation/instrumentation_info.h"
5

6
namespace sdfg {
7
namespace codegen {
8

9
NodeDispatcher::NodeDispatcher(
10
    LanguageExtension& language_extension,
11
    StructuredSDFG& sdfg,
12
    analysis::AnalysisManager& analysis_manager,
13
    structured_control_flow::ControlFlowNode& node,
14
    InstrumentationPlan& instrumentation_plan,
15
    ArgCapturePlan& arg_capture_plan
16
)
17
    : node_(node), language_extension_(language_extension), sdfg_(sdfg), analysis_manager_(analysis_manager),
103✔
18
      instrumentation_plan_(instrumentation_plan), arg_capture_plan_(arg_capture_plan) {};
103✔
19

20
bool NodeDispatcher::begin_node(PrettyPrinter& stream) { return false; };
65✔
21

22
void NodeDispatcher::end_node(PrettyPrinter& stream, bool applied) {};
65✔
23

24
InstrumentationInfo NodeDispatcher::instrumentation_info() const {
×
NEW
25
    return InstrumentationInfo(
×
NEW
26
        node_.element_id(), node_.element_type(), TargetType_SEQUENTIAL, InstrumentationEventType::NONE
×
NEW
27
    );
×
UNCOV
28
};
×
29

30
void NodeDispatcher::
31
    dispatch(PrettyPrinter& main_stream, PrettyPrinter& globals_stream, CodeSnippetFactory& library_snippet_factory) {
65✔
32
    bool applied = begin_node(main_stream);
65✔
33

34
    if (this->arg_capture_plan_.should_instrument(node_)) {
65✔
35
        this->arg_capture_plan_.begin_instrumentation(node_, main_stream, language_extension_);
×
36
    }
×
37

38
    bool should_instrument = this->instrumentation_plan_.should_instrument(node_);
65✔
39
    std::optional<InstrumentationInfo> instrumentation_info;
65✔
40
    if (should_instrument) {
65✔
41
        instrumentation_info = this->instrumentation_info();
1✔
42
        this->instrumentation_plan_
1✔
43
            .begin_instrumentation(node_, main_stream, language_extension_, instrumentation_info.value());
1✔
44
    }
1✔
45

46
    dispatch_node(main_stream, globals_stream, library_snippet_factory);
65✔
47

48
    if (should_instrument) {
65✔
49
        this->instrumentation_plan_
1✔
50
            .end_instrumentation(node_, main_stream, language_extension_, instrumentation_info.value());
1✔
51
    }
1✔
52

53
    if (this->arg_capture_plan_.should_instrument(node_)) {
65✔
54
        this->arg_capture_plan_.end_instrumentation(node_, main_stream, language_extension_);
×
55
    }
×
56

57
    end_node(main_stream, applied);
65✔
58
};
65✔
59

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

© 2026 Coveralls, Inc