LLVM: include/llvm/Transforms/Instrumentation/BlockCoverageInference.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15#ifndef LLVM_TRANSFORMS_INSTRUMENTATION_BLOCKCOVERAGEINFERENCE_H

16#define LLVM_TRANSFORMS_INSTRUMENTATION_BLOCKCOVERAGEINFERENCE_H

17

22

23namespace llvm {

24

28

31

32public:

34

36

37

39

40

41

43

44

46

47

49

50

51

52

53

54

57

58private:

60 bool ForceInstrumentEntry;

61

62

63

65

66

67

69

70

72

73

74

76 bool IsForward, BlockSet &Reachable) const;

77

79 static std::string getBlockNames(BlockSet BBs) {

81 }

82};

83

84}

85

86#endif

This file defines the DenseMap class.

static bool findDependencies(DependenceKind Flavor, const Value *Arg, BasicBlock *StartBB, Instruction *StartInst, SmallPtrSetImpl< Instruction * > &DependingInsts, ProvenanceAnalysis &PA)

Walk up the CFG from StartPos (which is in StartBB) and find local and non-local dependencies on Arg.

This file implements a set that has insertion order iteration characteristics.

ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...

LLVM Basic Block Representation.

void dump(raw_ostream &OS) const

Dump the inference graph.

uint64_t getInstrumentedBlocksHash() const

bool shouldInstrumentBlock(const BasicBlock &BB) const

void viewBlockCoverageGraph(const DenseMap< const BasicBlock *, bool > *Coverage=nullptr) const

View the inferred block coverage as a dot file.

BlockCoverageInference(const Function &F, bool ForceInstrumentEntry)

friend class DotFuncBCIInfo

Definition BlockCoverageInference.h:30

BlockSet getDependencies(const BasicBlock &BB) const

SmallSetVector< const BasicBlock *, 4 > BlockSet

Definition BlockCoverageInference.h:33

iterator end()

Get an iterator to the end of the SetVector.

iterator begin()

Get an iterator to the beginning of the SetVector.

A SetVector that performs no allocations if smaller than a certain size.

This class implements an extremely fast bulk output stream that can only output to a stream.

This is an optimization pass for GlobalISel generic memory operations.