|
clang 24.0.0git
|
A generic, policy-based driver for dataflow analyses. More...
#include "/work/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/Analysis/LifetimeSafety/Dataflow.h"
Public Types | |
| using | Lattice = LatticeType |
| using | Base = DataflowAnalysis<Derived, Lattice, Dir> |
Public Member Functions | |
| void | run () |
| Lattice | transferAtBlockExit (Lattice In) |
| Lattice | transfer (Lattice In, const IssueFact &) |
| Lattice | transfer (Lattice In, const ExpireFact &) |
| Lattice | transfer (Lattice In, const OriginFlowFact &) |
| Lattice | transfer (Lattice In, const MovedOriginFact &) |
| Lattice | transfer (Lattice In, const OriginEscapesFact &) |
| Lattice | transfer (Lattice In, const UseFact &) |
| Lattice | transfer (Lattice In, const TestPointFact &) |
| Lattice | transfer (Lattice In, const InvalidateOriginFact &) |
| Lattice | transfer (Lattice In, const KillOriginFact &) |
Protected Member Functions | |
| DataflowAnalysis (const CFG &Cfg, AnalysisDeclContext &AC, FactManager &FactMgr) | |
| Lattice | getState (ProgramPoint P) const |
| std::optional< Lattice > | getInState (const CFGBlock *B) const |
| Lattice | getOutState (const CFGBlock *B) const |
| void | dump () const |
Protected Attributes | |
| FactManager & | FactMgr |
A generic, policy-based driver for dataflow analyses.
It combines the dataflow runner and the transferer logic into a single class hierarchy.
The derived class is expected to provide:
It may additionally override Lattice transferAtBlockExit(Lattice); to drop state that is not visible outside the block it was computed in.
| Derived | The CRTP derived class that implements the specific analysis. |
| LatticeType | The dataflow lattice used by the analysis. |
| Dir | The direction of the analysis (Forward or Backward). TODO: Maybe use the dataflow framework! The framework might need changes to support the current comparison done at block-entry. |
Definition at line 60 of file Dataflow.h.
| using clang::lifetimes::internal::DataflowAnalysis< Derived, LatticeType, Dir >::Base = DataflowAnalysis<Derived, Lattice, Dir> |
Definition at line 63 of file Dataflow.h.
| using clang::lifetimes::internal::DataflowAnalysis< Derived, LatticeType, Dir >::Lattice = LatticeType |
Definition at line 62 of file Dataflow.h.
|
inlineexplicitprotected |
Definition at line 83 of file Dataflow.h.
|
inlineprotected |
Definition at line 137 of file Dataflow.h.
|
inlineprotected |
Definition at line 128 of file Dataflow.h.
Referenced by clang::lifetimes::internal::DataflowAnalysis< Derived, Lattice, Dir >::run().
|
inlineprotected |
Definition at line 135 of file Dataflow.h.
Referenced by clang::lifetimes::internal::DataflowAnalysis< Derived, Lattice, Dir >::dump().
|
inlineprotected |
Definition at line 124 of file Dataflow.h.
|
inline |
Definition at line 88 of file Dataflow.h.
|
inline |
Definition at line 196 of file Dataflow.h.
|
inline |
Definition at line 202 of file Dataflow.h.
|
inline |
Definition at line 195 of file Dataflow.h.
|
inline |
Definition at line 203 of file Dataflow.h.
|
inline |
Definition at line 198 of file Dataflow.h.
|
inline |
Definition at line 199 of file Dataflow.h.
|
inline |
Definition at line 197 of file Dataflow.h.
|
inline |
Definition at line 201 of file Dataflow.h.
|
inline |
Definition at line 200 of file Dataflow.h.
|
inline |
Definition at line 193 of file Dataflow.h.
|
protected |
Definition at line 81 of file Dataflow.h.