13#ifndef LLVM_PROFILEDATA_COVERAGE_MCDCTYPES_H
14#define LLVM_PROFILEDATA_COVERAGE_MCDCTYPES_H
56 std::variant<std::monostate, DecisionParameters, BranchParameters>;
62template <
class MaybeConstInnerParameters,
class MaybeConstMCDCParameters>
63static auto &
getParams(MaybeConstMCDCParameters &MCDCParams) {
64 using InnerParameters =
65 typename std::remove_const<MaybeConstInnerParameters>::type;
66 MaybeConstInnerParameters *Params = std::get_if<InnerParameters>(&MCDCParams);
67 assert(Params &&
"InnerParameters unavailable");
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
static auto & getParams(MaybeConstMCDCParameters &MCDCParams)
Check and get underlying params in MCDCParams.
std::variant< std::monostate, DecisionParameters, BranchParameters > Parameters
The type of MC/DC-specific parameters.
int16_t ConditionID
The ID for MCDCBranch.
std::array< ConditionID, 2 > ConditionIDs
BranchParameters(ConditionID ID, const ConditionIDs &Conds)
BranchParameters()=delete
ConditionID ID
IDs used to represent a branch region and other branch regions evaluated based on True and False bran...
unsigned BitmapIdx
Byte Index of Bitmap Coverage Object for a Decision Region.
DecisionParameters(unsigned BitmapIdx, unsigned NumConditions)
uint16_t NumConditions
Number of Conditions used for a Decision Region.
DecisionParameters()=delete