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

daisytuner / sdfglib / 18625138218

16 Oct 2025 02:58PM UTC coverage: 61.539% (+0.3%) from 61.233%
18625138218

push

github

web-flow
FlopAnalysis on SDFGs to create an expression of used FLOPs (#280)

* Added FlopAnalysis to create an expression of used FLOPs

* Added FlopAnalysis to instrumentation codegen

* Better test cases & explore children of while loops

* Format fix

* Replace loop indvars by assumptions (upper_bound - lower_bound) / 2

* Use assumption analysis instead of loop analysis

* Safe instrumentation for -O0

122 of 157 new or added lines in 6 files covered. (77.71%)

1 existing line in 1 file now uncovered.

9117 of 14815 relevant lines covered (61.54%)

99.5 hits per line

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

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

3
namespace sdfg {
4
namespace codegen {
5

6
NodeDispatcher::NodeDispatcher(
48✔
7
    LanguageExtension& language_extension,
8
    StructuredSDFG& sdfg,
9
    structured_control_flow::ControlFlowNode& node,
10
    InstrumentationPlan& instrumentation_plan
11
)
12
    : node_(node), language_extension_(language_extension), sdfg_(sdfg), instrumentation_plan_(instrumentation_plan) {};
48✔
13

14
bool NodeDispatcher::begin_node(PrettyPrinter& stream) { return false; };
23✔
15

16
void NodeDispatcher::end_node(PrettyPrinter& stream, bool applied) {
23✔
17

18
};
23✔
19

20
void NodeDispatcher::
21
    dispatch(PrettyPrinter& main_stream, PrettyPrinter& globals_stream, CodeSnippetFactory& library_snippet_factory) {
23✔
22
    bool applied = begin_node(main_stream);
23✔
23

24
    if (this->instrumentation_plan_.should_instrument(node_)) {
23✔
NEW
25
        this->instrumentation_plan_.begin_instrumentation(node_, main_stream, language_extension_);
×
26
    }
×
27

28
    dispatch_node(main_stream, globals_stream, library_snippet_factory);
23✔
29

30
    if (this->instrumentation_plan_.should_instrument(node_)) {
23✔
NEW
31
        this->instrumentation_plan_.end_instrumentation(node_, main_stream, language_extension_);
×
32
    }
×
33

34
    end_node(main_stream, applied);
23✔
35
};
23✔
36

37
} // namespace codegen
38
} // 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