LLVM API Documentation

Public Types | Public Member Functions | Public Attributes | Friends
llvm::detail::AnalysisPassModel< IRUnitT, AnalysisManagerT, PassT, true > Struct Template Reference

Specialization of AnalysisPassModel which passes an AnalysisManager to PassT's run method. More...

#include <PassManager.h>

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

List of all members.

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, AnalysisManagerT *AM) override
 The model delegates to the PassT::run method.

Public Attributes

PassT Pass

Friends

void swap (AnalysisPassModel &LHS, AnalysisPassModel &RHS)

Detailed Description

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

Specialization of AnalysisPassModel which passes an AnalysisManager to PassT's run method.

Definition at line 394 of file IR/PassManager.h.


Member Typedef Documentation

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

Definition at line 412 of file IR/PassManager.h.


Constructor & Destructor Documentation

template<typename IRUnitT , typename AnalysisManagerT , typename PassT >
llvm::detail::AnalysisPassModel< IRUnitT, AnalysisManagerT, PassT, true >::AnalysisPassModel ( PassT  Pass) [inline, explicit]

Definition at line 396 of file IR/PassManager.h.

template<typename IRUnitT , typename AnalysisManagerT , typename PassT >
llvm::detail::AnalysisPassModel< IRUnitT, AnalysisManagerT, PassT, true >::AnalysisPassModel ( const AnalysisPassModel< IRUnitT, AnalysisManagerT, PassT, true > &  Arg) [inline]

Definition at line 399 of file IR/PassManager.h.

template<typename IRUnitT , typename AnalysisManagerT , typename PassT >
llvm::detail::AnalysisPassModel< IRUnitT, AnalysisManagerT, PassT, true >::AnalysisPassModel ( AnalysisPassModel< IRUnitT, AnalysisManagerT, PassT, true > &&  Arg) [inline]

Definition at line 400 of file IR/PassManager.h.


Member Function Documentation

template<typename IRUnitT , typename AnalysisManagerT , typename PassT >
AnalysisPassModel& llvm::detail::AnalysisPassModel< IRUnitT, AnalysisManagerT, PassT, true >::operator= ( AnalysisPassModel< IRUnitT, AnalysisManagerT, PassT, true RHS) [inline]

Definition at line 405 of file IR/PassManager.h.

References std::swap().

template<typename IRUnitT , typename AnalysisManagerT , typename PassT >
std::unique_ptr<AnalysisResultConcept<IRUnitT> > llvm::detail::AnalysisPassModel< IRUnitT, AnalysisManagerT, PassT, true >::run ( IRUnitT  IR,
AnalysisManagerT *  AM 
) [inline, override]

The model delegates to the PassT::run method.

The return is wrapped in an AnalysisResultModel.

Definition at line 418 of file IR/PassManager.h.


Friends And Related Function Documentation

template<typename IRUnitT , typename AnalysisManagerT , typename PassT >
void swap ( AnalysisPassModel< IRUnitT, AnalysisManagerT, PassT, true > &  LHS,
AnalysisPassModel< IRUnitT, AnalysisManagerT, PassT, true > &  RHS 
) [friend]

Definition at line 401 of file IR/PassManager.h.


Member Data Documentation

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

Definition at line 422 of file IR/PassManager.h.


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