clang API Documentation
DataflowValues. Container class to store dataflow values for a CFG. More...
#include <DataflowValues.h>
DataflowValues. Container class to store dataflow values for a CFG.
Definition at line 41 of file DataflowValues.h.
typedef ValueTypes::AnalysisDataTy clang::DataflowValues< ValueTypes, _AnalysisDirTag >::AnalysisDataTy |
Definition at line 49 of file DataflowValues.h.
typedef _AnalysisDirTag clang::DataflowValues< ValueTypes, _AnalysisDirTag >::AnalysisDirTag |
Definition at line 50 of file DataflowValues.h.
typedef llvm::DenseMap<const CFGBlock*, ValTy> clang::DataflowValues< ValueTypes, _AnalysisDirTag >::BlockDataMapTy |
Definition at line 52 of file DataflowValues.h.
typedef llvm::DenseMap<ProgramPoint, ValTy> clang::DataflowValues< ValueTypes, _AnalysisDirTag >::EdgeDataMapTy |
Definition at line 51 of file DataflowValues.h.
typedef llvm::DenseMap<const Stmt*, ValTy> clang::DataflowValues< ValueTypes, _AnalysisDirTag >::StmtDataMapTy |
Definition at line 53 of file DataflowValues.h.
typedef ValueTypes::ValTy clang::DataflowValues< ValueTypes, _AnalysisDirTag >::ValTy |
Definition at line 48 of file DataflowValues.h.
clang::DataflowValues< ValueTypes, _AnalysisDirTag >::DataflowValues | ( | ) | [inline] |
Definition at line 77 of file DataflowValues.h.
clang::DataflowValues< ValueTypes, _AnalysisDirTag >::~DataflowValues | ( | ) | [inline] |
Definition at line 78 of file DataflowValues.h.
References clang::DataflowValues< ValueTypes, _AnalysisDirTag >::StmtDataMap.
AnalysisDataTy& clang::DataflowValues< ValueTypes, _AnalysisDirTag >::getAnalysisData | ( | ) | [inline] |
getAnalysisData - Retrieves the meta data associated with a dataflow analysis for analyzing a particular CFG. This is typically consumed by transfer function code (via the solver). This can also be used by subclasses to interpret the dataflow values.
Definition at line 157 of file DataflowValues.h.
References clang::DataflowValues< ValueTypes, _AnalysisDirTag >::AnalysisData.
const AnalysisDataTy& clang::DataflowValues< ValueTypes, _AnalysisDirTag >::getAnalysisData | ( | ) | const [inline] |
Definition at line 158 of file DataflowValues.h.
References clang::DataflowValues< ValueTypes, _AnalysisDirTag >::AnalysisData.
ValTy& clang::DataflowValues< ValueTypes, _AnalysisDirTag >::getBlockData | ( | const CFGBlock * | B | ) | [inline] |
getBlockData - Retrieves the dataflow values associated with a specified CFGBlock. If the dataflow analysis is a forward analysis, this data is associated with the END of the block. If the analysis is a backwards analysis, it is associated with the ENTRY of the block.
Definition at line 101 of file DataflowValues.h.
References clang::DataflowValues< ValueTypes, _AnalysisDirTag >::BlockDataMap.
Referenced by clang::DataflowValues< ValueTypes, _AnalysisDirTag >::getBlockData().
const ValTy& clang::DataflowValues< ValueTypes, _AnalysisDirTag >::getBlockData | ( | const CFGBlock * | B | ) | const [inline] |
Definition at line 107 of file DataflowValues.h.
References clang::DataflowValues< ValueTypes, _AnalysisDirTag >::getBlockData().
BlockDataMapTy& clang::DataflowValues< ValueTypes, _AnalysisDirTag >::getBlockDataMap | ( | ) | [inline] |
getBlockDataMap - Retrieves the internal map between CFGBlocks and dataflow values. If the dataflow analysis operates in the forward direction, the values correspond to the dataflow values at the start of the block. Otherwise, for a backward analysis, the values correpsond to the dataflow values at the end of the block.
Definition at line 139 of file DataflowValues.h.
References clang::DataflowValues< ValueTypes, _AnalysisDirTag >::BlockDataMap.
const BlockDataMapTy& clang::DataflowValues< ValueTypes, _AnalysisDirTag >::getBlockDataMap | ( | ) | const [inline] |
Definition at line 140 of file DataflowValues.h.
References clang::DataflowValues< ValueTypes, _AnalysisDirTag >::BlockDataMap.
ValTy& clang::DataflowValues< ValueTypes, _AnalysisDirTag >::getEdgeData | ( | const BlockEdge & | E | ) | [inline] |
getEdgeData - Retrieves the dataflow values associated with a CFG edge.
Definition at line 87 of file DataflowValues.h.
References clang::DataflowValues< ValueTypes, _AnalysisDirTag >::EdgeDataMap.
Referenced by clang::DataflowValues< ValueTypes, _AnalysisDirTag >::getEdgeData().
const ValTy& clang::DataflowValues< ValueTypes, _AnalysisDirTag >::getEdgeData | ( | const BlockEdge & | E | ) | const [inline] |
Definition at line 93 of file DataflowValues.h.
References clang::DataflowValues< ValueTypes, _AnalysisDirTag >::getEdgeData().
EdgeDataMapTy& clang::DataflowValues< ValueTypes, _AnalysisDirTag >::getEdgeDataMap | ( | ) | [inline] |
getEdgeDataMap - Retrieves the internal map between CFG edges and dataflow values. Usually used by a dataflow solver to compute values for blocks.
Definition at line 131 of file DataflowValues.h.
References clang::DataflowValues< ValueTypes, _AnalysisDirTag >::EdgeDataMap.
const EdgeDataMapTy& clang::DataflowValues< ValueTypes, _AnalysisDirTag >::getEdgeDataMap | ( | ) | const [inline] |
Definition at line 132 of file DataflowValues.h.
References clang::DataflowValues< ValueTypes, _AnalysisDirTag >::EdgeDataMap.
ValTy& clang::DataflowValues< ValueTypes, _AnalysisDirTag >::getStmtData | ( | const Stmt * | S | ) | [inline] |
getStmtData - Retrieves the dataflow values associated with a specified Stmt. If the dataflow analysis is a forward analysis, this data corresponds to the point immediately before a Stmt. If the analysis is a backwards analysis, it is associated with the point after a Stmt. This data is only computed for block-level expressions, and only when requested when the analysis is executed.
Definition at line 117 of file DataflowValues.h.
References clang::DataflowValues< ValueTypes, _AnalysisDirTag >::StmtDataMap.
Referenced by clang::DataflowValues< ValueTypes, _AnalysisDirTag >::getStmtData().
const ValTy& clang::DataflowValues< ValueTypes, _AnalysisDirTag >::getStmtData | ( | const Stmt * | S | ) | const [inline] |
Definition at line 124 of file DataflowValues.h.
References clang::DataflowValues< ValueTypes, _AnalysisDirTag >::getStmtData().
StmtDataMapTy& clang::DataflowValues< ValueTypes, _AnalysisDirTag >::getStmtDataMap | ( | ) | [inline] |
getStmtDataMap - Retrieves the internal map between Stmts and dataflow values.
Definition at line 144 of file DataflowValues.h.
References clang::DataflowValues< ValueTypes, _AnalysisDirTag >::StmtDataMap.
Referenced by clang::DataflowValues< ValueTypes, _AnalysisDirTag >::getStmtDataMap().
const StmtDataMapTy& clang::DataflowValues< ValueTypes, _AnalysisDirTag >::getStmtDataMap | ( | ) | const [inline] |
Definition at line 149 of file DataflowValues.h.
References clang::DataflowValues< ValueTypes, _AnalysisDirTag >::getStmtDataMap().
void clang::DataflowValues< ValueTypes, _AnalysisDirTag >::InitializeValues | ( | const CFG & | cfg | ) | [inline] |
InitializeValues - Invoked by the solver to initialize state needed for dataflow analysis. This method is usually specialized by subclasses.
Definition at line 82 of file DataflowValues.h.
bool clang::DataflowValues< ValueTypes, _AnalysisDirTag >::isBackwardAnalysis | ( | ) | [inline] |
isBackwardAnalysis - Returns true if the dataflow values are computed from a backward analysis.
Definition at line 66 of file DataflowValues.h.
References clang::DataflowValues< ValueTypes, _AnalysisDirTag >::isForwardAnalysis().
bool clang::DataflowValues< ValueTypes, _AnalysisDirTag >::isForwardAnalysis | ( | ) | [inline] |
isForwardAnalysis - Returns true if the dataflow values are computed from a forward analysis.
Definition at line 62 of file DataflowValues.h.
References clang::DataflowValues< ValueTypes, _AnalysisDirTag >::isForwardAnalysis().
Referenced by clang::DataflowValues< ValueTypes, _AnalysisDirTag >::isBackwardAnalysis(), and clang::DataflowValues< ValueTypes, _AnalysisDirTag >::isForwardAnalysis().
AnalysisDataTy clang::DataflowValues< ValueTypes, _AnalysisDirTag >::AnalysisData [protected] |
Definition at line 168 of file DataflowValues.h.
Referenced by clang::DataflowValues< ValueTypes, _AnalysisDirTag >::getAnalysisData().
BlockDataMapTy clang::DataflowValues< ValueTypes, _AnalysisDirTag >::BlockDataMap [protected] |
Definition at line 166 of file DataflowValues.h.
Referenced by clang::DataflowValues< ValueTypes, _AnalysisDirTag >::getBlockData(), and clang::DataflowValues< ValueTypes, _AnalysisDirTag >::getBlockDataMap().
EdgeDataMapTy clang::DataflowValues< ValueTypes, _AnalysisDirTag >::EdgeDataMap [protected] |
Definition at line 165 of file DataflowValues.h.
Referenced by clang::DataflowValues< ValueTypes, _AnalysisDirTag >::getEdgeData(), and clang::DataflowValues< ValueTypes, _AnalysisDirTag >::getEdgeDataMap().
StmtDataMapTy* clang::DataflowValues< ValueTypes, _AnalysisDirTag >::StmtDataMap [protected] |