ΒΆllvm::Expected<std::vector<llvm::Optional<
TypeErasedDataflowAnalysisState>>>
runTypeErasedDataflowAnalysis(
const clang::dataflow::ControlFlowContext&
CFCtx,
clang::dataflow::TypeErasedDataflowAnalysis&
Analysis,
const clang::dataflow::Environment& InitEnv,
std::function<void(
const Stmt*,
const TypeErasedDataflowAnalysisState&)>
PostVisitStmt = nullptr)
llvm::Expected<std::vector<llvm::Optional<
TypeErasedDataflowAnalysisState>>>
runTypeErasedDataflowAnalysis(
const clang::dataflow::ControlFlowContext&
CFCtx,
clang::dataflow::TypeErasedDataflowAnalysis&
Analysis,
const clang::dataflow::Environment& InitEnv,
std::function<void(
const Stmt*,
const TypeErasedDataflowAnalysisState&)>
PostVisitStmt = nullptr)
Description
Performs dataflow analysis and returns a mapping from basic block IDs to dataflow analysis states that model the respective basic blocks. Indices of the returned vector correspond to basic block IDs. Returns an error if the dataflow analysis cannot be performed successfully. Otherwise, calls `PostVisitStmt` on each statement with the final analysis results at that program point.
Declared at: clang/include/clang/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.h:142
Parameters
- const clang::dataflow::ControlFlowContext& CFCtx
- clang::dataflow::TypeErasedDataflowAnalysis& Analysis
- const clang::dataflow::Environment& InitEnv
- std::function<void( const Stmt*, const TypeErasedDataflowAnalysisState&)> PostVisitStmt = nullptr