clang 22.0.0git
|
Represents the dataflow lattice for loan propagation. More...
Public Member Functions | |
LoanPropagationLattice (const OriginLoanMap &S) | |
LoanPropagationLattice ()=default | |
bool | operator== (const LoanPropagationLattice &Other) const |
bool | operator!= (const LoanPropagationLattice &Other) const |
void | dump (llvm::raw_ostream &OS) const |
Public Attributes | |
OriginLoanMap | Origins = OriginLoanMap(nullptr) |
The map from an origin to the set of loans it contains. | |
Represents the dataflow lattice for loan propagation.
This lattice tracks which loans each origin may hold at a given program point.The lattice has a finite height: An origin's loan set is bounded by the total number of loans in the function. TODO(opt): To reduce the lattice size, propagate origins of declarations, not expressions, because expressions are not visible across blocks.
Definition at line 812 of file LifetimeSafety.cpp.
|
inlineexplicit |
Definition at line 816 of file LifetimeSafety.cpp.
|
default |
|
inline |
Definition at line 826 of file LifetimeSafety.cpp.
References Origins.
|
inline |
Definition at line 822 of file LifetimeSafety.cpp.
References clang::Other.
|
inline |
Definition at line 819 of file LifetimeSafety.cpp.
References Origins, and clang::Other.
OriginLoanMap clang::lifetimes::internal::LoanPropagationLattice::Origins = OriginLoanMap(nullptr) |
The map from an origin to the set of loans it contains.
Definition at line 814 of file LifetimeSafety.cpp.
Referenced by dump(), clang::lifetimes::internal::LoanPropagationAnalysis::join(), and operator==().