LLVM API Documentation

Public Member Functions | Public Attributes | Friends
llvm::detail::PassModel< IRUnitT, AnalysisManagerT, PassT, false > Struct Template Reference

Specialization of PassModel for passes that accept an analyis manager. More...

#include <PassManager.h>

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

List of all members.

Public Member Functions

 PassModel (PassT Pass)
 PassModel (const PassModel &Arg)
 PassModel (PassModel &&Arg)
PassModeloperator= (PassModel RHS)
PreservedAnalyses run (IRUnitT IR, AnalysisManagerT *AM) override
 The polymorphic API which runs the pass over a given IR entity.
StringRef name () override
 Polymorphic method to access the name of a pass.

Public Attributes

PassT Pass

Friends

void swap (PassModel &LHS, PassModel &RHS)

Detailed Description

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

Specialization of PassModel for passes that accept an analyis manager.

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


Constructor & Destructor Documentation

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

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

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

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

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

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


Member Function Documentation

template<typename IRUnitT , typename AnalysisManagerT , typename PassT >
StringRef llvm::detail::PassModel< IRUnitT, AnalysisManagerT, PassT, false >::name ( ) [inline, override, virtual]

Polymorphic method to access the name of a pass.

Implements llvm::detail::PassConcept< IRUnitT, AnalysisManagerT >.

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

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

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

References std::swap().

template<typename IRUnitT , typename AnalysisManagerT , typename PassT >
PreservedAnalyses llvm::detail::PassModel< IRUnitT, AnalysisManagerT, PassT, false >::run ( IRUnitT  IR,
AnalysisManagerT *  AM 
) [inline, override, virtual]

The polymorphic API which runs the pass over a given IR entity.

Note that actual pass object can omit the analysis manager argument if desired. Also that the analysis manager may be null if there is no analysis manager in the pass pipeline.

Implements llvm::detail::PassConcept< IRUnitT, AnalysisManagerT >.

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


Friends And Related Function Documentation

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

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


Member Data Documentation

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

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


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