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

daisytuner / sdfglib / 20498791379

24 Dec 2025 12:27PM UTC coverage: 39.109% (+0.05%) from 39.061%
20498791379

push

github

web-flow
Merge pull request #406 from daisytuner/loop-info-inst

move loopnest index into loop info

13537 of 44946 branches covered (30.12%)

Branch coverage included in aggregate %.

15 of 46 new or added lines in 9 files covered. (32.61%)

1 existing line in 1 file now uncovered.

11669 of 19504 relevant lines covered (59.83%)

84.09 hits per line

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

39.66
/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(
56✔
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),
112✔
18
      instrumentation_plan_(instrumentation_plan), arg_capture_plan_(arg_capture_plan) {};
168✔
19

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

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

24
InstrumentationInfo NodeDispatcher::instrumentation_info() const {
×
NEW
25
    return InstrumentationInfo(node_.element_id(), ElementType_Unknown, TargetType_SEQUENTIAL);
×
26
};
×
27

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

32
    if (this->arg_capture_plan_.should_instrument(node_)) {
31!
33
        this->arg_capture_plan_.begin_instrumentation(node_, main_stream, language_extension_);
×
34
    }
×
35

36
    bool should_instrument = this->instrumentation_plan_.should_instrument(node_);
31✔
37
    std::optional<InstrumentationInfo> instrumentation_info;
31✔
38
    if (should_instrument) {
31!
39
        instrumentation_info = this->instrumentation_info();
×
40
        this->instrumentation_plan_
×
41
            .begin_instrumentation(node_, main_stream, language_extension_, instrumentation_info.value());
×
42
    }
×
43

44
    dispatch_node(main_stream, globals_stream, library_snippet_factory);
31!
45

46
    if (should_instrument) {
31!
47
        this->instrumentation_plan_
×
48
            .end_instrumentation(node_, main_stream, language_extension_, instrumentation_info.value());
×
49
    }
×
50

51
    if (this->arg_capture_plan_.should_instrument(node_)) {
31!
52
        this->arg_capture_plan_.end_instrumentation(node_, main_stream, language_extension_);
×
53
    }
×
54

55
    end_node(main_stream, applied);
31!
56
};
31✔
57

58
} // namespace codegen
59
} // 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

© 2025 Coveralls, Inc