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

daisytuner / sdfglib / 20844345261

09 Jan 2026 07:17AM UTC coverage: 62.448% (+0.07%) from 62.374%
20844345261

push

github

web-flow
Faster block sorting (#440)

Reduced runtime of CodeMotion pipeline from 104323 ms to 71224 ms on 'cloudsc_c'.

104 of 153 new or added lines in 2 files covered. (67.97%)

6 existing lines in 1 file now uncovered.

15070 of 24132 relevant lines covered (62.45%)

88.89 hits per line

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

0.0
/include/sdfg/passes/code_motion/block_sorting.h
1
#pragma once
2

3
#include <string>
4
#include <utility>
5

6
#include "sdfg/analysis/analysis.h"
7
#include "sdfg/builder/structured_sdfg_builder.h"
8
#include "sdfg/data_flow/library_node.h"
9
#include "sdfg/passes/pass.h"
10
#include "sdfg/structured_control_flow/block.h"
11
#include "sdfg/structured_control_flow/control_flow_node.h"
12
#include "sdfg/structured_control_flow/sequence.h"
13

14
namespace sdfg {
15
namespace passes {
16

17
class BlockSortingPass : public Pass {
18
protected:
19
    virtual bool is_libnode_side_effect_white_listed(data_flow::LibraryNode* libnode);
20

21
    virtual bool can_be_bubbled_up(structured_control_flow::Block& block);
22
    virtual bool can_be_bubbled_down(structured_control_flow::Block& block);
23

24
    virtual std::pair<int, std::string> get_prio_and_order(structured_control_flow::Block* block);
25

26
    bool is_reference_block(structured_control_flow::Block& block);
27

28
    bool is_libnode_block(structured_control_flow::Block& next_block);
29

30
public:
NEW
31
    virtual std::string name() override { return "BlockSorting"; }
×
32

33
    bool bubble_up(
34
        builder::StructuredSDFGBuilder& builder,
35
        analysis::AnalysisManager& analysis_manager,
36
        structured_control_flow::Sequence& sequence,
37
        long long index
38
    );
39
    bool bubble_down(
40
        builder::StructuredSDFGBuilder& builder,
41
        analysis::AnalysisManager& analysis_manager,
42
        structured_control_flow::Sequence& sequence,
43
        long long index
44
    );
45

46
    bool sort(
47
        builder::StructuredSDFGBuilder& builder,
48
        analysis::AnalysisManager& analysis_manager,
49
        structured_control_flow::Sequence& sequence
50
    );
51

52
    virtual bool run_pass(builder::StructuredSDFGBuilder& builder, analysis::AnalysisManager& analysis_manager) override;
53
};
54

55
} // namespace passes
56
} // 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