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