Skip to content

Commit 4e41b99

Browse files
committed
Introduce BranchCounterPair
1 parent 19edcd3 commit 4e41b99

File tree

1 file changed

+14
-10
lines changed

1 file changed

+14
-10
lines changed

clang/lib/CodeGen/CoverageMappingGen.cpp

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -938,8 +938,12 @@ struct CounterCoverageMappingBuilder
938938
return Counter::getCounter(CounterMap[S]);
939939
}
940940

941-
std::pair<Counter, Counter> getBranchCounterPair(const Stmt *S,
942-
Counter ParentCnt) {
941+
struct BranchCounterPair {
942+
Counter Executed;
943+
Counter Skipped;
944+
};
945+
946+
BranchCounterPair getBranchCounterPair(const Stmt *S, Counter ParentCnt) {
943947
Counter ExecCnt = getRegionCounter(S);
944948
return {ExecCnt, Builder.subtract(ParentCnt, ExecCnt)};
945949
}
@@ -1617,7 +1621,7 @@ struct CounterCoverageMappingBuilder
16171621
: addCounters(ParentCount, BackedgeCount, BC.ContinueCount);
16181622
auto [ExecCount, ExitCount] =
16191623
(llvm::EnableSingleByteCoverage
1620-
? std::make_pair(getRegionCounter(S), Counter::getZero())
1624+
? BranchCounterPair{getRegionCounter(S), Counter::getZero()}
16211625
: getBranchCounterPair(S, CondCount));
16221626
if (!llvm::EnableSingleByteCoverage) {
16231627
assert(ExecCount.isZero() || ExecCount == BodyCount);
@@ -1674,7 +1678,7 @@ struct CounterCoverageMappingBuilder
16741678
: addCounters(BackedgeCount, BC.ContinueCount);
16751679
auto [ExecCount, ExitCount] =
16761680
(llvm::EnableSingleByteCoverage
1677-
? std::make_pair(getRegionCounter(S), Counter::getZero())
1681+
? BranchCounterPair{getRegionCounter(S), Counter::getZero()}
16781682
: getBranchCounterPair(S, CondCount));
16791683
if (!llvm::EnableSingleByteCoverage) {
16801684
assert(ExecCount.isZero() || ExecCount == BodyCount);
@@ -1742,7 +1746,7 @@ struct CounterCoverageMappingBuilder
17421746
IncrementBC.ContinueCount);
17431747
auto [ExecCount, ExitCount] =
17441748
(llvm::EnableSingleByteCoverage
1745-
? std::make_pair(getRegionCounter(S), Counter::getZero())
1749+
? BranchCounterPair{getRegionCounter(S), Counter::getZero()}
17461750
: getBranchCounterPair(S, CondCount));
17471751
if (!llvm::EnableSingleByteCoverage) {
17481752
assert(ExecCount.isZero() || ExecCount == BodyCount);
@@ -2049,9 +2053,9 @@ struct CounterCoverageMappingBuilder
20492053
Counter ParentCount = getRegion().getCounter();
20502054
auto [ThenCount, ElseCount] =
20512055
(llvm::EnableSingleByteCoverage
2052-
? std::make_pair(getRegionCounter(S->getThen()),
2053-
(S->getElse() ? getRegionCounter(S->getElse())
2054-
: Counter::getZero()))
2056+
? BranchCounterPair{getRegionCounter(S->getThen()),
2057+
(S->getElse() ? getRegionCounter(S->getElse())
2058+
: Counter::getZero())}
20552059
: getBranchCounterPair(S, ParentCount));
20562060

20572061
// Emitting a counter for the condition makes it easier to interpret the
@@ -2124,8 +2128,8 @@ struct CounterCoverageMappingBuilder
21242128
Counter ParentCount = getRegion().getCounter();
21252129
auto [TrueCount, FalseCount] =
21262130
(llvm::EnableSingleByteCoverage
2127-
? std::make_pair(getRegionCounter(E->getTrueExpr()),
2128-
getRegionCounter(E->getFalseExpr()))
2131+
? BranchCounterPair{getRegionCounter(E->getTrueExpr()),
2132+
getRegionCounter(E->getFalseExpr())}
21292133
: getBranchCounterPair(E, ParentCount));
21302134
Counter OutCount;
21312135

0 commit comments

Comments
 (0)