15 #ifndef LLVM_CLANG_ANALYSIS_ANALYSES_CFGREACHABILITYANALYSIS_H 16 #define LLVM_CLANG_ANALYSIS_ANALYSES_CFGREACHABILITYANALYSIS_H 18 #include "llvm/ADT/BitVector.h" 19 #include "llvm/ADT/DenseMap.h" 32 using ReachableSet = llvm::BitVector;
33 using ReachableMap = llvm::DenseMap<unsigned, ReachableSet>;
35 ReachableSet analyzed;
36 ReachableMap reachable;
45 void mapReachability(
const CFGBlock *Dst);
50 #endif // LLVM_CLANG_ANALYSIS_ANALYSES_CFGREACHABILITYANALYSIS_H
Represents a single basic block in a source-level CFG.
Represents a source-level, intra-procedural CFG that represents the control-flow of a Stmt...
bool isReachable(const CFGBlock *Src, const CFGBlock *Dst)
Returns true if the block 'Dst' can be reached from block 'Src'.
CFGReverseBlockReachabilityAnalysis(const CFG &cfg)
Dataflow Directional Tag Classes.