clang: include/clang/Analysis/Analyses/CFGReachabilityAnalysis.h Source File (original) (raw)

Go to the documentation of this file.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15#ifndef LLVM_CLANG_ANALYSIS_ANALYSES_CFGREACHABILITYANALYSIS_H

16#define LLVM_CLANG_ANALYSIS_ANALYSES_CFGREACHABILITYANALYSIS_H

17

18#include "llvm/ADT/BitVector.h"

19#include "llvm/ADT/DenseMap.h"

20

22

23class CFG;

24class CFGBlock;

25

26

27

28

29

30

32 using ReachableSet = llvm::BitVector;

33 using ReachableMap = llvm::DenseMap<unsigned, ReachableSet>;

34

35 ReachableSet analyzed;

36 ReachableMap reachable;

37

38public:

40

41

43

44private:

45 void mapReachability(const CFGBlock *Dst);

46};

47

48}

49

50#endif

Represents a single basic block in a source-level CFG.

bool isReachable(const CFGBlock *Src, const CFGBlock *Dst)

Returns true if the block 'Dst' can be reached from block 'Src'.

Represents a source-level, intra-procedural CFG that represents the control-flow of a Stmt.

The JSON file list parser is used to communicate input to InstallAPI.