LLVM: llvm::detail::AnalysisPassModel< IRUnitT, PassT, InvalidatorT, ExtraArgTs (original) (raw)
Wrapper to model the analysis pass concept. More...
#include "[llvm/IR/PassManagerInternal.h](PassManagerInternal%5F8h%5Fsource.html)"
| Public Types | |
|---|---|
| using | ResultModelT |
| Public Member Functions | |
|---|---|
| AnalysisPassModel (PassT Pass) | |
| AnalysisPassModel (const AnalysisPassModel &Arg) | |
| AnalysisPassModel (AnalysisPassModel &&Arg) | |
| AnalysisPassModel & | operator= (AnalysisPassModel RHS) |
| std::unique_ptr< AnalysisResultConcept< IRUnitT, InvalidatorT > > | run (IRUnitT &IR, AnalysisManager< IRUnitT, ExtraArgTs... > &AM, ExtraArgTs... ExtraArgs) override |
| The model delegates to the PassT::run method. | |
| StringRef | name () const override |
| The model delegates to a static PassT::name method. | |
| Public Member Functions inherited from llvm::detail::AnalysisPassConcept< IRUnitT, InvalidatorT, ExtraArgTs... > | |
| virtual | ~AnalysisPassConcept ()=default |
| Public Attributes | |
|---|---|
| PassT | Pass |
template<typename IRUnitT, typename PassT, typename InvalidatorT, typename... ExtraArgTs>
struct llvm::detail::AnalysisPassModel< IRUnitT, PassT, InvalidatorT, ExtraArgTs >
Wrapper to model the analysis pass concept.
Can wrap any type which implements a suitable run method. The method must accept an IRUnitT& and an [AnalysisManager<IRUnitT>](classllvm%5F1%5F1AnalysisManager.html "A container for analyses that lazily runs them and caches their results.")& as arguments and produce an object which can be wrapped in a [AnalysisResultModel](structllvm%5F1%5F1detail%5F1%5F1AnalysisResultModel.html "Wrapper to model the analysis result concept.").
Definition at line 287 of file PassManagerInternal.h.
◆ ResultModelT
template<typename IRUnitT, typename PassT, typename InvalidatorT, typename... ExtraArgTs>
template<typename IRUnitT, typename PassT, typename InvalidatorT, typename... ExtraArgTs>
◆ AnalysisPassModel() [2/3]
template<typename IRUnitT, typename PassT, typename InvalidatorT, typename... ExtraArgTs>
◆ AnalysisPassModel() [3/3]
template<typename IRUnitT, typename PassT, typename InvalidatorT, typename... ExtraArgTs>
◆ name()
template<typename IRUnitT, typename PassT, typename InvalidatorT, typename... ExtraArgTs>
◆ operator=()
template<typename IRUnitT, typename PassT, typename InvalidatorT, typename... ExtraArgTs>
◆ run()
template<typename IRUnitT, typename PassT, typename InvalidatorT, typename... ExtraArgTs>
◆ swap
template<typename IRUnitT, typename PassT, typename InvalidatorT, typename... ExtraArgTs>
◆ Pass
template<typename IRUnitT, typename PassT, typename InvalidatorT, typename... ExtraArgTs>
The documentation for this struct was generated from the following file:
- include/llvm/IR/PassManagerInternal.h