LLVM: include/llvm/ProfileData/Coverage/MCDCTypes.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13#ifndef LLVM_PROFILEDATA_COVERAGE_MCDCTYPES_H
14#define LLVM_PROFILEDATA_COVERAGE_MCDCTYPES_H
15
17#include
18#include
19#include <type_traits>
20#include
21
23
24
27
41
54
55
57 std::variant<std::monostate, DecisionParameters, BranchParameters>;
58
59
60
61
62
63template <class MaybeConstInnerParameters, class MaybeConstMCDCParameters>
64static auto &getParams(MaybeConstMCDCParameters &MCDCParams) {
65 using InnerParameters =
66 typename std::remove_const::type;
67 MaybeConstInnerParameters *Params = std::get_if(&MCDCParams);
68 assert(Params && "InnerParameters unavailable");
69 return *Params;
70}
71
72}
73
74#endif
assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")
int16_t ConditionID
The ID for MCDCBranch.
Definition MCDCTypes.h:25
static auto & getParams(MaybeConstMCDCParameters &MCDCParams)
Check and get underlying params in MCDCParams.
Definition MCDCTypes.h:64
std::variant< std::monostate, DecisionParameters, BranchParameters > Parameters
The type of MC/DC-specific parameters.
Definition MCDCTypes.h:56
std::array< ConditionID, 2 > ConditionIDs
Definition MCDCTypes.h:26
BranchParameters(ConditionID ID, const ConditionIDs &Conds)
Definition MCDCTypes.h:49
ConditionIDs Conds
Definition MCDCTypes.h:46
BranchParameters()=delete
ConditionID ID
IDs used to represent a branch region and other branch regions evaluated based on True and False bran...
Definition MCDCTypes.h:45
unsigned BitmapIdx
Byte Index of Bitmap Coverage Object for a Decision Region.
Definition MCDCTypes.h:30
DecisionParameters(unsigned BitmapIdx, unsigned NumConditions)
Definition MCDCTypes.h:36
uint16_t NumConditions
Number of Conditions used for a Decision Region.
Definition MCDCTypes.h:33
DecisionParameters()=delete