Skip to content

Commit 75f0d40

Browse files
committed
CoverageMapping: Move getParams<InnerParamTy>(MCDCParams) into mcdc::
Fixup for #81227
1 parent 3fe5a0c commit 75f0d40

File tree

3 files changed

+18
-14
lines changed

3 files changed

+18
-14
lines changed

clang/lib/CodeGen/CoverageMappingGen.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -190,8 +190,7 @@ class SourceMappingRegion {
190190
}
191191

192192
const auto &getMCDCDecisionParams() const {
193-
return CounterMappingRegion::getParams<const mcdc::DecisionParameters>(
194-
MCDCParams);
193+
return mcdc::getParams<const mcdc::DecisionParameters>(MCDCParams);
195194
}
196195

197196
const mcdc::Parameters &getMCDCParams() const { return MCDCParams; }

llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -258,22 +258,12 @@ struct CounterMappingRegion {
258258
/// Parameters used for Modified Condition/Decision Coverage
259259
mcdc::Parameters MCDCParams;
260260

261-
template <class MaybeConstInnerParameters, class MaybeConstMCDCParameters>
262-
static auto &getParams(MaybeConstMCDCParameters &MCDCParams) {
263-
using InnerParameters =
264-
typename std::remove_const<MaybeConstInnerParameters>::type;
265-
MaybeConstInnerParameters *Params =
266-
std::get_if<InnerParameters>(&MCDCParams);
267-
assert(Params && "InnerParameters unavailable");
268-
return *Params;
269-
}
270-
271261
const auto &getDecisionParams() const {
272-
return getParams<const mcdc::DecisionParameters>(MCDCParams);
262+
return mcdc::getParams<const mcdc::DecisionParameters>(MCDCParams);
273263
}
274264

275265
const auto &getBranchParams() const {
276-
return getParams<const mcdc::BranchParameters>(MCDCParams);
266+
return mcdc::getParams<const mcdc::BranchParameters>(MCDCParams);
277267
}
278268

279269
unsigned FileID = 0;

llvm/include/llvm/ProfileData/Coverage/MCDCTypes.h

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
#define LLVM_PROFILEDATA_COVERAGE_MCDCTYPES_H
1515

1616
#include <array>
17+
#include <cassert>
18+
#include <type_traits>
1719
#include <variant>
1820

1921
namespace llvm::coverage::mcdc {
@@ -49,6 +51,19 @@ struct BranchParameters {
4951
using Parameters =
5052
std::variant<std::monostate, DecisionParameters, BranchParameters>;
5153

54+
/// Check and get underlying params in MCDCParams.
55+
/// \tparam MaybeConstInnerParameters Type to get. May be const.
56+
/// \tparam MaybeConstMCDCParameters Expected inferred. May be const.
57+
/// \param MCDCParams May be const.
58+
template <class MaybeConstInnerParameters, class MaybeConstMCDCParameters>
59+
static auto &getParams(MaybeConstMCDCParameters &MCDCParams) {
60+
using InnerParameters =
61+
typename std::remove_const<MaybeConstInnerParameters>::type;
62+
MaybeConstInnerParameters *Params = std::get_if<InnerParameters>(&MCDCParams);
63+
assert(Params && "InnerParameters unavailable");
64+
return *Params;
65+
}
66+
5267
} // namespace llvm::coverage::mcdc
5368

5469
#endif // LLVM_PROFILEDATA_COVERAGE_MCDCTYPES_H

0 commit comments

Comments
 (0)