|
static int | clang::dataflow::blockIndexInPredecessor (const CFGBlock &Pred, const CFGBlock &Block) |
| Returns the index of Block in the successors of Pred .
|
|
static bool | clang::dataflow::isLoopHead (const CFGBlock &B) |
|
static TypeErasedDataflowAnalysisState | clang::dataflow::computeBlockInputState (const CFGBlock &Block, AnalysisContext &AC) |
| Computes the input state for a given basic block by joining the output states of its predecessors.
|
|
void | clang::dataflow::builtinTransferStatement (const CFGStmt &Elt, TypeErasedDataflowAnalysisState &InputState, AnalysisContext &AC) |
| Built-in transfer function for CFGStmt .
|
|
void | clang::dataflow::builtinTransferInitializer (const CFGInitializer &Elt, TypeErasedDataflowAnalysisState &InputState) |
| Built-in transfer function for CFGInitializer .
|
|
void | clang::dataflow::builtinTransfer (const CFGElement &Elt, TypeErasedDataflowAnalysisState &State, AnalysisContext &AC) |
|
TypeErasedDataflowAnalysisState | clang::dataflow::transferCFGBlock (const CFGBlock &Block, AnalysisContext &AC, std::function< void(const CFGElement &, const TypeErasedDataflowAnalysisState &)> PostVisitCFG=nullptr) |
| Transfers State by evaluating each element in the Block based on the AC.Analysis specified.
|
|
TypeErasedDataflowAnalysisState | clang::dataflow::transferBlock (const ControlFlowContext &CFCtx, llvm::ArrayRef< std::optional< TypeErasedDataflowAnalysisState > > BlockStates, const CFGBlock &Block, const Environment &InitEnv, TypeErasedDataflowAnalysis &Analysis, std::function< void(const CFGElement &, const TypeErasedDataflowAnalysisState &)> PostVisitCFG=nullptr) |
| Transfers the state of a basic block by evaluating each of its elements in the context of Analysis and the states of its predecessors that are available in BlockStates .
|
|
llvm::Expected< std::vector< std::optional< TypeErasedDataflowAnalysisState > > > | clang::dataflow::runTypeErasedDataflowAnalysis (const ControlFlowContext &CFCtx, TypeErasedDataflowAnalysis &Analysis, const Environment &InitEnv, std::function< void(const CFGElement &, const TypeErasedDataflowAnalysisState &)> PostVisitCFG=nullptr) |
| Performs dataflow analysis and returns a mapping from basic block IDs to dataflow analysis states that model the respective basic blocks.
|
|