|
LLVM 24.0.0git
|
Abstract concept of an analysis result. More...
#include "llvm/IR/PassManagerInternal.h"
Classes | |
| struct | Deleter |
Public Types | |
| using | unique_ptr = std::unique_ptr<AnalysisResultConcept, Deleter> |
Public Member Functions | |
| bool | invalidate (IRUnitT &IR, const PreservedAnalyses &PA, InvalidatorT &Inv) |
| Method to try and mark a result as invalid. | |
Protected Member Functions | |
| AnalysisResultConcept (DestroyTy Destroy) | |
Protected Attributes | |
| DestroyTy | Destroy |
| InvalidateTy | Invalidate = nullptr |
Abstract concept of an analysis result.
This concept is parameterized over the IR unit that this result pertains to.
Definition at line 153 of file PassManagerInternal.h.
| using llvm::detail::AnalysisResultConcept< IRUnitT, InvalidatorT >::unique_ptr = std::unique_ptr<AnalysisResultConcept, Deleter> |
Definition at line 164 of file PassManagerInternal.h.
|
inlineprotected |
Definition at line 170 of file PassManagerInternal.h.
Referenced by llvm::detail::AnalysisResultConcept< IRUnitT, InvalidatorT >::Deleter::operator()().
|
inline |
Method to try and mark a result as invalid.
When the outer analysis manager detects a change in some underlying unit of the IR, it will call this method on all of the results cached.
PA is a set of preserved analyses which can be used to avoid invalidation because the pass which changed the underlying IR took care to update or preserve the analysis result in some way.
Inv is typically a AnalysisManager::Invalidator object that can be used by a particular analysis result to discover if other analyses results are also invalidated in the event that this result depends on them. See the documentation in the AnalysisManager for more details.
Definition at line 188 of file PassManagerInternal.h.
|
protected |
Definition at line 167 of file PassManagerInternal.h.
|
protected |