LLVM 24.0.0git
llvm::detail::AnalysisPassModel< IRUnitT, PassT, InvalidatorT, ExtraArgTs > Class Template Referencefinal

Wrapper to model the analysis pass concept. More...

#include "llvm/IR/PassManagerInternal.h"

Inheritance diagram for llvm::detail::AnalysisPassModel< IRUnitT, PassT, InvalidatorT, ExtraArgTs >:
[legend]

Static Public Member Functions

static AnalysisPassConceptT::unique_ptr create (PassT &&Pass)

Additional Inherited Members

Public Types inherited from llvm::detail::AnalysisPassConcept< IRUnitT, InvalidatorT, ExtraArgTs... >
using ResultPtrT
using AnalysisManagerT
using unique_ptr
Public Member Functions inherited from llvm::detail::AnalysisPassConcept< IRUnitT, InvalidatorT, ExtraArgTs... >
 AnalysisPassConcept (const AnalysisPassConcept &)=delete
AnalysisPassConceptoperator= (const AnalysisPassConcept &)=delete
ResultPtrT run (IRUnitT &IR, AnalysisManagerT &AM, ExtraArgTs &&...ExtraArgs)
 Method to run this analysis over a unit of IR.
StringRef name () const
 Get the name of the pass.
Protected Member Functions inherited from llvm::detail::AnalysisPassConcept< IRUnitT, InvalidatorT, ExtraArgTs... >
 AnalysisPassConcept (StringRef Name, DestroyTy Destroy, RunTy Run)

Detailed Description

template<typename IRUnitT, typename PassT, typename InvalidatorT, typename... ExtraArgTs>
class 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>& as arguments and produce an object which can be wrapped in a AnalysisResultModel.

Definition at line 314 of file PassManagerInternal.h.

Member Function Documentation

◆ create()

template<typename IRUnitT, typename PassT, typename InvalidatorT, typename... ExtraArgTs>
AnalysisPassConceptT::unique_ptr llvm::detail::AnalysisPassModel< IRUnitT, PassT, InvalidatorT, ExtraArgTs >::create ( PassT && Pass)
inlinestatic

Definition at line 341 of file PassManagerInternal.h.


The documentation for this class was generated from the following file: