clang 22.0.0git
|
A generic, policy-based driver for dataflow analyses. More...
Public Types | |
using | Lattice = LatticeType |
using | Base = DataflowAnalysis<Derived, Lattice, Dir> |
Public Member Functions | |
void | run () |
Lattice | transfer (Lattice In, const IssueFact &) |
Lattice | transfer (Lattice In, const ExpireFact &) |
Lattice | transfer (Lattice In, const OriginFlowFact &) |
Lattice | transfer (Lattice In, const ReturnOfOriginFact &) |
Lattice | transfer (Lattice In, const UseFact &) |
Lattice | transfer (Lattice In, const TestPointFact &) |
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:
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 57 of file Dataflow.h.
using clang::lifetimes::internal::DataflowAnalysis< Derived, LatticeType, Dir >::Base = DataflowAnalysis<Derived, Lattice, Dir> |
Definition at line 60 of file Dataflow.h.
using clang::lifetimes::internal::DataflowAnalysis< Derived, LatticeType, Dir >::Lattice = LatticeType |
Definition at line 59 of file Dataflow.h.
|
inlineexplicitprotected |
Definition at line 80 of file Dataflow.h.
|
inlineprotected |
Definition at line 130 of file Dataflow.h.
|
inlineprotected |
Definition at line 121 of file Dataflow.h.
Referenced by clang::lifetimes::internal::DataflowAnalysis< Derived, Lattice, Dir >::run().
|
inlineprotected |
Definition at line 128 of file Dataflow.h.
Referenced by clang::lifetimes::internal::DataflowAnalysis< Derived, Lattice, Dir >::dump().
|
inlineprotected |
Definition at line 119 of file Dataflow.h.
|
inline |
Definition at line 85 of file Dataflow.h.
|
inline |
Definition at line 181 of file Dataflow.h.
|
inline |
Definition at line 180 of file Dataflow.h.
|
inline |
Definition at line 182 of file Dataflow.h.
|
inline |
Definition at line 183 of file Dataflow.h.
|
inline |
Definition at line 185 of file Dataflow.h.
|
inline |
Definition at line 184 of file Dataflow.h.
|
protected |
Definition at line 78 of file Dataflow.h.