LLVM  3.7.0
Public Types | Public Member Functions | Public Attributes | Friends | List of all members
llvm::detail::AnalysisPassModel< IRUnitT, PassT, false > Struct Template Reference

Specialization of AnalysisPassModel which does not pass an AnalysisManager to PassT's run method. More...

#include <PassManagerInternal.h>

Inheritance diagram for llvm::detail::AnalysisPassModel< IRUnitT, PassT, false >:
[legend]
Collaboration diagram for llvm::detail::AnalysisPassModel< IRUnitT, PassT, false >:
[legend]

Public Types

typedef AnalysisResultModel
< IRUnitT, PassT, typename
PassT::Result > 
ResultModelT
 

Public Member Functions

 AnalysisPassModel (PassT Pass)
 
 AnalysisPassModel (const AnalysisPassModel &Arg)
 
 AnalysisPassModel (AnalysisPassModel &&Arg)
 
AnalysisPassModeloperator= (AnalysisPassModel RHS)
 
std::unique_ptr
< AnalysisResultConcept
< IRUnitT > > 
run (IRUnitT &IR, AnalysisManager< IRUnitT > *) override
 The model delegates to the PassT::run method. More...
 
StringRef name () override
 The model delegates to a static PassT::name method. More...
 
- Public Member Functions inherited from llvm::detail::AnalysisPassConcept< IRUnitT >
virtual ~AnalysisPassConcept ()
 

Public Attributes

PassT Pass
 

Friends

void swap (AnalysisPassModel &LHS, AnalysisPassModel &RHS)
 

Detailed Description

template<typename IRUnitT, typename PassT>
struct llvm::detail::AnalysisPassModel< IRUnitT, PassT, false >

Specialization of AnalysisPassModel which does not pass an AnalysisManager to PassT's run method.

Definition at line 312 of file PassManagerInternal.h.

Member Typedef Documentation

template<typename IRUnitT , typename PassT >
typedef AnalysisResultModel<IRUnitT, PassT, typename PassT::Result> llvm::detail::AnalysisPassModel< IRUnitT, PassT, false >::ResultModelT

Definition at line 329 of file PassManagerInternal.h.

Constructor & Destructor Documentation

template<typename IRUnitT , typename PassT >
llvm::detail::AnalysisPassModel< IRUnitT, PassT, false >::AnalysisPassModel ( PassT  Pass)
inlineexplicit

Definition at line 313 of file PassManagerInternal.h.

template<typename IRUnitT , typename PassT >
llvm::detail::AnalysisPassModel< IRUnitT, PassT, false >::AnalysisPassModel ( const AnalysisPassModel< IRUnitT, PassT, false > &  Arg)
inline

Definition at line 316 of file PassManagerInternal.h.

template<typename IRUnitT , typename PassT >
llvm::detail::AnalysisPassModel< IRUnitT, PassT, false >::AnalysisPassModel ( AnalysisPassModel< IRUnitT, PassT, false > &&  Arg)
inline

Definition at line 317 of file PassManagerInternal.h.

Member Function Documentation

template<typename IRUnitT , typename PassT >
StringRef llvm::detail::AnalysisPassModel< IRUnitT, PassT, false >::name ( )
inlineoverridevirtual

The model delegates to a static PassT::name method.

The returned string ref must point to constant immutable data!

Implements llvm::detail::AnalysisPassConcept< IRUnitT >.

Definition at line 342 of file PassManagerInternal.h.

References name.

template<typename IRUnitT , typename PassT >
AnalysisPassModel& llvm::detail::AnalysisPassModel< IRUnitT, PassT, false >::operator= ( AnalysisPassModel< IRUnitT, PassT, false RHS)
inline

Definition at line 322 of file PassManagerInternal.h.

References std::swap().

template<typename IRUnitT , typename PassT >
std::unique_ptr<AnalysisResultConcept<IRUnitT> > llvm::detail::AnalysisPassModel< IRUnitT, PassT, false >::run ( IRUnitT &  IR,
AnalysisManager< IRUnitT > *   
)
inlineoverridevirtual

The model delegates to the PassT::run method.

The return is wrapped in an AnalysisResultModel.

Implements llvm::detail::AnalysisPassConcept< IRUnitT >.

Definition at line 335 of file PassManagerInternal.h.

Friends And Related Function Documentation

template<typename IRUnitT , typename PassT >
void swap ( AnalysisPassModel< IRUnitT, PassT, false > &  LHS,
AnalysisPassModel< IRUnitT, PassT, false > &  RHS 
)
friend

Definition at line 318 of file PassManagerInternal.h.

Member Data Documentation

template<typename IRUnitT , typename PassT >
PassT llvm::detail::AnalysisPassModel< IRUnitT, PassT, false >::Pass

Definition at line 344 of file PassManagerInternal.h.


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