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

daisytuner / sdfglib / 20413239080

21 Dec 2025 05:19PM UTC coverage: 39.342% (+0.01%) from 39.328%
20413239080

Pull #401

github

web-flow
Merge 8df3bd8fd into 3fac560de
Pull Request #401: make stronger assumptions on loop execution

13432 of 44320 branches covered (30.31%)

Branch coverage included in aggregate %.

2 of 2 new or added lines in 1 file covered. (100.0%)

2 existing lines in 2 files now uncovered.

11568 of 19225 relevant lines covered (60.17%)

84.16 hits per line

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

88.89
/src/analysis/dominance_analysis.cpp
1
#include "sdfg/analysis/dominance_analysis.h"
2

3
namespace sdfg {
4
namespace analysis {
5

6
DominanceAnalysis::DominanceAnalysis(StructuredSDFG& sdfg) : Analysis(sdfg) {}
119✔
7

8
void DominanceAnalysis::run(AnalysisManager& analysis_manager) {
119✔
9
    this->dom_tree_.clear();
119✔
10
    this->pdom_tree_.clear();
119✔
11

12
    auto& users_analysis = analysis_manager.get<analysis::Users>();
119✔
13

14
    this->dom_tree_ = graph::dominator_tree(users_analysis.graph_, users_analysis.source_->vertex_);
119!
15
    this->pdom_tree_ = graph::post_dominator_tree(users_analysis.graph_);
119!
16
}
119✔
17

18
bool DominanceAnalysis::dominates(User& user1, User& user2) {
229✔
19
    auto dominator = this->dom_tree_.at(user2.vertex_);
229✔
20
    while (dominator != boost::graph_traits<graph::Graph>::null_vertex()) {
2,009✔
21
        if (dominator == user1.vertex_) {
2,005✔
22
            return true;
225✔
23
        }
24
        dominator = this->dom_tree_.at(dominator);
1,780✔
25
    }
26
    return false;
4✔
27
};
229✔
28

29
bool DominanceAnalysis::post_dominates(User& user1, User& user2) {
16✔
30
    auto dominator = this->pdom_tree_.at(user2.vertex_);
16✔
31
    while (dominator != boost::graph_traits<graph::Graph>::null_vertex()) {
125!
32
        if (dominator == user1.vertex_) {
125✔
33
            return true;
16✔
34
        }
35
        dominator = this->pdom_tree_.at(dominator);
109✔
36
    }
UNCOV
37
    return false;
×
38
};
16✔
39

40
} // namespace analysis
41
} // 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