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: